CatOps – Telegram
CatOps
5.1K subscribers
94 photos
5 videos
19 files
2.56K links
DevOps and other issues by Yurii Rochniak (@grem1in) - SRE @ Preply && Maksym Vlasov (@MaxymVlasov) - Engineer @ Star. Opinions on our own.

We do not post ads including event announcements. Please, do not bother us with such requests!
Download Telegram
Some Friday material.

This short article is a perfect analogy for programming and systems design in general!
🔥7
Information from our chat.

Be careful committing to SOPS for your secret management.

It looks like they're looking for maintainers at the moment, which means that this project is not supported right now to a degree it was before.

P.S.: If you want to share any interesting information, feel free to join our chat! Although, keep in mind that a mix of Ukrainian and Russian is used there.

#security
👍3😱3
​​​​​​​​​​​​HUG Kyiv #13: Q/A session with HashiCorp co-founders in 1 day!

When: Thursday 3rd February, 19:50 (Kyiv TZ)
Where: Online
Language: English

Feel free ask and vote for questions here

#event
👍12
This post will be interesting to those, who run Java application in Kubernetes. Specifically, if you use OkHttp client for Java.

Kubernetes network load balancing using OkHttp client - the name speaks for itself. Basically, the problem is that OkHttp uses persistent connections to communicate with the peers. Therefore, IPVS - the default K8s load balancer - is unable to properly balance those connections. Thus, you may have all the connections served by a single replica of your downstream service!

This article provides some useful insights on how to trace down this issue and how to fix it in your code, as well as it mentions tradeoffs of such fix.

#kubernetes #java #programming
Docker Desktop had already became a paid option for corporate users and not all the companies are willing to pay. Some just haven't bought the licenses yet. This is bad news for Mac user stations, which are likely a majority in the corporate world.

However, there are projects out there, which aim to solve the problem of virtual machine to run your Docker containers.

This article tells a story of migration to Lima from Docker Desktop on MacOS.

There is also a complimentary project with a funny name - Colima, which simplifies the migration even further.

#docker #containers
👍3🤔2
From our subscribers.

A postmortem by Mozilla on the recent Firefox outage.

For those services hosted on Google Cloud Platform (GCP) these load balancers have settings related to the HTTP protocol they should advertise and one of these settings is HTTP/3 support with three states: “Enabled”, “Disabled” or “Automatic (default)”. Our load balancers were set to the “Automatic (default)” setting and on January 13, 2022 at 07:28 UTC, GCP deployed an unannounced change to make HTTP/3 the default.

Lessons Learned...

GCP’s deployment of HTTP/3 as default was unannounced. We are actively working with them to improve the situation. We realize that an announcement (as is usually sent) might not have entirely mitigated the risk of an incident, but it would likely have triggered more controlled experiments (e.g. in a staging environment) and deployment.


I'm yet to read this postmortem through.

P.S.: If you want to suggest any interesting materials for this channel, you can always do it in our chat. The chat itself is Ukrainian and Russian speaking.
🤯2👍1
There has been silence on this channel for a while now. I'm sorry for that. I didn't post anything, because I was not in the mood of doing so.

However, I have a formal excuse as well: I started processing the result of Kubernetes Cluster Operations survey that I had issued a few weeks before. So, expect a write-up soon! I would say "this week", but let's see.

In the meantime, you can read a short fiction story about two students, who are trying to figure out, what it actually means "to listen on a port"?

Cya!
👍3
GitHub presented Mermaid - a tool to include diagrams into Markdown files.

Basically, it allows to output a diagram in JS-enabled environments and a Markdown syntax in non-JS environments.

I haven't checked if it already works in READMEs on GitHub, but I assume it should.

#markdown #github #microsoft
👍10🔥3👎1🤔1
CatOps exists for almost five years already as a non-profit hobby project. Yes, at some point we were advertising some technical events here, but we never took money for that.

In my opinion, keeping it independent of ad money is what makes all the fun. I'll be honest with you, from time to time I get ideas of starting a Patreon or something similar, but each time it turns out to be too complicated.

However, there is a way to support CatOps financially! Even though this is an indirect support!

Consider subscribing to the Patreon page of the "Come Back Alive" Foundation or you can, of course, donate directly. They have all the details on their website. Unfortunately, not all the information on the website is translated to English, but the main things are there.

This Foundation supports Ukrainian army as well as establish re-integration programs for the veterans.

By supporting people, who take care of us, you empower us in doing our day-to-day jobs and providing some platform engineering content here.

With love 💛💙
@grem1in
👍4116🔥12👎4💩1
Good engineers ship good software, great engineers empower others to do so.

Become a +10% engineer explores some ways of how one can influence others in a good way and ease the work of entire team.

Yes, the name of this article is a word game with the "10x engineer" phrase. Yet, the main idea is that "Productivity of the team > Productivity of the individual"

#culture
👍3
I had an idea of writing something about Terraspace for quite some time now. I might have even had a draft somewhere! But of course, someone wrote it before me :)

Here's an article about Terraspace - a part of series about Terraform ecosystem. Other parts are:
- From Terralith to Terraservice with Terraform
- Terragrunt cheat sheet
- Another part with the comparison between Terragrunt and Terraspace is coming soon, but there are already some source files

I got this article from the Terraform Weekly subnoscription. It's curated by a proud member of our community - Anton Babenko. If you use Terraform in your work, you should definitely subscribe!

P.S. If you still think I should write something about Terraspace, let me know by putting 👍 emoji on this post. If you have more specific suggestions, you're always welcome in our chat (chat is in Ukrainian and Russian)!

#terraform #hashicorp #terragrunt #terraspace
👍73
​​Finally I got my things together and published the results of the Kubernetes Survey! Many thanks to everyone, who participated in this survey!

The first part is available in English. Also, you can find it in Ukrainian here.

To be honest, I’m not even sure what was easier: write the original post or translate it, haha.

The second part will be available soon. So, stay tuned!

#kubernetes
👍124
Back in a day, a friend of mine was ranting that this is not that obvious to spin up a VPN server in Kubernetes as online tutorials suggested.

Now, you can make a Wireguard operator do it for you. I haven't personally tested this operator. Yet, it has some positive comments on Reddit.

#kubernetes #networking
👍3👎1
Recently, I asked my subscribers what topics are interesting to them and a few people mentioned observability.

That’s funny, ‘coz yesterday I accidentally bumped into a great series of articles on setting SLAs for your products by Alex Ewerlöf!

- Calculating composite SLA - truly outstanding read!
- Some practical advice when setting SLA - notice, it says SLA, not SLO. So, there are some business related tips in this article as well. However, the core is technical, ofc.
- Calculating the SLA of a system behind a CDN - I haven’t read this one yet. But given the quality of previous two, I expect this one be great as well!

tl;dr for the first article in the list:

for serial, multiply availability; For parallels, multiply unavailability


I would personally also add that when you try to set a “full” SLO(A) for your service, that is also a composite SLO(A). You should treat it as a serial. For example, if you have 99.8% error rate SLO and 99.1% latency SLO, an “overall” SLO would be 0.998 0.991 100% = 98.9%

That’s not only good to know, but you may also want to write your marketing materials differently. There is a difference between:

> We guarantee 99.8% SLO on 5th error rate and 99.1% SLO on requests not taking longer than X milliseconds.

And

> We guarantee the 98.9% availability of our systems.

I’m not a marketing person, though. I don’t know what’s better. What I do know is that:”Nines doesn’t matter, if your users are unhappy”.

#observability #slo #sla
🔥4
Forwarded from oleg_log (Oleg Kovalov)
Тримаємося разом, зберігаємо спокій, віримо в ЗСУ!🇺🇦
👍8343🔥9🤮6👎4💩2
Forwarded from Вера Мороз
How to donate to help Ukrainian army

We are currently receiving numerous inquiries about our organization's bank details.

We thank everyone who donates and post the bank data for charitable contributions in a separate publication.

Let's win together🇺🇦💪

Transfers from abroad:

📌Fondy.eu: https://pay.fondy.eu/s/1stPBTgMbWTY
Currency of transfer – UAH. If your card currency is not UAH, funds will be withdrawn according to the rate. The commission of 2.7% is paid by the recipient

📌SWIFT
Company Name
CO "INTERNATIONAL CHARITABLE FOUNDATION "COME BACK ALIVE"
IBAN Code (Euro)
UA093052990000026004025029786
IBAN Code (U.S. dollar)
UA173052990000026009035028620

📌 Name of the bank
JSC CB "PRIVATBANK", 1D HRUSHEVSKOHO STR., KYIV, 01001, UKRAINE
Bank SWIFT Code
PBANUA2X
Purpose of payment:
Charitable donation to Ukrainian military

📌Bitcoin Wallet
Number: bc1qkd5az2ml7dk5j5h672yhxmhmxe9tuf97j39fm6

♥️If you want to support foundation «COME BACK ALIVE» team:

1) CO «INTERNATIONAL CHARITABLE FOUNDATION COME BACK ALIVE"
IBAN: UA793052990000026001045003547
ЄДРПОУ: 42046152
Payee:
Громадська організація «ПОВЕРНИСЬ ЖИВИМ!»
Purpose of payment: Благодійна пожертва на статутну діяльність.
2) Patreon: https://www.patreon.com/savelife_in_ua
👍268👎3