Флант | Специалисты по DevOps и Kubernetes
Новый перевод в блоге — обзор и сравнение утилит для валидации Kubernetes-манифестов: https://habr.com/ru/company/flant/blog/511018/
Очень годный обзор, кстати! Советую обзавестись хотя бы минимумом(kubeval), что бы не попасть в ситуацию когда лимиты на ресурсы не сработали потому что в вашем любимом редакторе tab не в нужное число пробелов выставлен(это, кстати, реал стори, поцоны. Как же меня тогда бомбило....)
#monitoring #anomalydetection
Ну и вдогонку статья от гитлаба как они сделали anomaly detection(z-score) на проме.
Советую почитать, потому как реализовать такое достаточно просто, и хорошо помогает при спайках
Ну и вдогонку статья от гитлаба как они сделали anomaly detection(z-score) на проме.
Советую почитать, потому как реализовать такое достаточно просто, и хорошо помогает при спайках
about.gitlab.com
How to use Prometheus for anomaly detection in GitLab
Explore how Prometheus query language can be used to help you diagnose incidents, detect performance regressions, tackle abuse, and more.
Forwarded from Selectel Newsfeed
Как заблокировать трафик из определенных стран? 🏴☠️
Кажется, что фильтрация трафика — тривиальная задача. Но не все так просто. Старые инструкции потеряли актуальность, а новых особо никто не написал. Поэтому мы посчитали своим долгом это исправить.
С помощью чего будем настраивать?
Фильтрация будет настраиваться с помощью стандартной сетевой утилиты iptables. Но ей потребуется расширение для работы с GeoIP-данными.
Где найти расширение и что делать с ядром ОС?
Нам потребуется xtables-addons. Эта хитрая штука устанавливает расширения для iptables в виде самостоятельных модулей ядра, благодаря чему не нужно перекомпилировать ядро ОС.
Детальная инструкция в нашем блоге: http://slc.tl/Dx-Xl
Кажется, что фильтрация трафика — тривиальная задача. Но не все так просто. Старые инструкции потеряли актуальность, а новых особо никто не написал. Поэтому мы посчитали своим долгом это исправить.
С помощью чего будем настраивать?
Фильтрация будет настраиваться с помощью стандартной сетевой утилиты iptables. Но ей потребуется расширение для работы с GeoIP-данными.
Где найти расширение и что делать с ядром ОС?
Нам потребуется xtables-addons. Эта хитрая штука устанавливает расширения для iptables в виде самостоятельных модулей ядра, благодаря чему не нужно перекомпилировать ядро ОС.
Детальная инструкция в нашем блоге: http://slc.tl/Dx-Xl
Selectel Newsfeed
Как заблокировать трафик из определенных стран? 🏴☠️ Кажется, что фильтрация трафика — тривиальная задача. Но не все так просто. Старые инструкции потеряли актуальность, а новых особо никто не написал. Поэтому мы посчитали своим долгом это исправить. С…
ну или можно просто на nginx модуль поставить))(если у вас nginx-ingress'ы, конечно)
POSTGRESSO
https://habr.com/ru/company/postgrespro/blog/442804/
#sql #postgres
В свое время парни из PgProfessional запилили бомбезный цикл статей про постгрес. Но, оказывается, что есть пейпер с дизайном того самого постгреса 1987года. Забавно что, например, проблемы с 32битными xid изначально не было
В свое время парни из PgProfessional запилили бомбезный цикл статей про постгрес. Но, оказывается, что есть пейпер с дизайном того самого постгреса 1987года. Забавно что, например, проблемы с 32битными xid изначально не было
Blogspot
Review: The Design of the Postgres Storage System
This is a review of The Design of the Postgres Storage System. The paper was in VLDB 1987 although my review used a version of the paper t...
Forwarded from Флант | Специалисты по DevOps и Kubernetes
Новая статья — новый сборник весёлых случаев от наших инженеров. В этой серии: Docker и Kafka, ZooKeeper и ClickHouse, Kubernetes и bare metal, PostgreSQL как есть. https://habr.com/ru/company/flant/blog/510486/
Хабр
Практические истории из наших SRE-будней. Часть 2
Утекло уже немало воды с момента публикации нашего последнего очерка об интересных случаях из практики обслуживания Kubernetes-кластеров и запускаемых в нём се...
Forwarded from ITGram
Недавно Бизли зарелизил Practical Python Programming -- курс по Питону, который он создавал и преподавал 13 лет. Выглядит курс очень круто, покрывает всё самое нужное, от установки питона и типов данных и до тестирования и создания и установки пакетов.
Forwarded from Цифровизируй это
Наблюдаемость SRE: пространства имен и структура метрик
Структурированные пространства имен метрик важны для быстрого доступа к информации во время инцидентов. Один из способов, который эффективен при создании гибкой модели метрик, — думать о них как о дереве.
Перевели статью, в которой рассматриваются свойства пространств имен метрик, позволяющие постепенно увеличивать детализацию запросов и переходить к подмножествам данных, а также просматривать метрику с точки зрения метрик, из которых она состоит.
Структурированные пространства имен метрик важны для быстрого доступа к информации во время инцидентов. Один из способов, который эффективен при создании гибкой модели метрик, — думать о них как о дереве.
Перевели статью, в которой рассматриваются свойства пространств имен метрик, позволяющие постепенно увеличивать детализацию запросов и переходить к подмножествам данных, а также просматривать метрику с точки зрения метрик, из которых она состоит.
Хабр
Наблюдаемость SRE: пространства имен и структура метрик
Spyglass by Shorai-san Структурированные пространства имен метрик важны для быстрого доступа к информации во время инцидентов. Нужно тщательно планировать имен...
Forwarded from DataEng
Бесплатные лекции про распределённые системы от профессора Lindsey Kuper: https://www.youtube.com/playlist?list=PLNPUF5QyWU8O0Wd8QDh9KaM1ggsxspJ31
Вот как все-таки приятно иметь дело с хорошим API! Есть у меня в одном из проектов тестик с Mock'ом на NSubstitute. Тестик очень простой: мок считает что нужный метод дернули N раз с определенными входными параметрами.
Внезапно, тестик начал падать. В описании фейла такое:
Спасибо NSubstitute'у, в Moq и в FakeItEasy такого вот нет
Внезапно, тестик начал падать. В описании фейла такое:
вы ждали, что метод foo(any Bar, Baz) будет вызван 5 раз, а он ни разу не вызвался((Ну тут вот я, конечно, сразу вспомнил, что воткнул в foo еще один параметр типа Baz с дефолтным значением. А был бы другой выхлоп от тестика, пришлось бы время тратить, в кодобазу лезть или вообще, прости господи, дебажить!
Вообще-то есть 5 похожих колов(отличия я тебе заботливо пометил *):
foo(Bar, *Baz*)
...
Спасибо NSubstitute'у, в Moq и в FakeItEasy такого вот нет
#db
Наткнулся тут на прошлогоднюю статью на тему почему Cockroach выбрал RocksDB в качестве движка. Если кто тоже пропустил, то очень рекомендую. TLDR:
1. Выбрали, внезапно, не потому что LSM, а за фичи. Например, у RocksDB в KV-интерфейсе есть возможность скана по диапазону ключей и bulk-вставки. Без этого SQL-движок Cockroach бы сильно тормозил
2. Занимательная экскурсия в кишки RocksDB.
3. Как построено взаимодействие Cockroach и Rocks
4.
Наткнулся тут на прошлогоднюю статью на тему почему Cockroach выбрал RocksDB в качестве движка. Если кто тоже пропустил, то очень рекомендую. TLDR:
1. Выбрали, внезапно, не потому что LSM, а за фичи. Например, у RocksDB в KV-интерфейсе есть возможность скана по диапазону ключей и bulk-вставки. Без этого SQL-движок Cockroach бы сильно тормозил
2. Занимательная экскурсия в кишки RocksDB.
3. Как построено взаимодействие Cockroach и Rocks
4.
in CockroachDB, put/scan are the two most dominant operations because of the higher level guarantees we provide as a serializable SQL database
5. Ну и еще куча прикольностейCockroachlabs
Why we built CockroachDB on top of RocksDB
CockroachDB uses RocksDB for its storage engine because of RocksDB's rich feature set, which is necessary for a complex product like a distributed SQL database.
Если кто еще не в курсе про devContainers, то вот прям максимально подробный туториал
Visualstudio
Development Containers in Education with Visual Studio Code
#jvm
Пара неплохих статей про java memory model и все что вокруг
Вот тут прям хорошо про happens-before
А вот тут, помимо большого сериала по сабжу, еще много полезного про jvm
Пара неплохих статей про java memory model и все что вокруг
Вот тут прям хорошо про happens-before
А вот тут, помимо большого сериала по сабжу, еще много полезного про jvm
Medium
An Introduction to the Java Memory Model
This is a short article to give you a taste of the Java Memory Model. Being agnostic of its rules can lead to some pretty knotty bugs, and…
Доисторический, но очень ценный набор советов как дизайнить презы. Если кто активно выступает, то это вам)))
Zachholman
Slide Design for Developers
Written pieces, talks, and other bits by Zach Holman.
Forwarded from Sysadmin Tools 🇺🇦
Scylla as backend for Jaeger
https://grafana.com/blog/2020/07/30/how-to-maximize-span-ingestion-while-limiting-writes-per-second-to-a-scylla-backend-with-jaeger-tracing/
#scylladb #jaeger #grafana #tracing
https://grafana.com/blog/2020/07/30/how-to-maximize-span-ingestion-while-limiting-writes-per-second-to-a-scylla-backend-with-jaeger-tracing/
#scylladb #jaeger #grafana #tracing
Grafana Labs
How to maximize span ingestion while limiting writes per second to a Scylla backend with Jaeger tracing | Grafana Labs
In this post we discuss how Grafana Labs uses Scylla, an open source, Cassandra-compatible alternative as a trace storage backend for Jaeger.
#microservices
Каким-то чудом еще не запостил очень годную статью от Riak(это такой распределенный kv) про микросервисы "Microservices -- please don't". Очень рекомендую почитать тем кто внедряет или уже внедрил этот чудный архитектурный стиль))
Если вы не можете внятно прооппонировать автору статьи по какому-то из пунктов, то возможно Вам микросервисы не очень-то и нужны
Каким-то чудом еще не запостил очень годную статью от Riak(это такой распределенный kv) про микросервисы "Microservices -- please don't". Очень рекомендую почитать тем кто внедряет или уже внедрил этот чудный архитектурный стиль))
Если вы не можете внятно прооппонировать автору статьи по какому-то из пунктов, то возможно Вам микросервисы не очень-то и нужны
Riak
Microservices - Please, don’t
This blog post is adapted from a lightning talk I gave at the Boston Golang meetup in December of 2015.
For a while, it seemed like everyone was crazy for microservices. You couldn’t open up your favorite news aggregator of choice without some company you…
For a while, it seemed like everyone was crazy for microservices. You couldn’t open up your favorite news aggregator of choice without some company you…
3387514.3405885.pdf
1.3 MB
#devOps
Пейпер про то как Фейсбук деплоит без даунтайма.
Рассмотрены 3 подхода с сравнительным анализом
Пейпер про то как Фейсбук деплоит без даунтайма.
Рассмотрены 3 подхода с сравнительным анализом
#testing
Очень хороший обзор по различным видам тестирования с ссылками на посты по каждому из них.
Тут как и всем надоевшие unit и integration, так и мутационное, exploratory и soak.
Рекомендую пробежаться и почитать про незнакомые
Очень хороший обзор по различным видам тестирования с ссылками на посты по каждому из них.
Тут как и всем надоевшие unit и integration, так и мутационное, exploratory и soak.
Рекомендую пробежаться и почитать про незнакомые
A Java geek
Different kinds of testing
The subject of testing is vast. It may seem simple from outside, but it’s not. For example, one may define testing as checking that the software is fit for its purpose. But it encompasses a lot more: for example, mutation testing verifies that assertions…