Today I want to share with 2 articles from a guy who knows a thing or two about SLOs - Alex Ewerlöf.
- Heterogeneous SLI vs Homogeneous SLI in which he argues on type of events used for SLI and how to reason about them
- SLO: Elastic vs Datadog vs Grafana in which he compares SLO offerings from 3 major observability providers
#slo#observability
- Heterogeneous SLI vs Homogeneous SLI in which he argues on type of events used for SLI and how to reason about them
- SLO: Elastic vs Datadog vs Grafana in which he compares SLO offerings from 3 major observability providers
#slo#observability
Alexewerlof
Heterogeneous SLI vs Homogeneous SLI
Cons and pros of each approach and when to use which
👍4
When using ElasticSearch for logs, you most likely create indices periodically as well as have a job to rotate them logs.
However, ES can also be used as a database, and in that case one should be more careful with the data.
Here is a neat how-to article on changing the field type in the index mapping without downtime.
#elasticsearch
However, ES can also be used as a database, and in that case one should be more careful with the data.
Here is a neat how-to article on changing the field type in the index mapping without downtime.
#elasticsearch
Linuxhint
Elasticsearch Reindex Change Field Type
Working with databases is fun, but it can be challenging as well, especially when dealing with already-existing data. Thankfully, there are powerful features from Elasticsearch that we can use. And this article will show one of the said features, the Elasticsearch…
👍5
An interesting article was shared in our chat yesterday.
This is a summary of the analysis of AI's influence on code quality. Some excerpts:
> The data strongly correlates “using Copilot” with “mistake code” being pushed to the repository more frequently.
> The 17% decrease in “move” operations when compared to 2021 hints at
the built-in trait of AI assistants to discourage code reuse. Instead of
refactoring and working to DRY (“Don’t Repeat Yourself”) code, they offer a one-keystroke templation to repeat existing code.
> Especially next to the decrease in “moved code,” the 11% increase in the proportion of duplicated code confirms the drop in overall code quality in 2023 when compared to 2021.
And my favorite one:
> In the absence of a CTO or VP of Engineering who actively schedules time to reduce “tech debt,” “copy/pasted code” often never gets consolidated into the appropriate component libraries.
Although, I saw this even before AI.
#ai #programming
This is a summary of the analysis of AI's influence on code quality. Some excerpts:
> The data strongly correlates “using Copilot” with “mistake code” being pushed to the repository more frequently.
> The 17% decrease in “move” operations when compared to 2021 hints at
the built-in trait of AI assistants to discourage code reuse. Instead of
refactoring and working to DRY (“Don’t Repeat Yourself”) code, they offer a one-keystroke templation to repeat existing code.
> Especially next to the decrease in “moved code,” the 11% increase in the proportion of duplicated code confirms the drop in overall code quality in 2023 when compared to 2021.
And my favorite one:
> In the absence of a CTO or VP of Engineering who actively schedules time to reduce “tech debt,” “copy/pasted code” often never gets consolidated into the appropriate component libraries.
Although, I saw this even before AI.
#ai #programming
Arc Talent Career Blog
Humans do it better: GitClear analyzes 153M lines of code, finds risks of AI - Arc Talent Career Blog
GitClear's study on AI code impact: code churn, duplication, and quality trends in programming.
👍9🤔2
Kubernetes Pi Cluster release v1.9.
This might be interesting for you, if you run Kubernetes clusters on Raspberry Pies. But what's also interesting about this particular release is that they have stated the reasons for a migration from ArgoCD to FluxCD for cluster bootstrap.
(saving you a click)
Main reasons for this migration: FluxCd native support of Helm.
- ArgoCD does not use Helm to deploy applications, instead helm template command is used to generate the manifest files to be applied to the cluster. The engine used by Argo CD for applying manifests to the cluster, is not always fully compatible with all Helm possible configurations (hooks, lookups, random password) causing out-of-sync situations.
- FluxCD uses helm command to deploy Helm Charts, so Helm charts installed in this way support all the Helm-functions. Also, it eases the debugging process, because helm CLI tool can be used to see installed packages and configuration applied.
- Dependencies Definition support and improve performance in Bootstrap process.
- ArgoCD does not support application dependencies definition, only synchronization waves can be defined, so applications can be allocated to one of the synchronization waves, so some kind of bootstrapping order can be specified. The problem with this approach is that one synchronization wave cannot start till the previous one has ended successfully, making the full process take longer times.
- FluxCD support the definition of dependencies between applications so the cluster can be bootstrapped in order. Each application start its deployment as soon as all its dependencies are already synchronized, improving the time required to make a full cluster deployment.
- Avoid definition of extra-configuration in the manifest files to fix never-ending out-of-sync ArgoCD issues. Due to how Argo CD drift assessment logic certain not mandatory fields or server assigned fields are marked as out-of-synch, and they have to be configured to be ignored during the sync process.
Cluster bootstrap process using Ansible playbook has been updated to use FluxCD instead of ArgoCD
#kubernetes #argo #flux
This might be interesting for you, if you run Kubernetes clusters on Raspberry Pies. But what's also interesting about this particular release is that they have stated the reasons for a migration from ArgoCD to FluxCD for cluster bootstrap.
(saving you a click)
Main reasons for this migration: FluxCd native support of Helm.
- ArgoCD does not use Helm to deploy applications, instead helm template command is used to generate the manifest files to be applied to the cluster. The engine used by Argo CD for applying manifests to the cluster, is not always fully compatible with all Helm possible configurations (hooks, lookups, random password) causing out-of-sync situations.
- FluxCD uses helm command to deploy Helm Charts, so Helm charts installed in this way support all the Helm-functions. Also, it eases the debugging process, because helm CLI tool can be used to see installed packages and configuration applied.
- Dependencies Definition support and improve performance in Bootstrap process.
- ArgoCD does not support application dependencies definition, only synchronization waves can be defined, so applications can be allocated to one of the synchronization waves, so some kind of bootstrapping order can be specified. The problem with this approach is that one synchronization wave cannot start till the previous one has ended successfully, making the full process take longer times.
- FluxCD support the definition of dependencies between applications so the cluster can be bootstrapped in order. Each application start its deployment as soon as all its dependencies are already synchronized, improving the time required to make a full cluster deployment.
- Avoid definition of extra-configuration in the manifest files to fix never-ending out-of-sync ArgoCD issues. Due to how Argo CD drift assessment logic certain not mandatory fields or server assigned fields are marked as out-of-synch, and they have to be configured to be ignored during the sync process.
Cluster bootstrap process using Ansible playbook has been updated to use FluxCD instead of ArgoCD
#kubernetes #argo #flux
Pi Kubernetes Cluster
Kubernetes Pi Cluster relase v1.9
PiCluster News - announcing release v1.9
👍9🤔5
Another amazing article from the chat - 6 Reasons You Don't Need an SRE Team.
This quote from there should be carved in stone and put upon every technical manager's desk:
There is also a complimentary article - Oncall: An Equal-Opportunity Waste of Time which is Ok, but I enjoyed the first one much more!.
#sre #culture
This quote from there should be carved in stone and put upon every technical manager's desk:
reliability is everyone's job.
If you, or engineering leads who work in your org don't think so, then hiring a separate team to care about it isn't going to help.
There is also a complimentary article - Oncall: An Equal-Opportunity Waste of Time which is Ok, but I enjoyed the first one much more!.
#sre #culture
USENIX
Oncall: An Equal-Opportunity Waste of Time
👍11🤔1
For today’s Donations Monday I would like to remind you of a standing jar of my German tutor.
https://send.monobank.ua/jar/8jQSHW57kP
He’s also a volunteer and he uses this jar to address ongoing requests from the combatants.
These things may not be as favorable to the media compared to some other equipment, but it doesn’t make it not important.
#donations #Ukraine
https://send.monobank.ua/jar/8jQSHW57kP
He’s also a volunteer and he uses this jar to address ongoing requests from the combatants.
These things may not be as favorable to the media compared to some other equipment, but it doesn’t make it not important.
#donations #Ukraine
👍4
Today I stumbled upon an interesting project: Withmarble helps you to learn computer science topics using interactive flash cards.
It also looks like it uses some LLM under the hood to generate certain answers, but this is just a guess.
In any case, the project is very raw: it has only a couple of cases, it has bugs on both mobile and desktop, etc. For example, if you opened a flash card, there is no way to close it and go back to the list.
Still, I think it's a nice idea to teach folks computer science. Maybe, some of you could take this idea and execute it better :D
#programming
It also looks like it uses some LLM under the hood to generate certain answers, but this is just a guess.
In any case, the project is very raw: it has only a couple of cases, it has bugs on both mobile and desktop, etc. For example, if you opened a flash card, there is no way to close it and go back to the list.
Still, I think it's a nice idea to teach folks computer science. Maybe, some of you could take this idea and execute it better :D
#programming
👍5
Kubernetes on a High Traffic Environment: 3 Key Takeaways is a nice brief article on concrete things one would benefit from in a high load environment. These things are:
- Node cache DNS
- Peak EWMA algorithm for load balancing
- Multiple Ingress Controllers for different income streams (if this is your case).
This article also contains links to other articles, where you can learn more about each thing separately.
#kubernetes
- Node cache DNS
- Peak EWMA algorithm for load balancing
- Multiple Ingress Controllers for different income streams (if this is your case).
This article also contains links to other articles, where you can learn more about each thing separately.
#kubernetes
Medium
Kubernetes on a High Traffic Environment: 3 Key Takeaways
Things to take care when tuning Kubernetes for high traffic.
🔥9
There is a slight disagreement between those who believe that AI is here to save the world from software developers with a job, and those who believe that this is just an advanced autocomplete.
This article provides some arguments to the latter point.
For me, first and foremost, it is interesting insight on the ways how people test new AI models.
P.S. If you are from the optimistic tribe, make sure to check out Den's video (in Ukrainian) about Cursor - an AI-powered editor.
#ai #programming
This article provides some arguments to the latter point.
For me, first and foremost, it is interesting insight on the ways how people test new AI models.
P.S. If you are from the optimistic tribe, make sure to check out Den's video (in Ukrainian) about Cursor - an AI-powered editor.
#ai #programming
Substack
LLMs don’t do formal reasoning - and that is a HUGE problem
Important new study from Apple
👍7❤2
A new issue of the CatOps Digest is here!
https://newsletter.catops.dev/p/catops-digest-2024-10-20
I've missed a week because I was traveling, so this one came a bit later that usual.
#digest #newsletter
https://newsletter.catops.dev/p/catops-digest-2024-10-20
I've missed a week because I was traveling, so this one came a bit later that usual.
#digest #newsletter
newsletter.catops.dev
CatOps Digest 2024-10-20
What was on CatOps in the last couple of weeks...
A friend of mine raises funds for a van for her relative that serves in AFU right now.
The fundraiser is in Privat Bank, which doesn’t accept non-Ukrainian cards for whatever reason. However there’s also PayPal.
Privat for Ukrainian cards: https://next.privat24.ua/send/dntp4
PayPal (worldwide): [email protected]
If you’re gonna use PayPal, please, put a comment that this is for a van, so it’s easier for her to distinguish between donations.
#donations #Ukraine
The fundraiser is in Privat Bank, which doesn’t accept non-Ukrainian cards for whatever reason. However there’s also PayPal.
Privat for Ukrainian cards: https://next.privat24.ua/send/dntp4
PayPal (worldwide): [email protected]
If you’re gonna use PayPal, please, put a comment that this is for a van, so it’s easier for her to distinguish between donations.
#donations #Ukraine
👍2
Many people know about resources in Kubernetes, because every second article talks about the importance of setting them correctly. Many people know that resources in Kubernetes are later translated into Linux cgroups, because this is a common interview question.
Yet, how many people know, how exactly are resource requests and limits are translated into cgroups?
#kubernetes #linux
Yet, how many people know, how exactly are resource requests and limits are translated into cgroups?
#kubernetes #linux
martinheinz.dev
Cgroups - Deep Dive into Resource Management in Kubernetes
<p>
There's a lot of <i>"magic"</i> that happens behind the scenes to make whole Kubernetes work. One of those is resource management and resource allocati...
There's a lot of <i>"magic"</i> that happens behind the scenes to make whole Kubernetes work. One of those is resource management and resource allocati...
👍21
A great article about Kubernetes routing.
Yes, things described at the beginning are basic, but then the article explains, how things work under the hood using IPTABLES as an example. So, this article is great both for those who just learn K8s, and those who work with it, but want to dig deeper.
BTW, do you remember all the chains that IPTABLES have? :D
#kubernetes #networking
Yes, things described at the beginning are basic, but then the article explains, how things work under the hood using IPTABLES as an example. So, this article is great both for those who just learn K8s, and those who work with it, but want to dig deeper.
BTW, do you remember all the chains that IPTABLES have? :D
#kubernetes #networking
LearnKube
Kubernetes networking: service, kube-proxy, load balancing
Master Kubernetes networking with Services and load balancing. Learn how traffic flows within clusters and from external sources.
👍9
Who said that there’s no development in the configuration management field :D
Mantis is a new tool to manage you infrastructure (and Kubernetes resources are in the roadmap). It uses Cue lang for configuration.
It’s not production ready! Even according to the author. I just want to share it as an example of:
- Cfg Mgmt development
- The fact that people are still trying to find a middle ground between DSL and Turing-complete languages
#cfg_mgmt
Mantis is a new tool to manage you infrastructure (and Kubernetes resources are in the roadmap). It uses Cue lang for configuration.
It’s not production ready! Even according to the author. I just want to share it as an example of:
- Cfg Mgmt development
- The fact that people are still trying to find a middle ground between DSL and Turing-complete languages
#cfg_mgmt
GitHub
GitHub - augur-ai/mantis: Mantis is a unified infrastructure as code framework that replaces Terraform and Helm
Mantis is a unified infrastructure as code framework that replaces Terraform and Helm - augur-ai/mantis
❤1🥴1
If you want to improve your CLI & scripting game, make sure to check out this book bundle by O’Reilly!
#books
#books
Humble Bundle
Humble Tech Book Bundle: Shells and Scripting for Seasoned Admins by O'Reilly
Learn shelling, scripting, and more with this library for seasoned admins by O’Reilly. Pay what you want & support charity!
❤2👌1
A story of debugging OOMs of a Go application in Kubernetes.
Now, I do not agree with the author of this article that the fact that Go is not aware of memory limits is a problem. In my opinion, it works as expected: you don’t want to have environment-dependent runtimes.
However, this article provides some examples of how one can manage Go’s memory utilization and tune garbage collection a little bit. Plus, it has links to articles that describe Go’s garbage collector in more detail, which is also cool.
#go #programming #kubernetes
Now, I do not agree with the author of this article that the fact that Go is not aware of memory limits is a problem. In my opinion, it works as expected: you don’t want to have environment-dependent runtimes.
However, this article provides some examples of how one can manage Go’s memory utilization and tune garbage collection a little bit. Plus, it has links to articles that describe Go’s garbage collector in more detail, which is also cool.
#go #programming #kubernetes
Medium
When Kubernetes and Go don’t work well together
Go is not aware of the limits set for its container, causing some issues not easy to track. This is a story about how I stumbled into one…
👍6❤1
8 ways to speed up your Ansible playbooks is a neat article with some simple tips and tricks for your Ansible operations.
Sure, configuration management is not such a hot topic as it used to be, but it’s still out there and it’s still relevant.
#ansible #cfgmgmt
Sure, configuration management is not such a hot topic as it used to be, but it’s still out there and it’s still relevant.
#ansible #cfgmgmt
Redhat
8 ways to speed up your Ansible playbooks
Ansible is a simple and powerful open source automation tool that can streamline many of your IT infrastructure operations. You can automate simple tasks lik...
👍12
For today's Donations Monday I want to share with you a fundraiser for 1000 FPV-drones from our friends at DOU:
https://dou.ua/forums/topic/50669/
The page has all the information. Also, they have a raffle there. The information is in Ukrainian. So, here's also a direct link to their Monobank Jar:
https://send.monobank.ua/jar/22kincSfqv
#donations #Ukraine
https://dou.ua/forums/topic/50669/
The page has all the information. Also, they have a raffle there. The information is in Ukrainian. So, here's also a direct link to their Monobank Jar:
https://send.monobank.ua/jar/22kincSfqv
#donations #Ukraine
👍3
A hot take was shared in our chat yesterday: Gitpod wrote an article on why they moved away from Kubernetes.
While the title sounds clickbaity, this is actually a good article that explains technical considerations for a very particular use case. It also has links to some Kubernetes' functionality that you may find useful for your workloads, such as dynamic resource allocation.
Where did they migrate, you may ask? Well, I can spoil the article for you a little bit: they have built their own orchestrator. Now, do I think this is a good solution? In their very specific use case, it may be. Is it a good solution in general? In my opinion, hell no!
P.S. I'd like to invite Gitpod folks to the FOSDEM conference. For example, in 2023 there was a talk on how to checkpoint and restore your containers in Kubernetes. According to their article, this feature, or rather a lack of it, was a major pain for them.
#kubernetes
While the title sounds clickbaity, this is actually a good article that explains technical considerations for a very particular use case. It also has links to some Kubernetes' functionality that you may find useful for your workloads, such as dynamic resource allocation.
Where did they migrate, you may ask? Well, I can spoil the article for you a little bit: they have built their own orchestrator. Now, do I think this is a good solution? In their very specific use case, it may be. Is it a good solution in general? In my opinion, hell no!
P.S. I'd like to invite Gitpod folks to the FOSDEM conference. For example, in 2023 there was a talk on how to checkpoint and restore your containers in Kubernetes. According to their article, this feature, or rather a lack of it, was a major pain for them.
#kubernetes
Ona
We’re leaving Kubernetes | Ona (formerly Gitpod) - AI software engineers
We are moving away from Kubernetes for cloud development environments after 6 years of experience at scale. Learn about Gitpod Flex and our new approach to development infrastructure for developers.
🔥6❤1
KiND is a popular tool for local development in Kubernetes. But what if the thing you're developing is not published anywhere yet?
Sure, you can use tools like Tilt or Skaffold, but they add additional knowledge overhead.
However, you can also load a Docker image into a KiND node. Of course, this won't be such a streamline developer experience as with the tools mentioned above, but it will make the job done with very little additional configuration.
#kubernetes
Sure, you can use tools like Tilt or Skaffold, but they add additional knowledge overhead.
However, you can also load a Docker image into a KiND node. Of course, this won't be such a streamline developer experience as with the tools mentioned above, but it will make the job done with very little additional configuration.
#kubernetes
Iximiuz
KiND - How I Wasted a Day Loading Local Docker Images
How to load local docker image into kind cluster node. Why loaded docker image may not work. How Kubernetes imagePullPolicy work.
👍4🔥1