Пятничный деплой
4.36K subscribers
1.27K photos
24 videos
163 files
7.53K links
Подборка ссылок, статей и постов из мира DevOps\SRE\разработки. Если вы хотите прислать фидбек, интересную статью или просто поболтать пишите @count0ru https://t.me/s/count0_digest
Download Telegram
⚡️С выпуском версии 9.3.0 официальный клиент Redis делает большой шаг вперед благодаря прямой поддержке JSON

📌Простой пример того, как начать работу с JSON в Go-Redis:

var ctx = context.Background()
client := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
})

type Bicycle struct {
Brand string
Model string
Price int
}

bicycle := Bicycle{
Brand: "Velorim",
Model: "Jigger",
Price: 270,
}

_, err := client.JSONSet(ctx, "bicycle:1", "$", bicycle).Result()
if err != nil {
panic(err)
}

res, err := client.JSONGet(ctx, "bicycle:1", ".Model").Result()
if err != nil {
panic(err)
}
fmt.Println("bicycle:1 model is", res)

#новости #инструменты
Forwarded from Кубертатный период (Pavel Klyuev)
📊 Prometheus - популярное решение для мониторинга. Но чем больше метрик мы начинаем хранить, тем больше памяти требуется. Все бы хорошо, но Prometheus работает в режиме одиночного процесса, что усложняет его использование.

🛠️ Однако за последний год была проделана огромная работа по сокращению потребления памяти Prometheus, в некоторых случаях даже на 50%.

🧠 Какие данные Prometheus хранит в памяти.

🔍 Как профилирование помогло выявить, где можно сэкономить больше всего памяти.

🔥Как однажды небольшая ошибка в конфигурации вызвала серьезный сбой крупнейшей установки Prometheus.

🏗️ Почему пришлось пересматривать структуру данных для лейблов, идентифицирующих временные ряды (time series data).

🌐 И как все эти изменения повлияли на связанные проекты, такие как Cortex и Thanos.

Эти улучшения делают Prometheus более эффективным и доступным, даже с огромными объемами метрик. 🚀📈
Please open Telegram to view this post
VIEW IN TELEGRAM
#машины_разное

Null Pointer Exception одна из самых ублюдских проблем, с которой мне приходится сталкиваться с тех пор, как я перешел в бекенд. Особенно противно работать с вложенными структурами, когда приходится делать такие проверки:

s := someStruct{}
if s.Nested != nil || s.Nested.MoreNested != nil || s.Nested.MoreNested.EvenMoreNested != nil {
// ...
}

Пропустить такие вещи, особенно обрабатывая сериализованные структуры, любезно сгенерированные gRPC или Thrift, раз плюнуть.

Хорошо, что теперь помимо зорких глаз ревьюера, у меня еще есть NilAway!
Forwarded from DevOps FM
Всем DevOps! 🖖

Ненапряжные интересные статьи, самое то для среды.

✉️ Статья «How Discord Stores Trillions of Messages» — про Discord знают все. А вот как он работает под капотом: хранит и обрабатывает триллионы сообщений, нет. Отличная возможность узнать об этом, прочитав статью. Внутри еще есть ссылка на материал шестилетней давности, можно посмотреть, как изменилась архитектура с тех пор.

📦 Статья «10 insights on real-world container use» — пожалуй, не совсем правильно называть этот текст статьей, это полноценный отчет, в котором оценивается состояние контейнерной экосистемы. Выводы сделаны на основе анализа более 2,4 миллиардов контейнеров.

💻 Статья «Building a cheaper Kubernetes cluster at home» — еще одна статья из любимой рубрики «k8s для личных проектов». Автор хотел снизить расходы на поддержание своих проектов и отказаться от услуг облачного провайдера, поэтому решил развернуть кластер дома.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Мониторим ИТ
The Zeek Network Security Monitor

Бесплатный инструмент глубокого мониторинга трафика. Из коробки поддерживаются различные протоколы, имеет специальный язык для описания политик.

Репыч на Гитхабе

Сайт утилиты

Выступление автора Zeek на конференции Monitorama
Forwarded from DevOps Deflope News
Новость по мотивам новости по мотивам доклада Тима Хокинга, одного из первых разработчиков Kubernetes. Тим говорит, что все плохо и кубы стали слишком сложными для пользователей. А еще — что даже core-команда разработки уже в шоке от размера кодовой базы, которую необходимо поддерживать:
https://e42.link/3FZzyBd
Forwarded from Мониторим ИТ
Мониторинг с Grafana. Best practices

В этой статье сборная солянка из существующих best practices по работе с Grafana и немного с Prometheus, проверенных автором лично. Читать статью на Хабре.
🎥 Теории кэширования по полочкам: запись урока от Владимира Балуна

📌Что внутри:

01:03 — Что такое кэширование
03:18 — Основные термины кэширования
04:55 — Какие данные кэшировать
06:02 — Кэширование ошибок
07:13 — Как предотвратить cache miss attack
10:34 — Эффективность кэширования
12:56 — Внутреннее кэширование
14:41 — Внешнее кэширование
19:23 — Cache Aside
21:32 — Cache Through
23:16 — Cache Ahead
29:33 — Алгоритмы вытеснения данных из кэша
30:01 — Random алгоритм
30:23 — FIFO алгоритм
30:49 — LIFO алгоритм
31:16 — LRU алгоритм
32:06 — MRU алгоритм
32:29 — LFU алгоритм
37:11 — Алгоритм Белади (OPT)
38:13 — Second Chance алгоритм
39:56 — Clock алгоритм
40:40 — 2Q алгоритм
41:42 — SLRU алгоритм
42:49 — TLRU алгоритм
43:17 — LRU-k алгоритм
47:24 — Инвалидация данных в кэше
47:41 — Инвалидация по TTL
48:35 — Jitter
49:40 — Thundering herd problem
51:13 — Инвалидация по событию
52:41 — Версионирование кэша
56:11 — Тегирование кэша
1:03:37 — Многомерный кэш
🛠 How to use xargs command in Linux - несколько полезных (и есть парочка странных) примеров использования xargs.

#xargs #terminal #будниное
Forwarded from DevOps FM
Как вы догадались, пост про YAML 📄

Точнее — некоторое количество полезных штук про yaml.

▪️Официальный сайт YAML. Да, вы не ошиблись, он выглядит как yaml.

▪️Статья «YAML из Ада» — 215 плюсиков, 195 закладок и 183 комментария. Очевидно, чувствительная тема.

▪️Список «10 шагов к YAML-дзену» — RedHat рассказывают, как снизить свое раздражение при работе с YAML до приемлемого уровня и даже полюбить этот формат.

▪️Статья «Некоторые приемы YAML» — автор рассказывает про не очень известные особенности YAML.

▪️Шпаргалка «YAML Tips for Kubernetes» — 10 советов как улучшить yaml для k8s. Есть примеры кода.

▪️Обзор «Validating Kubernetes YAML for best practice and policies» — сравниваются шесть инструментов для проверки и оценки YAML-файлов Kubernetes на соответствие best practices.

Всем DevOps! 🖖
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Кубертатный период (Pavel Klyuev)
Kyverno: Kubernetes Native Policy Management

🚀 Kyverno -- это мощный инструмент для управления политиками в среде Kubernetes. Он может проверять, изменять и генерировать конфигурации с помощью контроля доступа и фонового сканирования.

🛡️ Декларативные политики -- Kyverno позволяет определять политики как код, добавляя их к ресурсам Kubernetes, через декларативные конфигурации YAML, что упрощает понимание и управление политиками.

🧞‍♂️ Генерация манифестов -- Kyverno может генерировать манифесты ресурсов на основе определенных политик, что весьма удобно для создания стандартных конфигураций и предотвращения человеческих ошибок.

🧠 Гибкая обработка данных -- Поддерживает изменение ресурсов на лету, применяя политики к запущенным приложениям без их перезапуска, что позволяет эффективно адаптироваться к изменяющимся требованиям.

🤖 Webhook-контроллеры -- Kyverno работает как webhook-контроллер, интегрируясь с Kubernetes API Server, что обеспечивает реактивную обработку событий и обеспечивает безопасную и надежную работу политик.

🛡 Управление ролями -- Kyverno позволяет определять правила доступа на основе политик для более точного контроля над ресурсами.

Kyverno — это не просто инструмент для применения политик, но и платформа для управления политиками как часть процесса разработки и эксплуатации приложений в Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevOps FM
💻 Bash жил, bash жив, bash будет жить

Поэтому может быть полезным вот такой репозиторий — DevOps-Bash-tools.

В нем собрана 1000+ Bash скриптов — AWS, GCP, Kubernetes, Docker, CI/CD, APIs, SQL, PostgreSQL, MySQL, Hive, Impala, Kafka, Hadoop, Jenkins, GitHub, GitLab, BitBucket, Azure DevOps, TeamCity, Spotify, MP3, LDAP, Code/Build Linting, pkg mgmt для Linux, Mac, Python, Perl, Ruby, NodeJS, Golang, .bashrc, .vimrc, .gitconfig, .screenrc, tmux...

Загрузка по команде curl -L https://git.io/bash-bootstrap | sh

P.S. А еще у автора есть репозиторий с разными конфигурации и шаблонами YAML для Kubernetes. Каталог верхнего уровня содержит стандартные шаблоны объектов Kubernetes с учетом best practices, а еще советы и рекомендации, полученные за время работы автора в продакшене. Подкаталоги содержат готовые к использованию реальные приложения, которые автор запускал в разных средах.

#open_source
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from k8s (in)security (Дмитрий Евдокимов)
Недавно наши хорошие товарищи поделились (а теперь и мы с вами) своим проектом, которые они уже сами у себя используют более чем 2 года.

Проект называется k8s-calico-networksets-controller и он по сути добавляет поддержку FQDN в NetworkPolicy от CNI Calico!

Вся магия происходит с помощью selector в NetworkPolicy с определённым label и через создание/обновление Calico NetworkSet.

Если вам не хватало поддержки FQDN в NetworkPolicy от CNI Calico, то это решение для вас)

P.S. Всем хороших выходных!
Forwarded from Код и Капуста
Программирование распределенных систем. Освежаем память про ACID, CAP и вот это все

https://www.youtube.com/watch?v=Mc3tTRkjCvE
Forwarded from Yandex Cloud
💻 Рассказываем про особенности сетевого протокола DHCP

При решении базовых задач сетевая инфраструктура на базе Linux достаточно предсказуема и проста в управлении. Однако при попытках повысить производительность, сделать инъекцию безопасности в ядре или заблокировать DHCP на клиенте вы можете столкнуться с некоторыми сложностями.

💬 В новой статье на Хабре рассказываем про эксперименты с сетевым стеком Linux. Читайте подробности по ссылке.

#yacloud_articles
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from k8s (in)security (Дмитрий Евдокимов)
Совсем недавно прошла конференция KubeCon + CloudNativeCon North America 2023 и уже стали доступны и слайды и видео на их канале. Как всегда там море всего интересного!

Пока отдельно выделим один доклад "A Wind of Change for Threat Detection" от ребят из Apple, посвящённый проблемам rule-based detections в runtime в контейнерных средах. Как мы и говорим уже не один год все идет к поведенческому анализу.

И отдельно стоит отметить в первые проходившую Multi-TenancyCon NA 2023, которая отдельно проводилась в эти же дни. И видно как тема правильной организации multi-tenancy становиться актуальной для большого числа компаний.

P.S. В комментариях пишите какие доклады больше всего понравились вам!
Forwarded from k8s (in)security (Дмитрий Евдокимов)
Недавно давали интервью по поводу безопасности в Kubernetes и концепции ZeroTrust. Почитать можно тут, а свое мнение оставить в комментариях к данному посту ;)

Так предотвращать, дешевле чем расследовать =)

Всем хороших выходных!
Внезапно всем привет с HighLoad++ 2023