CatOps
5.08K subscribers
94 photos
5 videos
19 files
2.57K 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
Humble Bundle has a new portion of O'Reilly's Linux books

As usual, you can pay €1, ~€9, or ~€15 to unlock books about useful Linux utilities and other related stuff. The bundle is valid till the 12th of September. It includes:

- Bash Cookbook
- Linux Observability with BPF
- Mastering Regular Expressions
- Effective awk Programming
- Linux Pocket Guide
- Cybersecurity Ops with bash
- Learning the Bash Shell
- Learning the vi and Vim Editors
- Linux in a Nutshell
- sed & awk
- Linux System Programming
- Classic Shell Scripting
- Linux Device Drivers
- Introducing Regular Expressions
- grep Pocket Reference
- Unix Power Tools

#books
Continuing the topic of Linux utilities, here is a good guide about xargs utility.

In nutshell, xargs allows you to work with outputs provided by another program. So, you can think of many applications of it. My favorite one is that xargs has a -P flag, which allows you to parallel processing of the outputs. So, it can be more optimal than running a for loop in some occasions.

#toolz
​​​​​​​​​​HUG Kyiv #12: CICD, GitOps, Terraform tommorow!

Program:
- Oleg Chulanov: The Magic of CICD approaches and infrastructure building rus
- Igor Rodionov: GitOps strategies for Terraform rus
- Konstantin Lazarenko: Terraform bad practices. What I've learned from 2 years working that way. ukr

Will be 28th August, 18:00 (Kyiv TZ) in Kyiv and YouTube

#event
CNCF is creating a new working group around "Cooperative Delivery".

Here is a part of the problem statement this group is trying to address:

In most app-delivery scenarios, the packaging format and delivery mechanism of the application artifacts are targeted, but not necessarily the app's infrastructure dependencies such as data stores and message queues. That is, application and infrastructure delivery are not coordinated. Often, applications are heavily dependent on infrastructure resources that are not directly linked to a specific deployment, and therefore problems with non-existing infrastructure resources might cause deployments to fail. In addition to this, the application and infrastructure lifecycles are not synchronized, creating additional complexity and challenges when delivering workloads.

The goal of this group is not to provide a definitive solution, rather gather the information in the industry on how people are doing "cooperative delivery". Which trends are there. Are there any emerging approaches, etc.

It'll be very interesting to see their findings. Struggles with application bundling is something I encounter personally and I believe a lot of other engineers do.

#culture #cncf
A blog post by Charity Majors about why you should ask Ops questions when interviewing software engineers.

In short, we all are responsible for the stability of our systems as well as encouraging good practices of deploying, releasing, observing software, etc. Therefore, it's not enough to just have an SRE team and push that burden on them. Reliability and operations should be a concern for any team within a company.

Quote:
Our industry has gotten very good at pressing operations engineers to get better at writing code, writing tests, and software engineering in general these past few years. Which is great! But we have not been nearly so good at pushing software engineers to level up their systems skills. Which is unfortunate, because it is just as important.

#culture
​​Two day ago was HUG Kyiv #12, and here is record and slides (links in description)

Enjoy!

#slides
Ok. That's interesting.

Docker is updating their pricing model once again and here is the interesting part:

At Docker we remain committed to continuing to provide an easy-to-use, free experience for individual developers, open source projects, education, and small businesses. In fact, altogether these communities represent more than half of all Docker usage.  Docker Personal and all its components – including Docker CLI, Docker Compose, Kubernetes, Docker Desktop, Docker Build/BuildKit, Docker Hub, Docker Official Images, and more – *remain free for these communities*. 
Specifically, small businesses (fewer than 250 employees AND less than $10 million in revenue) may continue to use Docker Desktop with Docker Personal for free. The use of Docker Desktop in large businesses, however, requires a *Pro*, *Team*, or *Business* paid subscription, starting at $5 per user per month.


I'm still not 100%, but it sounds like you won't be able to use Docker Desktop on you corporate laptop starting from 31st January 2022 if your company is "big enough".

Here's a Twitter thread by Corey Quinn on this issue.

#docker
​​​​Today at 17:00 UTC we are going to have our usual voice chat (in Ukrainian and Russian) to discuss the topics, you've proposed and voted for in the chat, which follows the DevOps Days Open Spaces format.

Today we are going to talk about "DevOps buzz-words" and how to provide meaningful feedback to your peers.

As usual. We will start from these topics and then if the discussion drifts, it drifts.

You can join the voice chat via this link:
https://t.iss.one/catops_chat?voicechat

Hear you there!

UPD: Voice charts are in Ukrainian or Russian language

#event
A magnificent write-up by Tanya Reilly about doing glue work!

It's such a shame I haven't read and shared this piece earlier!

So, basically what's glue work? It's about enabling others, picking up loose ends in your organization, etc. Usually, this is non-promotable work, i.e. not under your direct responsibilities. However, this is also usually a crucial work which helps your organization to move forward.

In this article Tanya argues that even though such work is inevitable, moreover expected, on senior and staff-plus positions; doing a lot of glue can be harmful during your early stages of career.

There are a lot of things to think about after reading this one. For example, I have revisited my opinions on Personal Development Plans personally. Previously, I thought this can be easily replaced by personal OKRs, but now I realize that PDP is a meaningful way to work with your manager and agree on which types of work are expected and, the most important, promotable in your current stage of career.

Very good read, much recommend!

#culture #career
There were a lot of culture posts here lately, but no worries were still in the engineering domain!

So, today I want to share a neat detective/mystery story abut ZFS by Brendan Gregg.

It's called "ZFS Is Mysteriously Eating My CPU" and I won't add any more details here to keep the suspense.

Enjoy!

#performance #linux
Unless you contribute to Terraform core, this won't be super relevant for you.
However, this update is a bit disturbing.

Quote:

Due to current low staffing on the Terraform Core team at HashiCorp, we are not routinely reviewing and merging community-submitted pull requests. We do hope to begin processing them again soon once we're back up to full staffing again, but for the moment we need to ask for patience. Thanks!

Source

Kudos to HashiCorp for being explicit about it, though!

#hashicorp #terraform
Yet another list of tools, which ease Kubernetes operations.

The majority of things in this list are not new and actually well-known across the industry. However, I found here a few interesting things I would like to take a closer look at. For example, Capsule for multi-tenant support and Kubevela - an implementation of Open Application Model (OAM).

BTW, Open Application Model is a pretty interesting concept. I really need to write about it here more often.

#kubernetes
A humble bundle with books about Kubernetes from Pluralsight.

As usual, you can pay €21.24 for 23 books, €17.64 for 13, or at least €1 for 7.

The books in this bundle are practical guides for configuring different aspects of Kubernetes or setting up it on platforms like AKS.

Personally, I'm not a big fan of technology-specific books. This type of knowledge tend to become obsolete too fast these days. However, if you need hands-on manuals for Kubernetes right here right now, this could be a good choice.

Also, I've never read books by Pluralsight, but their online courses are nice. So, I think the books should also be good.

#books
Flame graphs is a powerful tool to visualize an application profile and spot narrow places in your codebase.

Kubectl Flame brings this functionality as a frictionless kubectl plugin! Now, you can generate a flame graph from a running pod using just kubectl.

Currently, it supports Java using async-profiler, Go using ebpf profiling. Python support is based on py-spy. Ruby support is based on rbspy.

Also, since we're talking about performance, here is a free-to-use Kubernetes Instacne Calculator, which helps you to calculate the optimal size of cloud nodes based on your resource requests and limits.

#kubernetes #performance
An article that saved me some time yesterday.

It's about how to append custom paths to the $PATH variable on a GitHub Actions runner. As you may guess, it's not simply $PATH.

However, you can do it as below:
 - run: echo "${HOME}/<YOUR_CUSTOM_BIN>" >> $GITHUB_PATH


#cicd #gha
It’s been 5 years since Envoy was open sourced.

Therefore, Matt Klein (one of the creators of Envoy) published a longread with the retrospective of these years and the way Envoy made from an internal proxy in Lift to kinda default choice for cloud environments.

This read may beinteresting for those who work on the open source tools in their companies as well as for the individual open source contributors.

#oss #longread
​​Sometimes it is worth getting your head from clouds down to Earth.

Here is a great post-mortem story of a failed Ceph cluster.

The investigation led them down to more “invisible” underlying layers rather than just Ceph itself, but I won’t spoil more. This is an interesting and not that long read, so you can go through it yourself. Also, at least for me, every post-mortem looks like a detective story, not just a technical article.

P.S. I haven’t worked much with Ceph myself. When I was a very junior engineer, we had a few small Ceph clusters in a company I worked for. I was not involved in that project, though. However, I remember that once we had an issue with one of the clusters and my colleague spent a night fixing it.

The next day he said: “We didn’t quite lose the data. We just cannot retrieve it”. I think from that time this became a strong association for me with Ceph, even though Ceph is usually not the case.

#postmortem #ceph #linux
​​More and more often I bump into articles about Kubernetes backups.

So, I decided to pull my old draft and make it an article. Actually, a series of 3 articles. Although, only the first part is ready yet.

So, the first one is just a brief overview of Velero (former Heptio Ark). A tool I used for backing up Kubernetes objects.

The second part would contain some general opinions on Kubernetes backups. And lastly, the third part would be about managing clusters as cattle, what it takes and what are the pitfalls of such an approach.

Obviously, I won't promise when Part II and III will come out.

#kubernetes #backup