CatOps – Telegram
CatOps
5.1K 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
Videos from the AWS Tech Conference #StandWithUkraine are available now on YouTube!

I personally want to check out a fireside chat with Dr. Werner Vogels - CTO of Amazon. However, there are a lot of other cool speakers as well!

#slides
4👍3
I have a couple of AWS accounts for testing purposes and I also have an anxiety that some automated tests won’t clean up after themselves or that an account may get hacked, which would result in a huge bill.

Well, I’m not alone. In fact, a friend of mine once got a multi-thousand bill from AWS when he forgot to shut down something for his pet project. AWS nullified the bill once he contacted support, but you know, they don’t had to.

In this article. Corey Quinn argues that AWS “free tier” is broken. Yet, it shouldn’t be so. Both GCP and Azure (even Oracle!) have implemented free tier concept better.

Corey is a consultant, who helps companies reduce their cloud spendings. So, he knows what he’s talking about.

#aws
👍17
A small article about how to reverse engineer Docker images.

It provides some theoretical information on how Docker images are built as well as some practical tools to reverse engineer Docker images yourself.

Probably, not something you do every day, but I can recall a few times when I had search for a Dockerfile to understand how an image works. I wish I knew these tools back then!

#docker
👍12🔥6❤‍🔥1
I’m not a Ruby developer and even though this was the first language after Bash I used to write some noscripts for commercial usage, I don’t use it any more. Still have a couple of stale repositories with some Ruby code on GitHub, lol.

With this been said, you can imagine that I don’t keep an eye on what’s going on in that ecosystem. Obviously, some people do. So, today I want to share with you a Ruby Changes website which is a curated digest of the recent developments of that language.

I’m sharing it with you not because I’ve suddenly decided to switch to Ruby, but because of the story behind the latest update, that can easily make one cry.

#ruby
👍7
​​Let's continue talking about git.

First of all, if you lack of understanding how git works - three-git-tips will help you.

If you are already a "pro user", check out git-extras, it commands can be helpful.

#git
👍11
An interesting thread about the perception of performance by managers and developers.

165 managers and developers were asked about how they define productivity and how do they think their managers or their teams define that.

In nutshell:
- 50% of developers associate productivity with activity i.e. number of PRs, closed tickets, etc.
- At the same time developers think that efficiency doesn’t matters to the management as well as their well-being.

At the same time, 67% of managers define productivity by performance and quality of delivered products and 45% by efficiency.

The study also explores the trade offs between quality and productivity. If you’re interested in the original paper, it’s available here.

The key takeaway here for me is that unless you agree on the common ground on how to define productivity, you won’t be able to move as fast and smooth as you could. Moreover, the absence of understanding of this matter may jeopardize decisions, when it comes to sacrificing quality a bit in sake of delivery deadlines.

#culture
👍1
​​See you tomorrow at HUG Kyiv #14: Terraform.

We will talk about:
- SpaceLift as CI/CD for your infra
- How to write a Terraform provider

When: Tuesday 19th July, 18:30 (Kyiv TZ)
Where: Zoom (register here to access link) and Youtube
Language: English

And feel free to donate any amount of money to comebackalive.in.ua, to support the possibility of future meetups. Thank you!

#event
10👍1
We will start in 30 min 👆
These are the news from a couple of weeks ago, but I’m slow.

AWS has released the IAM Roles Anywhere, which allows one to use IAM roles to access AWS services from outside AWS.

This might be super useful if you have some sort of a hybrid / multi-cloud setup. Also, it shows that AWS is determined to move people away from static keys.

Oh my… How many security issues were caused by leaked AWS keys!

#aws
👍8
​​Logging is one of the three pillars of observability. One of the Palantir Blog posts outlines some pretty nice ideas that may help you to build a better observability solution.

Structured logging. Of course, all of us know that logs are easier to analyze if they are structured in commonly across applications. Palantir improved the way "message" field usually looks like:


{
 "message": "Processing event from user",
"params": {
"event": "foo",
"user": "bar"
},
"level": "DEBUG",
"logger": "com.logger.name",
"time": "2019-07-28T09:31:04.46165-07:00"
}


No
te that these structured logs avoid a common logging practice of inserting parameters into the log message via string formatting, creating a variable message ("Processing event foo from user bar"). Such an approach will prevent you from building complex log queries to filter out variable messages. Instead, you can search for an exact match and add additional filters by other fields (e.g. params.user == "bar")

L
ogs from 3rd party services. Usually, logs from 3rd-party components do not fit your unified logging structure. To overcome this, Palantir engineers built tooling that analyzes Golang source code and creates regular expressions which convert original messages to the ones with an expected structure.

You can read more about it in the blog post itself. I hope these ideas will help you to build a better observability system!

P.S. Thanks Valerii Tatarin for this post. If you'd like to share something with community too, feel free rich @MaxymVlasov or @grem1in.

#logging #observability
👍10
I’m watching a lot of YouTube lately, so just decided to share a couple of tech bloggers, that I found lately.

The Primeagen. I found him initially because of the video about Vim9 noscript, but here’s the episode about the motivation in tech that motivated me to subscribe. Some people call it integrity, I call it discipline. Basically, you’re not always inspired to do something. Take for example CatOps channel. There are times, when I have absolutely zero motivation to look for some new stuff and share it here. Well, the only thing that helps is to force yourself to do it. One, two, three times and then it goes easier.

—-

Another channel is A Life Engineered. Especially interesting for me was this video about storytelling on the behavioral interviews. I recently failed one. They gave me feedback, but that feedback was rather meh… At the same time, this video was really insightful about, I was able to look back in clearly see all the mistakes I have done.
That particular video would be interesting primary to more senior engineers, but there are some career advices for people of any level at that channel.

#random #youtube

P.S. I don’t usually allow comments in this channel. However, I’d like to know if such random posts are interesting to you, maybe this could be some sort of a Sunday post or smth. Or perhaps you would prefer more hardcore technical things here. Let me know in the comments!
🔥22👍6🤮1
New way to debug containers without a shell in Kubernetes pods.

The main idea is that you can spin up a new container with all the tools you need for debug in the same pod with the target container. So, you’ll be able to its running processes, for example.

This feature is in beta starting from Kubernetes 1.23. Thus, you need to be up-to-date.

#kubernetes
👍7🔥3
GoKey is an open source vaultfree secret manager from CloudFlare.

Instead of relying on an external vault, it derives secure passwords from your master pass and specific attributes like an URL.

I haven’t tried it yet, but I think this is a great idea for portable secret management. Plus, you don’t rely on any external vendor/storage, so in theory this is more secure than a vault-based password manager.

#security
👍14🤔3
One can create a lot of the automation based on GitHub labels. Also, labels are great indicators for the teammates and reviewers to indicate the status of a pull request.

Labeler GitHub action allows you to automate PR labeling. You can add specific labels based on the changed files. This would be useful for people who run trigger automation with labels. For example, you can add exclude-e2e-test label if only .md files have changed. Or if you’re running a monorepo, you can visually assign respective teams to code changes with automated labels.

There’s also a complementary tool for this Action called Retrolabeler, which can retrospectively label your PRs according to the Labeler rules.

#cicd #github
👍8
Doordash share their hard-earned experience of configuring probes in Kubernetes.

One of the incidents they had was caused by a readinessProbe that triggered a connection to a downstream resource. Unfortunately, it’s very common to see health checks that are not scoped to a service itself but also rely on service’s dependencies.

The trickiest part is that it’s not entirely bad thing. Sometimes it makes sense to indicate that your service won’t work unless a dependency is present. However, service owners should be fully aware of the consequences.

Here are the takeaways from this article neatly collected by Doordash themselves:

1.       Understand the different applications of the various Kubernetes probes. Ensure the entire department is aware of these use cases.
2.       Verify the applications and options regarding any third-party health check endpoints. Consider disabling certain features on third-party tools.
3.       Treat health check endpoints as Tier 0 by instrumenting them with various observability methods and ensuring they are not ignored by the observability tooling. If health checks are providing too much data, consider sampling them or reducing the volume of data they share.
4.       Having a health-checks depend on a backend dependency can be problematic, as an outage within your dependency can cause you to have an outage as Kubernetes restarts your containers.

#kubernetes
👍6
Good documentation is foundational for implementing DevOps capabilities - State of DevOps says.

But writing good docs is hard... and what can you do, except hire a Tech writer?
Cry Try to write docs better.

Here are free technical writing courses by Google (and quick recap). I drive "good docs culture" (that happened historically) in my current job and find these courses really helpful in describing to teammates how docs should look.

Also, I found that already exist documentation style guides by Google and Microsoft so you don't need entirely reinvent the wheel, just a little part of it ;)

On the other hand, these style guides look very complicated, so to not be overwhelmed, just start from these highlights.

And if you need, more technical writing resources and reasons why docs should be and should be good - here.

P.S. Don't repeat my mistake - take these courses before start writing and reviewing docs on a regular basis, not in ~2 years after.

#documentation #culture
👍133👎1🤔1
I got my education in Telecommunications. It’s not that important fact right now, because I don’t work in this field, this I have likely forgotten everything I learned 😄

However, articles like this one spark somewhat nostalgic feelings.

Microsoft have written in their blog about how lessons learned from cloud technologies help improving the security of telecom networks.

This article also contains links to the related researches and practices. So, you can still find some interesting bits about modern day security approaches even if you’re not interested in telecom networks specifically.

#security #networking #microsoft
👍8
While Web Assembly aka WASM is getting momentum, we are going to see more and more “X in a browser” things.

So, today it’s Postgres Playground by Crunchy (the authours of a famous Postgres k8s operators).

This is more of a set of learning tutorials than a freeplay sandbox. So, you can get yourself familiar with Postgres and learn various things about it there. Currently available tutorials are for:

- Basics of psql
- Partitioning
- Performance analysis
- Joins
- Indexing
- PostGIS
- Window functions and CTEs

#databases #postgresql #wasm
👍6🥰2
Only 4 days left to get the Terraform - From Zero to Certified Professional course for free!

I think, this is a great opportunity to get yourself familiar with Terraform or take a look, how things are done in the newer versions in case you're still using 0.11 for whatever reason.

#terraform #hashicorp #aws
❤‍🔥16🔥5👎3😢2🤔1
​​Вітаю зі Святом Незалежності, коти! 🇺🇦✌️
86❤‍🔥10🥰4🎉2👍1