DevOps&SRE Library
18.3K subscribers
456 photos
5 videos
2 files
4.93K links
Библиотека статей по теме DevOps и SRE.

Реклама: @ostinostin
Контент: @mxssl

РКН: https://www.gosuslugi.ru/snet/67704b536aa9672b963777b3
Download Telegram
12 Factor CLI Apps

At Heroku, we’ve come up with a methodology called the 12 factor app. It’s a set of principles designed to make great web applications that are easy to maintain. In that spirit, here are 12 CLI factors to keep in mind when building your next CLI application. Following these principles will offer CLI UX that users will love.


https://medium.com/@jdxcode/12-factor-cli-apps-dd3c227a0e46
Viacheslav Biriukov - SRE deep dive into Linux Page Cache

In this series of articles, I would like to talk about Linux Page Cache. I believe that the following knowledge of the theory and tools is essential and crucial for every SRE. This understanding can help both in usual and routine everyday DevOps-like tasks and in emergency debugging and firefighting.


https://biriukov.dev/docs/page-cache/0-linux-page-cache-for-sre
Loki's new TSDB Index

https://lokidex.com/posts/tsdb
uptrace

Open source APM: OpenTelemetry traces, metrics, and logs


https://github.com/uptrace/uptrace
kubernetes-image-puller

Kubernetes Image Puller is used for caching images on a cluster. It creates a DaemonSet downloading and running the relevant container images on each node.


https://github.com/che-incubator/kubernetes-image-puller
Why Distributed Systems Fail?

Distributed systems are tricky - it's easy to make wrong assumptions that lead to problems down the road. Back in the 90s, computer scientist L. Peter Deutsch identified several common misconceptions, or "fallacies," that trip up engineers working on distributed systems. Surprisingly these fallacies are still relevant today:

1. The Network is Reliable: It's risky to assume networks are 100% reliable. Networks can and do fail in various ways.
2. Latency is Zero: While we might wish our networks had no latency, that's simply not physically possible - even light takes time to travel distances. Ignoring the inevitable delay in data transmission can lead to unrealistic expectations of system performance.
3. Bandwidth is Infinite: This overlooks the physical and practical limitations on data transfer rates.
4. The Network is Secure: No wonder Security is a growing industry. Assuming inherent security can lead to vulnerabilities and oversight in protective measures.
5. Topology Doesn't Change: This neglects the dynamic nature of network configurations.
6. There is One Administrator: A simplification that fails to consider the complexity of managing distributed systems.
7. Transport Cost is Zero: Overlooking the resources required for data movement.
8. The Network is Homogeneous: Ignoring the diversity in network systems and standards.

These fallacies, if not recognized and addressed, can lead to design flaws, performance issues, and security vulnerabilities in distributed systems. In the following sections, we will break down each of these misconceptions, exploring their implications and how to mitigate the risks they pose in real-world applications.


P1: https://www.codereliant.io/why-distributed-systems-fail-1

P2: https://www.codereliant.io/why-distributed-systems-fail-2
Terragrunt root selector: automatically select the best root directory base on file changed

https://medium.com/@bill.nz/terragrunt-root-selector-automatically-select-the-best-root-directory-base-on-file-changed-8f0b4147a8a3
mcfly

McFly replaces your default ctrl-r shell history search with an intelligent search engine that takes into account your working directory and the context of recently executed commands. McFly's suggestions are prioritized in real time with a small neural network.


https://github.com/cantino/mcfly
crd-to-sample-yaml

Generate a sample YAML file from a CRD definition.


https://github.com/Skarlso/crd-to-sample-yaml
radius

Radius is a cloud-native application platform that enables developers and the platform engineers that support them to collaborate on delivering and managing cloud-native applications that follow organizational best practices for cost, operations and security, by default. Radius is an open-source project that supports deploying applications across private cloud, Microsoft Azure, and Amazon Web Services, with more cloud providers to come.


https://github.com/radius-project/radius
selectel-billing-exporter

Prometheus exporter для получения информации по биллингу аккаунта в хостинге Selectel


https://github.com/mxssl/selectel-billing-exporter
The Scary Thing About Automating Deploys

Most of Slack runs on a monolithic service simply called “The Webapp”. It’s big – hundreds of developers create hundreds of changes every week.

Deploying at this scale is a unique challenge. When people talk about continuous deployment, they’re often thinking about deploying to systems as soon as changes are ready. They talk about microservices and 2-pizza teams (~8 people). But what does continuous deployment mean when you’re looking at 150 changes on a normal day? That’s a lot of pizzas…


https://slack.engineering/the-scary-thing-about-automating-deploys
API load testing: A beginner's guide

An API load test generally starts with small loads on isolated components. As your testing matures, your strategy can expand to how to test the API more completely. You’ll test your API with more requests, longer durations, and on a wider test scope — from isolated components to complete end-to-end workflows.


https://grafana.com/blog/2024/01/30/api-load-testing
Continuous Integration

Continuous Integration is a software development practice where each member of a team merges their changes into a codebase together with their colleagues changes at least daily. Each of these integrations is verified by an automated build (including test) to detect integration errors as quickly as possible. Teams find that this approach reduces the risk of delivery delays, reduces the effort of integration, and enables practices that foster a healthy codebase for rapid enhancement with new features.


https://martinfowler.com/articles/continuousIntegration.html
prodzilla

Prodzilla is a modern synthetic monitoring tool built in Rust. It's focused on surfacing whether existing behaviour in production is as expected in a human-readable format, so that stakeholders, or even customers, can contribute to system verification.


https://github.com/prodzilla/prodzilla
(Almost) Every infrastructure decision I endorse or regret after 4 years running infrastructure at a startup

I’ve led infrastructure at a startup for the past 4 years that has had to scale quickly. From the beginning I made some core decisions that the company has had to stick to, for better or worse, these past four years. This post will list some of the major decisions made and if I endorse them for your startup, or if I regret them and advise you to pick something else.


https://cep.dev/posts/every-infrastructure-decision-i-endorse-or-regret-after-4-years-running-infrastructure-at-a-startup