I think I have posted something like this before, but anyway...
Here's a two part story of how to optimize memory usage of a Go application just by reshuffling fields in structs.
Part one provides some theory on this matter, while part two has some benchmarking results.
I'm not trying to say that you should run and reshuffle fields in all your Go structs right now. Especially, if you're satisfied with the memory consumption of your app - sometimes it makes sense to optimize for readability or just store pointers in structs.
However, these articles describe some details of how memory allocation works in Go, which you may find interesting.
#programming #go
Here's a two part story of how to optimize memory usage of a Go application just by reshuffling fields in structs.
Part one provides some theory on this matter, while part two has some benchmarking results.
I'm not trying to say that you should run and reshuffle fields in all your Go structs right now. Especially, if you're satisfied with the memory consumption of your app - sometimes it makes sense to optimize for readability or just store pointers in structs.
However, these articles describe some details of how memory allocation works in Go, which you may find interesting.
#programming #go
🐳4❤3👍2🔥1
Backstage is not an Internal Developer Portal, but a framework to build one.
This article highlights an important difference between the two. Basically, you won’t get an IDP out of the box with Backstage, you need to put some time and effort to make it useful and this fact leaves people, who thought otherwise, frustrated.
Also, it’s interesting how the author draws a parallel with Kubernetes. I would argue that Kubernetes is also a framework to build a platform and not an out of the box solution.
#backstage #idp
This article highlights an important difference between the two. Basically, you won’t get an IDP out of the box with Backstage, you need to put some time and effort to make it useful and this fact leaves people, who thought otherwise, frustrated.
Also, it’s interesting how the author draws a parallel with Kubernetes. I would argue that Kubernetes is also a framework to build a platform and not an out of the box solution.
#backstage #idp
Substack
What if I told you that Backstage is NOT an internal developer portal?
And why you need to rethink how you see Backstage
👍8👎1
A new issue of the CatOps Newsletter is here!
Also, we have a great CyberWeek deal: you can subscribe to CatOps on Telegram, WhatsApp, or Substack for free instead of $0! Don’t miss it!
#digest #newsletter
Also, we have a great CyberWeek deal: you can subscribe to CatOps on Telegram, WhatsApp, or Substack for free instead of $0! Don’t miss it!
#digest #newsletter
newsletter.catops.dev
CatOps Digest 2023-11-26
What was on CatOps in the last two weeks…
😁9👍3
You likely know that this weekend more than 70 Shahed drones were shot down.
It’s crucial to support Air Defense and Come Back Alive together with Nova Posta do just that!
Donate to strengthen the Air Defense. Currently, 84% of the total goal is reached.
#donations #Ukraine
It’s crucial to support Air Defense and Come Back Alive together with Nova Posta do just that!
Donate to strengthen the Air Defense. Currently, 84% of the total goal is reached.
#donations #Ukraine
❤13
Aqua Security warn people about the danger of the supply chain attacks using Kubernetes Secrets.
We all know this story:
However! There’s another viewpoint on Kubernetes Secrets - Plain Kubernetes Secrets are fine. This is the thing I wanted to share with you today.
The main gist of this article is that you cannot really tell if something is secure or not without a threat modeling. Also, that the auto-unsealing feature in Vault kinda negates some if its security features.
Apparently, there’s a discussion about this article in a form or a podcast but I haven’t checked it out yet.
Also, if you need some guides for threat modeling, OWASP website is a good place to start.
So, do your due diligence, do threat modeling, and have a nice day!
#security #kubernetes
We all know this story:
base64 is not an encryption, Kubernetes Secrets may have a ton of sensitive information, etc. The article just provides some data from Aqua’s recent research.However! There’s another viewpoint on Kubernetes Secrets - Plain Kubernetes Secrets are fine. This is the thing I wanted to share with you today.
The main gist of this article is that you cannot really tell if something is secure or not without a threat modeling. Also, that the auto-unsealing feature in Vault kinda negates some if its security features.
Apparently, there’s a discussion about this article in a form or a podcast but I haven’t checked it out yet.
Also, if you need some guides for threat modeling, OWASP website is a good place to start.
So, do your due diligence, do threat modeling, and have a nice day!
#security #kubernetes
Aqua
The Ticking Supply Chain Attack Bomb of Exposed Kubernetes Secrets
Aqua Nautilus researchers found exposed Kubernetes secrets that pose a critical threat of supply chain attack to hundreds of organizations and OSS.
👍4
A new episode of the CatOps Voice Chat is here!
This time we have talked about mentoring other people and some other topics.
You can find it on:
- YouTube
- Substack
- Spotify
- Apple Podcasts
- Google Podcasts
#voice #mentorship
This time we have talked about mentoring other people and some other topics.
You can find it on:
- YouTube
- Substack
- Spotify
- Apple Podcasts
- Google Podcasts
#voice #mentorship
YouTube
Говорилка CatOps: Менторство
У цьому випуску говоримо про менторство, сперечаємось про те, що таке DevOps i шукаємо волонтерів перекладати документацію Kubernetes українською.
Матеріали, що згадуються у випуску:
- https://www.youtube.com/watch?v=TmLnX7opisQ
- https://maestrolearni…
Матеріали, що згадуються у випуску:
- https://www.youtube.com/watch?v=TmLnX7opisQ
- https://maestrolearni…
🔥8❤1
A new fundraiser by Come Back Alive to strengthen Ukrainian snipers.
Unfortunately, the page is only available in Ukrainian as for now. Yet, all the modern browsers have the translate function these days.
The goal is 220M UAH.
#donations #Ukraine
Unfortunately, the page is only available in Ukrainian as for now. Yet, all the modern browsers have the translate function these days.
The goal is 220M UAH.
#donations #Ukraine
👍9
An opinionated article that claims that one has to keep all the dependencies in version control.
Now, I don’t have strong opinions here. On one hand the proposal in this article sounds extreme. On another hand, my team has quite a few Go projects and we use vendored modules there.
So, we actually keep the dependencies in VCS. As anything else, it has its pros and cons. I could build a project and run some isolated tests on a plane. But also it almost impossible to review a PR that touches that
The author points out that it’s Git’s fault that it’s not designed to work with large number of files and files of a large size. Yes, I’d ask for a reality check here, some Git is omnipresent these days.
#programming #git #opinion
Now, I don’t have strong opinions here. On one hand the proposal in this article sounds extreme. On another hand, my team has quite a few Go projects and we use vendored modules there.
So, we actually keep the dependencies in VCS. As anything else, it has its pros and cons. I could build a project and run some isolated tests on a plane. But also it almost impossible to review a PR that touches that
vendor/ directory.The author points out that it’s Git’s fault that it’s not designed to work with large number of files and files of a large size. Yes, I’d ask for a reality check here, some Git is omnipresent these days.
#programming #git #opinion
Forrestthewoods
Dependencies Belong in Version Control
Why dependencies should be checked into version control.
🔥3👍1
A collection of video tutorials on various DevOps-ish topics on Humble Bundle.
I don’t know if any of those are good, but there are some of the big names behind some videos.
If you’re not interested in videos, there’s also a bundle of book on ML and AI from O’Reilly. Those are usually good.
#books
I don’t know if any of those are good, but there are some of the big names behind some videos.
If you’re not interested in videos, there’s also a bundle of book on ML and AI from O’Reilly. Those are usually good.
#books
Humble Bundle
Humble Software Bundle: DevOps Video Bundle by Pearson
Dive deep into DevOps with this video course bundle from Pearson! Master AWS, Kubernetes, continuous delivery & more. Your purchase supports Girls Who Code.
🔥5😐2
I haven’t participated in salary surveys by DOU because it was limited to people based in Ukraine. This limitation is lifted now.
Also, this time (not sure if it was always like this) salary survey comes together with the survey about the popularity of programming languages. It would be interesting to compare its results with the similar research by StackOverflow.
Yet, for the results to be representative, make sure to spend a couple of minutes and fill out the survey!
Also, this time (not sure if it was always like this) salary survey comes together with the survey about the popularity of programming languages. It would be interesting to compare its results with the similar research by StackOverflow.
Yet, for the results to be representative, make sure to spend a couple of minutes and fill out the survey!
Google Docs
Зарплатне опитування і рейтинг мов програмування від DOU, грудень 2023
Що пів року DOU.ua збирає анонімні дані про зарплати українських IT-спеціалістів і готує дослідження. У зимовому опитуванні ми також додаємо в анкету блок про мови програмування для рейтингу мов.
Якщо ви зараз знаходитеся в Україні або переїхали за кордон…
Якщо ви зараз знаходитеся в Україні або переїхали за кордон…
A new issue of the CatOps Digest is here!
https://open.substack.com/pub/catops/p/catops-digest-2023-12-10
#digest #newsletter
https://open.substack.com/pub/catops/p/catops-digest-2023-12-10
#digest #newsletter
newsletter.catops.dev
CatOps Digest 2023-12-10
What was on CatOps in the last couple of weeks…
👍4
Less than 10% left to fulfill the Protect the Sky fundraiser that Come Back Alive is doing together with Nova Posta.
This is a big one, but let’s pull out!
#donations #Ukraine
This is a big one, but let’s pull out!
#donations #Ukraine
👍7
A brief glance into how Uber’s ETA calculator works.
tl;dr: Graph segmentation and smart guessing.
#programming #system_design
tl;dr: Graph segmentation and smart guessing.
#programming #system_design
newsletter.systemdesign.one
How Uber Computes ETA at Half a Million Requests per Second
#26: And How Online Maps Work Explained Like You’re Twelve (5 minutes)
👍3
An interesting read by Monzo about how they implemented Kubernetes Network Policies for 1.5k microservices.
There are some questionable parts in there, in my opinion. For example, why building your own tool to "guess" where an app connects to if you could use a network monitoring tool. However, those are not directly related to the main topic.
An interesting part is how folks in Monzo "reverted" the idea behind Network Policies using templating. So, instead of a target services allowing internal connections, a caller can specify the groups of services it wants to connect to.
Although, I think it partially negates the idea of Network Policies, I can completely understand, why Monzo did that from the UX perspective.
Also, here's a Reddit discussion on the topic. I love the top comment there:
#kubernetes #networking
There are some questionable parts in there, in my opinion. For example, why building your own tool to "guess" where an app connects to if you could use a network monitoring tool. However, those are not directly related to the main topic.
An interesting part is how folks in Monzo "reverted" the idea behind Network Policies using templating. So, instead of a target services allowing internal connections, a caller can specify the groups of services it wants to connect to.
Although, I think it partially negates the idea of Network Policies, I can completely understand, why Monzo did that from the UX perspective.
Also, here's a Reddit discussion on the topic. I love the top comment there:
How would you even know that another team plans to connect your apps?
- By communicating...
#kubernetes #networking
❤6👎2
If you are running dynamic environments in Kubernetes or any other ephemeral workloads, you need a way to clean up things once these environments are no longer needed or once your tests are done.
k8s-cleaner may help with it. It's a controller that deletes Kubernetes resources, including custom resources, on a schedule. It supports dry run and some options for customizations.
#kubernetes
k8s-cleaner may help with it. It's a controller that deletes Kubernetes resources, including custom resources, on a schedule. It supports dry run and some options for customizations.
#kubernetes
GitHub
GitHub - gianlucam76/k8s-cleaner: Cleaner is a Kubernetes controller that identifies unused or unhealthy resources, helping you…
Cleaner is a Kubernetes controller that identifies unused or unhealthy resources, helping you maintain a streamlined and efficient Kubernetes cluster. It provides flexible scheduling, label filteri...
👍6🤩4
Protect the Sky fundraiser has 5% left to close its goal!
It was 10% two weeks ago, when I previously posted this fundraiser.
Thus, I believe it’s possible to close it before the end of the year!
#donations #Ukraine
It was 10% two weeks ago, when I previously posted this fundraiser.
Thus, I believe it’s possible to close it before the end of the year!
#donations #Ukraine
👍3
A Linux book bundle on Humble Bundle. Now, I know that people have mixed feelings about books by Packt. Some folks say that they are too basic.
So, if you’re unhappy about the Packt books, you may want to check the Software Development bundle that has a couple of books on CI/CD, DevOps, and SRE topics.
#books
So, if you’re unhappy about the Packt books, you may want to check the Software Development bundle that has a couple of books on CI/CD, DevOps, and SRE topics.
#books
Humble Bundle
Humble Tech Book Bundle: Become a Linux Master by Packt
Get your Linux skills up to speed with this book bundle, covering from the basics, to topics like DevOps, cybersecurity & more! Your purchase supports charity.
👍3❤1
**Database Fundamentals.**
Because it just fundamentals, it can take a few hours to read and understand + mandatory breaks :)
It's one of the best articles I've seen on general DB topics, with a huge amount of links and notes to go deeper into Rabbit Hole. Definitely recommend it to read.
#databases
Because it just fundamentals, it can take a few hours to read and understand + mandatory breaks :)
It's one of the best articles I've seen on general DB topics, with a huge amount of links and notes to go deeper into Rabbit Hole. Definitely recommend it to read.
#databases
👍21❤2
Let's talk a little bit about culture. Culture of sabotage!
That's a nice guide of how to drop productivity to a minimum without being caught. Enjoy!
https://erikbern.com/2023/12/13/simple-sabotage-for-software.html
#culture
That's a nice guide of how to drop productivity to a minimum without being caught. Enjoy!
https://erikbern.com/2023/12/13/simple-sabotage-for-software.html
#culture
Erik Bernhardsson
Simple sabotage for software
How to sabotage software productivity, in the style of CIA
😁8👍6
Root Cause Chronicles: Connection Collapse is a hypothetical (or not?) scenario of a production outage.
What I like about such hypothetical scenarios compared to postmortem articles is that they usually focus on the process, while postmortems focus on outcomes. In other words, in articles like this you see something like: “We checked an app A and then an app B, and then this DB and that cluster; and finally we found it!”, while postmortems tend to condence the same process into dry statements like: “After thorough investigation we found that it was a DNS issue”.
Thus, such hypothetical articles better showcase an actual process of the incident resolution, in my opinion.
Bonus: InfraCloud (authors of this article) have a repository with such incident scenarios that you can study.
#sre #oncall #incident_management
What I like about such hypothetical scenarios compared to postmortem articles is that they usually focus on the process, while postmortems focus on outcomes. In other words, in articles like this you see something like: “We checked an app A and then an app B, and then this DB and that cluster; and finally we found it!”, while postmortems tend to condence the same process into dry statements like: “After thorough investigation we found that it was a DNS issue”.
Thus, such hypothetical articles better showcase an actual process of the incident resolution, in my opinion.
Bonus: InfraCloud (authors of this article) have a repository with such incident scenarios that you can study.
#sre #oncall #incident_management
InfraCloud
Root Cause Chronicles: Connection Collapse
What does it take to troubleshoot a complex web of cloud-native microservices? We take you on a BTS journey of an incident with SREs on the hot seat.
❤5😁1