DevOps дайджест #26: Loki, Kubernetes 1.16, rootless Docker и конференции
В выпуске: новинки релиза Elasticsearch 7.4.0, рекомендации по API Gateways, запуск MySQL и Redis as a Service в DigitalOcean, бесплатное изучение Kubernetes.
Релизы
Mongodb 4.2.0. В релизе 4.2.0 убрали лимит с транзакций (до этого был 16 MB), отказались от движка mmapv1 и начудили с бекапами: теперь нельзя использовать mongodump и mongorestore из-за гарантии атомарности операции. Можно использовать только платные продукты MongoDB, например MongoDB Atlas, но он стоит ~$2 per GB/month.
Elasticsearch 7.4.0. Ребята с Elastic наконец-то сделали snapshot lifecycle management (SLM) который призван сделать работу с бекапами гораздо легче (больше никаких скриптов или кронджоб). Результаты запросов уже в этом релизе можно предварительно пинить, повышая тем самым им ранк по сравнению с органической выдачей. Добавили новые агрегации. И штука, которая не столь громкая, но не менее важная. Раньше в эластике, отправляя запрос на поиск, в случае его отмены приходилось либо ждать завершения запроса, либо отменять его через task management API. Сейчас при обрыве коннекта запрос перестает обрабатываться.
Loki 0.2.0 GA. Система агрегации логов Grafana Loki стала GA. Из вкусного — разработчики заявляют, что уменьшили потребление памяти и серьезно улучшили производительность запросов, о чем написали отдельный цикл статей: часть 1, часть 2, часть 3.
Loki 0.2.0 release memory usage improvements
Grafana v6.4 Released. Все больше интеграций с Loki, улучшения в агрегации (улучшили Data Links между графиками) и новые панели. Можно обновляться.
Статьи
Rootless Docker. В Docker появилась экспериментальная возможность использовать его без root прав. Rootless mode поможет закрыть дыру в безопасности и обеспечит его использование там, где использовать рут не представляется возможным. В статье описано, каким образом этого добились.
Distributed Tracing — we’ve been doing it wrong. Размышления Cindy Sridharan на тему, чего не хватает в современных системах распределенного трейсинга. На хабре также есть перевод.
Взаимосвязи сервисов гипотетического новостного сайта, и их все нужно трейсить
API Gateways are going through an identity crisis. Отличная статья об API Gateways (рассматривается большое количество решений), систематизация по характеристикам, рекомендации, в каком случае какой лучше выбрать. Если вам нужен API Gateway — эта статья отличная точка входа. Будет полезно всем, кто интересуется этой темой.
Cloudflare outage. Рассказ о том, как неправильно написанное и не протестированное регулярное выражение может уложить половину Интернета. И всю вашу инфраструктуру, например.
Работа удаленно: наш опыт. Подробная статья об удаленной работе в Flant. Будет интересно тем, кто планирует сбежать или уже сбежал из офиса.
GitHub Actions now supports CI/CD, free for public repositories. GitHub Action CI/CD появился в beta, и теперь его можно пробовать использовать для несложных CI/CD процессов. В статье пошагово описано, как настроить процессы для JavaScript-приложения, с этапом тестирования и деплоя в Kubernetes. И еще статья Building reusable Github actions тоже будет полезной.
Introducing Kubernetes Academy. VMware анонсировала новую бесплатную платформу для изучения Kubernetes — Kubernetes Academy. 5 курсов различных уровней сложности, вероятно, будут полезны для всех инженеров.
Solving documentation for monoliths and monorepos. Статья о том, как Spotify делает documentation as code с помощью Mkdocs.
Cloud-провайдеры
DigitalOcean
Теперь в DigitalOcean можно запускать MySQL и Redis as a Service. Ранее в качестве Managed Databases был доступен только PostgreSQL. Уже добавили PaaS базы данных — MySQL и Redis. Теперь запускать несложные проекты вообще стало просто и дешево. Интересно, что ребята в комментах стали ныть: очень дорого. Вот прайсинг:
- $15/месяц за самую мелкую MySQL стенделон ноду;
- $50/месяц за кластер из 2 HA MySQL нод.
Мне кажется, что это не то, что дёшево, а супердёшево — с точки зрения разворачивания, CM, IaC, менеджмента и поддержки.
AWS (Amazon Web Services)
Amazon EC2 now supports Diagnostic Interrupts. В EC2 редко, но залипают виртуальные машины: не обслуживают запросы, невозможно приконектиться по SSH, etc. Выход был один — делать hard reset, и через какое-то время проблема повторялась. Сейчас сделали API call — для debug, рассмотрим, что же там происходит внутри. В debug дампе в том числе есть и дамп памяти.
Amazon Aurora Multi-Master is Now Generally Available. Multi-Master конфигурация для Aurora (MySQL/PostgreSQL совместимая СУБД от AWS) недавно стала доступна. Не до конца понятно, как будет работать на нагрузках с типичными проблемами multi-master конфигурации, но потестить точно нужно.
Amazon ECS now Supports Per-Container Swap Space Parameters. Теперь в ECS можно контролировать swap для отдельных контейнеров.
Introducing Amazon EC2 I3en and C5n Bare Metal Instances. Amazon продолжает радовать расширением линейки bare metal серверов с полным доступом к аппаратной части (добавлены новые I3en и C5n bare metal сервера). С bare metal можно проводить интересные эксперименты, как описано в статье.
Container monitoring for Amazon ECS, EKS, and Kubernetes is now available in Amazon CloudWatch. Для мониторинга контейнеров Amazon теперь можно использовать Amazon CloudWatch Container Insights. Будет полезно для быстрой настройки мониторинга для ECS и EKS. Кто уже успел попробовать — дайте обратную связь в комментариях. На подходе также CloudWatch Anomaly Detection, которая уже работает в режиме open preview.
Amazon Route 53 Now Publishes Query Volume Metrics for Public Hosted Zones. В Route53 добавлена метрика, которая хранит количество DNS запросов для публичных зон. Будет полезно для тех, кто экспериментирует с TTL, или для раннего обнаружения DDOS.
Amazon EKS now supports Kubernetes version 1.14. Все, кто использует EKS, — обновляйтесь до 1.14. Список дополнительных фич доступен по ссылке.
Amazon Quantum Ledger Database. Добавлена поддержка Amazon Quantum Ledger Database — база данных на основе blockchain для записи важных логов с гарантией неизменяемости. Может быть хорошей альтернативой хранению логов аудита в реляционных БД.
Learn From Your VPC Flow Logs With Additional Meta-Data. Добавлена возможность использовать метаданные в VPC Flow Logs, что значительно облегчает анализ трафика.
VPC Flow Logs: дополнительная метадата
Introducing Amazon EC2 G4 Instances with NVIDIA T4 Tensor Core GPUs. Новая линейка инстансов для Machine Learning G4 с GPU NVIDIA T4 Tensor Core GPUs (2560 CUDA cores), анонс убеждает, что стало дешевле и лучше.
Elastic Load Balancing: Network Load Balancers now support multiple TLS certificates. Network Load Balancer начал поддерживать до 25 TLS сертификатов начиная с сентября 2019. Будет полезно тем, кто использует ALB для TLS трафика для нескольких доменов (можно рассмотреть NLB для этой задачи).
Amazon ECS supports Automated Draining for Spot Instances. Использование Spot Instances для ECS теперь менее рисковано, потому что реализована обработка
Kubernetes
Kubernetes 1.16: Custom Resources, Overhauled Metrics, and Volume Extensions. Состоялся релиз Kubernetes 1.16. Из интересного:
- CRDs и Admission Webhooks теперь GA;
- некоторые версии API депрекейтнули;
- много улучшений для Windows серверов;
- представили новую альфа фичу Endpoint Slices, которая призвана заменить текущий Endpoints.
Kops 1.14.0. Kops теперь поддерживает stable версию кубера 1.14.
Announcing etcd 3.4. Вышла версия etcd 3.4, в которой улучшили производительность чтения для больших кластеров, эффективнее стали хранить leases, апдейтнули свою имплементацию RAFT протокола, тем самым сделав надежнее процесс leader election, и упростили свой клиент, заменив сложные хелчеки к серверам простым раундробином в случае потери соединения с одним из серверов.
Cilium 1.6. В новой версии завезли много новых полезных возможностей: избавились от использования etcd, весь стейт теперь можно хранить в их CRDs; выпилили полностью kube-proxy, больше никаких iptables рулов; сделали поддержку AWS ENI.
Cilium 1.6 теперь может работать без KVStore: появилась поддержка CRD
Конференции
DevOpsStage 2019.
AWS Loft Kyiv. Начиная с 14 октября (понедельник) по пятницу 18 октября с 9:00 до 17:00 в UNIT City (это хаб для IT в Киеве) будет проходить ивент нового для нас формата. Ивент бесплатный. В двух словах — это конференция/воркшоп/митап/коворкинг/тренинг и тусовка в одном флаконе, с уклоном в сторону AWS. То есть они привезли на 5 дней разных интересных ребят, которые будут учить сервисам, показывать юз кейсы, с которыми можно будет пообщаться и позадавать вопросы. Они сделали все, для того чтобы вы могли работать удаленно: Wi-Fi, коворкинг, переговорки, перекусы — в принципе, тот же офис + интересные люди и новые знания.
XP Days Ukraine 2019. Сейчас хочу обратить внимание на XP Days в Киеве — по датам 22 и 23 ноября, и уже есть крутые хедлайнеры:
- Paul Stack из Pulimi (раньше был в Hashicorp и выступал с подбитым глазом — начистили в киевской пивнухе, обожаю эту историю).
- Philipp Krenn из Elastic (всегда с отличными ништяками и новинками с Elastic stack).
- Yaroslav Molochko из Pango (уверенно и технически сильно о Kubernetes related stuff).
- и рокстары нашего комьюнити: Vsevolod Poliakov, Igor Borodin, Dmytro Lavrinenko.
В целом, это та конференция, которая мастхев. Я договорился для вас о скидке на −15%: XPDVP19.
Полезные Telegram-каналы
Наша команда
Теперь у нас есть целая команда, чтобы готовить качественные дайджесты. В этом выпуске также участвовали: Vlad Voloshyn, Dmytro Gorbunov, Oleksii Asiutin, Andrew Savelyev.
← Предыдущий выпуск: DevOps дайджест #25