Forwarded from Библиотека Go-разработчика | Golang
⚡️С выпуском версии 9.3.0 официальный клиент Redis делает большой шаг вперед благодаря прямой поддержке JSON
📌Простой пример того, как начать работу с JSON в Go-Redis:
#новости #инструменты
📌Простой пример того, как начать работу с 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)
#новости #инструменты
GitHub
Release 9.3.0 · redis/go-redis
What's new?
JSON support
We are continuing to add support for more Redis data types in Go-Redis. Today, we are happy to announce support for JSON. JSON is a Redis data structure for storing, qu...
JSON support
We are continuing to add support for more Redis data types in Go-Redis. Today, we are happy to announce support for JSON. JSON is a Redis data structure for storing, qu...
Forwarded from Кубертатный период (Pavel Klyuev)
🏗️ Почему пришлось пересматривать структуру данных для лейблов, идентифицирующих временные ряды (time series data).
Эти улучшения делают Prometheus более эффективным и доступным, даже с огромными объемами метрик.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
How Prometheus Halved Its Memory Usage - Bryan Boreham, Grafana Labs
How Prometheus Halved Its Memory Usage - Bryan Boreham, Grafana Labs
Prometheus is the most popular CNCF project for monitoring, but if you have millions of metrics it needs gigabytes of memory.
And, Prometheus runs as a single process: it’s sometimes a…
Prometheus is the most popular CNCF project for monitoring, but if you have millions of metrics it needs gigabytes of memory.
And, Prometheus runs as a single process: it’s sometimes a…
Forwarded from Полезняшки от "Разбора Полетов"
Avoiding fallback in distributed systems (2020)
https://aws.amazon.com/builders-library/avoiding-fallback-in-distributed-systems/
https://aws.amazon.com/builders-library/avoiding-fallback-in-distributed-systems/
Amazon
Avoiding fallback in distributed systems
Building services that behave predictably during failures by avoiding fallback logic.
Forwarded from Человек и машина
#машины_разное
Null Pointer Exception одна из самых ублюдских проблем, с которой мне приходится сталкиваться с тех пор, как я перешел в бекенд. Особенно противно работать с вложенными структурами, когда приходится делать такие проверки:
Пропустить такие вещи, особенно обрабатывая сериализованные структуры, любезно сгенерированные gRPC или Thrift, раз плюнуть.
Хорошо, что теперь помимо зорких глаз ревьюера, у меня еще есть NilAway!
Null Pointer Exception одна из самых ублюдских проблем, с которой мне приходится сталкиваться с тех пор, как я перешел в бекенд. Особенно противно работать с вложенными структурами, когда приходится делать такие проверки:
s := someStruct{}
if s.Nested != nil || s.Nested.MoreNested != nil || s.Nested.MoreNested.EvenMoreNested != nil {
// ...
}
Пропустить такие вещи, особенно обрабатывая сериализованные структуры, любезно сгенерированные gRPC или Thrift, раз плюнуть.
Хорошо, что теперь помимо зорких глаз ревьюера, у меня еще есть NilAway!
GitHub
GitHub - uber-go/nilaway: Static analysis tool to detect potential nil panics in Go code
Static analysis tool to detect potential nil panics in Go code - uber-go/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 для личных проектов». Автор хотел снизить расходы на поддержание своих проектов и отказаться от услуг облачного провайдера, поэтому решил развернуть кластер дома.
Ненапряжные интересные статьи, самое то для среды.
✉️ Статья «How Discord Stores Trillions of Messages» — про Discord знают все. А вот как он работает под капотом: хранит и обрабатывает триллионы сообщений, нет. Отличная возможность узнать об этом, прочитав статью. Внутри еще есть ссылка на материал шестилетней давности, можно посмотреть, как изменилась архитектура с тех пор.
📦 Статья «10 insights on real-world container use» — пожалуй, не совсем правильно называть этот текст статьей, это полноценный отчет, в котором оценивается состояние контейнерной экосистемы. Выводы сделаны на основе анализа более 2,4 миллиардов контейнеров.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Мониторим ИТ
The Zeek Network Security Monitor
Бесплатный инструмент глубокого мониторинга трафика. Из коробки поддерживаются различные протоколы, имеет специальный язык для описания политик.
Репыч на Гитхабе
Сайт утилиты
Выступление автора Zeek на конференции Monitorama
Бесплатный инструмент глубокого мониторинга трафика. Из коробки поддерживаются различные протоколы, имеет специальный язык для описания политик.
Репыч на Гитхабе
Сайт утилиты
Выступление автора Zeek на конференции Monitorama
Forwarded from DevOps Deflope News
Новость по мотивам новости по мотивам доклада Тима Хокинга, одного из первых разработчиков Kubernetes. Тим говорит, что все плохо и кубы стали слишком сложными для пользователей. А еще — что даже core-команда разработки уже в шоке от размера кодовой базы, которую необходимо поддерживать:
https://e42.link/3FZzyBd
https://e42.link/3FZzyBd
Хабр
Сооснователь K8s: Kubernetes должен ввести лимит на сложность
Разработчики ядра Kubernetes должны тщательно взвешивать преимущества, которые дают новые фичи, чтобы не раздувать сложность всего проекта, поскольку K8s и так становится слишком сложным не только для...
Forwarded from Мониторим ИТ
Мониторинг с Grafana. Best practices
В этой статье сборная солянка из существующих best practices по работе с Grafana и немного с Prometheus, проверенных автором лично. Читать статью на Хабре.
В этой статье сборная солянка из существующих best practices по работе с Grafana и немного с Prometheus, проверенных автором лично. Читать статью на Хабре.
Forwarded from Библиотека Go-разработчика | Golang
🎥 Теории кэширования по полочкам: запись урока от Владимира Балуна
📌Что внутри:
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 — Многомерный кэш
📌Что внутри:
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 — Многомерный кэш
Forwarded from Записки админа
🛠 How to use xargs command in Linux - несколько полезных (и есть парочка странных) примеров использования xargs.
#xargs #terminal #будниное
#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! 🖖
Точнее — некоторое количество полезных штук про 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.
🧞♂️ Генерация манифестов -- Kyverno может генерировать манифесты ресурсов на основе определенных политик, что весьма удобно для создания стандартных конфигураций и предотвращения человеческих ошибок.
Kyverno — это не просто инструмент для применения политик, но и платформа для управления политиками как часть процесса разработки и эксплуатации приложений в Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - kyverno/kyverno: Cloud Native Policy Management
Cloud Native Policy Management. Contribute to kyverno/kyverno development by creating an account on GitHub.
Forwarded from DevOps FM
Поэтому может быть полезным вот такой репозиторий — 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 и он по сути добавляет поддержку
Вся магия происходит с помощью
Если вам не хватало поддержки
P.S. Всем хороших выходных!
Проект называется 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
https://www.youtube.com/watch?v=Mc3tTRkjCvE
Forwarded from Yandex Cloud
При решении базовых задач сетевая инфраструктура на базе Linux достаточно предсказуема и проста в управлении. Однако при попытках повысить производительность, сделать инъекцию безопасности в ядре или заблокировать DHCP на клиенте вы можете столкнуться с некоторыми сложностями.
#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" от ребят из
И отдельно стоит отметить в первые проходившую Multi-TenancyCon NA 2023, которая отдельно проводилась в эти же дни. И видно как тема правильной организации
P.S. В комментариях пишите какие доклады больше всего понравились вам!
Пока отдельно выделим один доклад "A Wind of Change for Threat Detection" от ребят из
Apple
, посвящённый проблемам rule-based detections
в runtime
в контейнерных средах. Как мы и говорим уже не один год все идет к поведенческому анализу.И отдельно стоит отметить в первые проходившую Multi-TenancyCon NA 2023, которая отдельно проводилась в эти же дни. И видно как тема правильной организации
multi-tenancy
становиться актуальной для большого числа компаний.P.S. В комментариях пишите какие доклады больше всего понравились вам!
Отличная микрошпаргалка по System Design https://habr.com/ru/articles/770564/
Хабр
System Design 101
О сложных системах простыми словами. В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы...
Forwarded from k8s (in)security (Дмитрий Евдокимов)
Недавно давали интервью по поводу безопасности в
Так предотвращать, дешевле чем расследовать =)
Всем хороших выходных!
Kubernetes
и концепции ZeroTrust
. Почитать можно тут, а свое мнение оставить в комментариях к данному посту ;)Так предотвращать, дешевле чем расследовать =)
Всем хороших выходных!
securitymedia.org
Дмитрий Евдокимов, Luntry: Роль информационной безопасности в наше время – не остановить все инциденты, а не допустить нанесение…
Дмитрий Евдокимов, Founder&CTO, Luntry рассказал порталу Cyber Media о подходе «нулевого доверия» в рамках работы с Kubernetes