A brief overview of the modern Observability architectures, as well as some ideas on how to consolidate and optimize your Observability stack.
via Sysadmin Tools
#observability
For today’s Donations Monday let’s help Pavlo Bondarenko to close this week’s goal of 461252,5 UAH for drones.
- Pavlo’s requisites
- Naya’s requisites
#donations #Ukraine
Dead simple method of profiling your Go applications.
tl;dr:
- Import the github.com/pkg/profile
package
- Add defer profile.Start().Stop()
into your main
function for CPU profile
- Add defer profile.Start(profile.MemProfile).Stop()
for memory profile
#programming #golang
Today's Donations Monday is for the joint fundraiser by Come Back Alive and Nova Posta - Protect the Sky.
The goal is to raise $8.9 million for Air Defense communications and mobile command posts.
#donations #Ukraine
Friday is a good day to listen to a new episode of our CatOps voice chat!
This time we spoke about investments as well some cultural differences when working in the international teams. Plus, one of the members of our community exposed a scheme of how ruskies are trying to hire people in Ukraine.
The episode is in Ukrainian and available on:
- YouTube
- Substack
- Spotify
- Apple Podcasts
- Google Podcasts
#podcast #говорилка
I personally don’t know this publisher. Yet, the titles of some books look interesting. For example, there is a book about FinOps as well as “Kubernetes for Jobseekers” (lol).
This is a Cloud OPS and Development bundle by BPB.
If you know this publisher or have any feedback on these books, feel free to share your impressions in our chat (chat is in Ukrainian).
As usual, you can pay different amount to unlock different number of books. This bundle is active for 20 more days.
#books
Wanna share a video with you about WTF is Platform Engineering.
https://youtu.be/ghzsBm8vOms
I would say it's good enough. Mostly because the reality is usually more complex than the theory. However, if you were wondering WTF is Platform Engineering, this is a good start!
(and no, platform engineer is a specialization, not profession!)
#platform_eng
Handling concurrency is hard, even if it was made simple.
deckarep/the-go-1-19-atomic-wrappers-and-why-to-use-them-ae14c1177ad8">The Go 1.19 Atomic Wrappers and why to use them explores the sync/atomic package which was introduced in Go 1.19 and use cases for it.
I haven't used this one personally, but we have sync.Map
in one of the projects to get the results from goroutines in one place.
#go #programming
A system design exercise for on-premise infrastructure. The article is called DevOps Big Picture (On-Premises). However, it only explores a single example with a limited scope and a lot of assumptions. Yet, you still can use this diagram as a baseline in system design interviews, for example.
Unfortunately, data layer is completely missing there. I mean, data layer is the most difficult one, so a lot of people are omitting it on purpose. I cannot blame them for that. So, you can have a mental exercise and think about how would you manage the persistent data in the proposed infrastructure 😉
#design #kubernetes
This week Pavlo and Naya have a goal to raise ₴221500 for batteries, backpacks, Starlink cables, and other items.
- Pavlo’s requisites
- Naya’s requisites
#donations #Ukraine
VictoriaMetrics have released their first iteration of the log platform!
Here’s the info:
The first release of VictoriaLogs!
Release page on GitHub
Documentation
Docker demos
Helm Chart
Here you can find a Benchmark for VictoriaLogs
Since I’m not a user, it’s hard for me to provide feedback right away. Yet, if you use it or want to try and want to provide any feedback to the maintainers, do not hesitate to submit bug reports and feature requests on GitHub.
#victoriametrics #logs #observability
For this Donations Monday, I want to share with you a well-known Serhiy Prytula Charity Foundation.
#donations #Ukraine
HashiCorp posted an article in their blog on why platform teams should run as product teams.
If you're familiar with the topic of Platform Engineering, likely there is not that much new information for you. However, I think it's important to repeat those points, because the more people see them and start acting this way, in the better shape the industry will be.
Also, this article contains links to other articles and case studies that clarify some aspects. I like it when an article is a so-called "crossroad". So, you can continue exploring a topic once you've done with the original piece.
P.S. I cannot come up with a short tag for the platform engineering related topics. So, I would appreciate it if suggest something in the chat.
#platfom_engineering #hashicorp
For today's Donations Monday I want to remind you about the Kolo charity foundation, which has a goal to raise 10M UAH for Shark UAV.
Direct link to donate.
#donations #Ukraine
lingxiankong/best-practice-of-using-argo-workflows-3162708f1bd5">Some good practices for Argo Workflows. I'm not super familiar with this tool, so I'd just list the points here:
- Use common templates
- Limit parallelism to control cluster resources
- Avoid nested loops
- Collect metrics from your workflows
- Use lifecycle hooks
- Control long-running workflows or break down long workflows into separate smaller ones
- Integrate with Argo Events
#argocd #cicd #kubernetes
A way to add existing Helm applications into ArgoCD.
This approach could be helpful if you migrate things to Argo or when you pre-setup specific things into a cluster with Helm but still want to manage those with Argo afterwards.
#kubernetes #argocd #helm
A very cool bundle today! DevOps 2023 bundle by O’Reilly.
As usual, you can pay starting from ~€23 to unlock the whole bundle. And is has some good books like “Implementing SLOs” and “Database Reliability Engineering”.
#books #bundle
Today’s CatOps Digest:
https://newsletter.catops.dev/p/catops-digest-2023-07-23?sd=pf
#digest #newsletter
It may happen that you have a catch-all repository to store some work that may or may not be important. Notice, it's not quite a monorepo pattern, rather a single junkrepo. Like, I saw devops
, utils
, tools
, and similar repositories in quite a few companies.
But what if some things from those repos are actually important, and you want to have a dedicated home for those things? Here's a guide by GitHub that explains how to separate things from a repository while saving the Git history.
This guide is created by GitHub, but it should work with any Git repository. Although, I only tested it with GitHub.
Enjoy!
#git #github
Today's Donations Monday request comes from our friends' channel - Ukrainian DevOps Digest.
They are raising funds for a retransmitter for the 28th brigade.
Here's the link to the Monobak jar: https://send.monobank.ua/jar/2cEiqdkjQ3
Pro-tip: if you copy the Monobank jar link into your mobile browser, you should be able to select Apple / Android Pay as a payment method and thus pay from a different card. It doesn't work all the time, but this is a nice workaround in case you don't have a Monobank or another Ukrainian card.
#donations #Ukraine
Another article from our subscribers.
My experience migrating my infrastructure from Terraform to Pulumi is a story of the IaC migration to… well, Pulumi. A nice thing about this article is that it has some concrete examples of code as well as recommendations out of experience.
Yet, the final thoughts are somewhat questionable. For example, the claim that Pulumi is faster without any measurements.
BTW, I also wrote an article about Pulumi 3 years ago. It’s obviously outdated today but it’s interesting to observe how the project evolves.
P.S. If you want to share an article or just have a casual conversation, do not hesitate to join our chat (chat is in Ukrainian).
#pulumi #terraform #iac
UA Responders is a foundation that raises funds for tactical medicine, protective gear, and field hospitals.
And some drones, of course.
#donations #Ukraine
Git is simply too hard.
I have mixed feelings about this article. On one hand, Git is too hard indeed. I personally google certain Git operations from time to time.
On another hand, this article doesn't provide any alternatives or ideas on how to fix this situation. Also, a lot of Git complexity comes from its distributed nature. Distributed systems are much harder to architect compared to centralized ones. Although, currently, we're mostly using Git as a centralized system nowadays.
So, I'll just add this well-known comics here.
#git
A story from VS Code developers about how they made bracket pair colorization 10,000x faster.
I like such articles, which touch topics of raw computer science. I think such stories help us to reconnect with the beauty of our craft.
Although, it won't make me switch to VS Code from NeoVim :D
#computer_science #microsoft
A new episode of our voice chat chat (in Ukrainian)!
This time we spoke about job related topics beyond DevOps. Specifically:
- How often does it make sense to change a job. And what does “often” even mean in this context.
- Does it make sense to grow professionally beyond the Senior level or it can be the final stop in one’s career.
You can listen to this episode on:
- YouTube
- Substack
- Spotify
- Apple Podcasts
- Google Podcasts
BTW, since I moved the audio hosting to Substack, it makes sense to subscribe there to get new episodes right after they’re published.
#voice #career #job #ukrainian
Kelsey Hightower said that he’s retiring from Google.
So, I would like to share with an episode of the ReadME podcast with Kelsey.
ReadME is a community podcast by GitHub. So, you may also find other interesting episodes there.
#podcast #kubernetes #github
A new episode of the CatOps Digest:
https://newsletter.catops.dev/p/catops-digest-2023-06-25
#digest #newsletter
Maksym Vlasov - the co-author of this channel - has written an article about how to create Terraform lockfiles for hundreds of root modules.
You can read it in:
- My blog. This is the first guest article, BTW!
- Or you can find it on Substack (don't forget to subscribe there!)
Also, the live stream with Maksym and Terraform-master - Anton Babenko - is live right now!
#terraform #hashicorp #oc
OpenAI shares their story of running large Kubernetes clusters.
Their setup is quite unique since they mostly running research jobs. Still, there are couple of takeaways for running large-size clusters. For example, reducing the number of DaemonSets and the number of the node count fluctuations.
Also, as usual the most interesting part is the “Unsolved problems” paragraph.
#kubernetes