ДевОпс Інженер 🇺🇦
5.05K subscribers
31 photos
4 videos
293 links
ДевОпс Інженер - авторський канал @mukolaich - Head of DevOps у SQUAD.

Я розглядаю технології та рішення, роблю огляд архітектурних проблем, включаючи контейнери, оркестратори, скейлінг, моніторинг, etc.
Download Telegram
DevOps дайджест #34: AWS re:Invent, Kubernetes deprecating Docker, Prometheus vs VictoriaMetrics

Крайний дайджест в этом году + вероятно, самый интересный по апдейтам.
Отличный способ начать день с пользой!)

Целый год для вас над дайджестами работали:
- Влад Волошин, Preply
- Алексей Асютин, thredUP
- Андрей Савельев, UCloud
- Дмитрий Горбунов, Gazelle Global

Огромное спасибо этим героям! 🔥

Пусть SLA 99,999% станет реальностью, и появятся первые вакансии FAANG в 2021. Ура! 💥
С наступающим Новым Годом! 🥳

https://dou.ua/forums/topic/32377/
Site Reliability Engineer, Tesla

👉 Для инженеров из США:
Мой хороший друг ищет себе в команду SRE.
Лучше писать сразу в личку за деталями: @supersupermacho

👉 Для инженеров не из США:
Также есть вакансии в Европе, куда мы можем подаваться.

https://www.tesla.com/careers/search/job/site-reliability-engineer-digital-experience-57288

UPD: Кто бы куда хотел? В Европу или США? Или дома всегда лучше?
Документація Kubernetes - help wanted

Відкриття дня - документація для Kubernetes українською 🇺🇦
https://kubernetes.io/uk/docs/home/

Виглядає так, що документацію тільки почали перекладати (команда Вови Цапа із SHALB) і їм, ймовірно, не завадить допомога:
https://github.com/kubernetes/website/commits/master/README-uk.md

Дуже крута ініціатива!
Что там случилось с Elasticsearch?

Супер кратко:
Elastic поменял лицензию для продуктов, и они перестали быть open source. Комьюнити это не понравилось.
Теперь вышел Amazon, у которого война с Elastic, и сказал - мы форкнем, и будем дальше развивать Elasticsearch + Kibana с ALv2 лицензией.

Итого, факты:
- Elastic announced moving Apache 2.0-licensed source code to be under Server Side Public License
- Elasticsearch 7.11 будет уже под SSPL, т.е. не open-source
- Elasticsearch 7.10.x, который еще ALv2 - будет получать секьюрити апдейты до May 11th, 2022
- AWS will step up to create and maintain a ALv2-licensed fork of open source Elasticsearch and Kibana

Кто бы мог подумать 🤔

https://aws.amazon.com/blogs/opensource/stepping-up-for-a-truly-open-source-elasticsearch
driftctl - Take control of infrastructure drift

Driftctl is a open-source CLI that tracks, analyzes, prioritizes, and warns of infrastructure drift.

Features:
- Scan cloud provider and map resources with IaC code
- Analyze diff, and warn about drift and unwanted unmanaged resources
- Allow users to ignore resources
- Multiple output formats


Example usage:
$ driftctl scan --from tfstate://terraform.tfstate


https://github.com/cloudskiff/driftctl
ДевОпс Инженер: работа

Когда мне в личку прилетают интересные вакансии - я всегда грущу, потому что не хочу спамить в основной канал. У нас уже была вакансия с Tesla, вакансии с HotJar и куча местных opportunity с вознаграждением > 5000$.

Чтобы не грустить, и спокойно делиться с вами крутыми вакансиями, я придумал сделать отдельную филию канала - @devopsengineerwork 👈

Там уже есть первая вакансия с вилкой 5000$ - 6500$. Я буду продолжать туда постить вкусности.

@devopsengineerwork 💸
GCP Config Connector & AWS Controllers for Kubernetes: GitOps для инфраструктуры

Как бы я не любил Terraform, но если посмотреть правде в глаза - он не всегда удобен, и есть проблемы, которые HashiCorp еще нужно решить.

Одна из серьезных проблем - Wall of Confusion, который мы построили снова. Есть инфраструктура в Terraform, туда доступ только у DevOps, есть чарты в репозитории каждой апки - там может что-то поправить и разработчик приложения, и DevOps. Но в инфраструктуру разработчику нельзя. Грустно.

Почему нельзя разработчику в Terraform инфраструктуру? У каждого свой вариант:
- не актуальный стейт, половина ресурсов с изменениями
- непонятная структура даже для самих DevOps
- нужно обучать девелоперов, в том числе и в модули
- разница приоритетов: по сути DevOps команда осталась Ops, и только она отвечает за стабильность

Вторая серьезная проблема - неймспейсы. Большинство инженеров не слышали, что в Terraform есть неймспейсы, а те кто слышали - стараются их не использовать.

Неймспейсы в Terraform были созданы как ответ на запрос "хотим точно такую же инфру, только без копипасты". Как результат - Terraform рождает кучу месса, остаются те же проблемы с неактуальностью стейта, суперсложно завернуть его в Jenkins/Atlantis и т.п. и т.д.

Получается, что задача создать динамический environment (как прод, например) и потушить его после какого-то действия по задумке - easy, а в реализации - ламучий мрак.

И в этот момент где-то далеко виднеется GitOps для инфраструктуры. После того, как все заценили ArgoCD и все прелести GitOps подхода - мы увидели первые зачатки реализаций GitOps, но уже для инфраструктуры.

В чем суть и как работает:
- мы устанавливаем в Kubernetes cluster контроллер (aka operator с новыми CRD)
- имплементим инфраструктурные зависимости внутри чарта с помощью CRD
- деплоим в кластер, контроллер подхватывает манифесты и деплоит вместе с приложением

Таким образом, мы получаем GitOps для инфраструктуры:
- можно конфигурить апку и зависимости вместе
- отдать это девелоперам, которым понятно YAML и не понятно HCL
- врапнуть чем угодно (helm/kustomize/jsonnet etc)

Стоит заметить что GCP немного впереди и уже работает (реализация - Config Connector), а AWS пока не догоняет - половина ресурсов в Beta, а вторая половина совсем не реализована. Я отлично вижу как определенные рутинные и неудобные куски выносятся из Terraform и врапаются любой билд тулой, например:
- вместо мануального менеджмента IAM делаем отдельный реп, показываем девелоперам как пользоваться, и ставим апруверами SecOps —> вообще убираем себя из этого флоу
- также выносим куски с ASg, размерами инстансов, тестовыми инстансами и т.п.
- делаем амбрелла чарт, который умеет инклудить приложения компании и докидывает туда зависимости (временные S3, SQS, RDS, etc) и делаем динамический энв на PR

Уже доступные ресурсы можно посмотреть по ссылкам:
👉 https://cloud.google.com/config-connector/docs/reference/overview
👉 https://aws-controllers-k8s.github.io/community/services/
Yaroslav Molochko: Self-healing in prod do you really need AI for that?

Ярослав - отличный пример, как действительно нужно деливерить world-class решения, строить карьеру, делать CNCF митапы и пушить KubeFlow.

До этого доклада Ярослав Молочко был простым Head of Engineering, а потом стал настоящим Director of Engineering.

В докладе - дизайн self-healing приложений, а сегодня - день роджения Ярослава.

Ура!

https://www.youtube.com/watch?v=Byj11BVmeZs
DevOps Days Kyiv 2021!

20-22 апреля у нас DevOps Days Kyiv 2021 🔥

Конференция в онлайн формате (проходит вечером, удобно после работы), и бесплатно.

Будут какие-то очень важные спикеры из других стран, например автор книги ”Kubernetes: Up and Running: Dive Into the Future of Infrastructure”, но я об этом не хочу особо упоминать.

Я уже вижу топовых спикеров, и уже очень хочу их услышать 💥:
- Сева Поляков - Marketing in DevOps
- Ярослав Молочко - Humble reflection on future of DevOps
- Антон Кошевой - The way to China. Cheat Sheet
- Влад Волошин - Cooperation between multiple infrastructure teams
- Вова Цап - Infrastructure Templating with cluster.dev

Какие люди в одном месте!

Однозначно приду на конфу, и рекомендую регистрироваться:
https://devopsdays.com.ua/
Introducing OpenSearch

Все помнят тред, когда Elastic навели шумиху с лицензиями SSPL 1.0 и ELv2?

Amazon, Red Hat, SAP, Capital One, и Logz.io форкнули Elasticsearch 7.10.2 (который был еще под Apache 2.0) и сделали OpenSearch.

Итого:
- Amazon OpenSearch под Apache License, Version 2.0
- OpenSearch это форк ElasticSearch
- OpenSearch Dashboards это форк Kibana

Больше - в блоге:
https://aws.amazon.com/blogs/opensource/introducing-opensearch/
Why Alibaba Cloud uses KEDA for application autoscaling

Мы уже месяц работаем над тем, чтобы завезти event-driven autoscaling в ML pipeline.
Суть - не скейлить с помощью HPA по одному поду, а скейлить 100500, если действительно есть столько задач в source очереди.

Применяя теорию ограничений, таким образом я планирую в разы ускорить пайплайн подготовки данных для тренировки в KubeFlow.

Более того, мы получаем возможность скейла в 0 (по сравнению с HPA) и забираем метрики контроллера в Prometheus stack.

В статье описано, каким образом работает KEDA, рассмотрены основные CRD которые реализуют скейлинг и архитектура контролера.

Еще бонусом, в этой же статье нашел Vertical Pod Autoscaler (VPA) - и это стало прям какой-то неожиданной новостью 😁

Классная статья, результатами поделюсь 👇

https://www.cncf.io/blog/2021/03/30/why-alibaba-cloud-uses-keda-for-application-autoscaling/
OpenSLO: Specification

- Видел? - спрашивает меня Ярослав Молочко.
- Ухты, не видел - отвечаю я.

Давайте смотреть вместе: OpenSLO - спецификация, унифицированный стандарт для определения SLO для сервисов. Она позволяет описать Confluence таблички, где ранее было описание SLO, или собрать в кучу “и так понятные” метрики и индикаторы.

Сейчас это действительно только предложение стандарта, но формат подразумевает деплой в Kubernetes - так что вполне вероятно, что появится оператор, который сможет это применить в Alertmanager или в Grafana.

Обожаю стандарты, и оставляю две ссылки:
https://openslo.com/
https://github.com/openslo/openslo
AWS Activate Founders

1000$ от AWS для стартапов.
Самое время создать свой pet project и назвать его стартапом? 😁

https://aws.amazon.com/activate/founders/
ДевОпс Инженер: events

Когда мне в личку прилетают крутые митапы/мероприятия/ютуб трансляции - я всегда грущу, потому что не хочу спамить в основной канал. Ладно запостить DevOpsDays или XPdays, но интересных ивентов (как и вакансий) слишком много.

Чтобы спокойно делиться с вами крутыми ивентами, я решил сделать отдельную филию канала - @devopsengineerevents 👈

Там уже есть первое мероприятие с названием “DevOps-баттл”, и через пару дней я подкину туда же митап о DevSecOps. CNCF плейлисты - тоже туда. Не пропускайте знания.

@devopsengineerevents 🌠
Announcing HashiCorp Terraform 1.0 General Availability

Отакої! Релизнулся Terraform 1.0 😳

Ключевые моменты:
- state is now cross-compatible between versions 0.14.x, 0.15.x, and 1.0.x
- you can now upgrade to a new Terraform version and your workflows will continue to be operational

https://www.hashicorp.com/blog/announcing-hashicorp-terraform-1-0-general-availability
Fastly: Summary of June 8 outage

8 июня половина интернета внезапно выключилась. Упали deb репы, куча статики и куча знаменитых сайтов. По ссылке - публичный summary их постмортема, выводы - Time-to-Recover 1 час 13 минут - вполне нормально для современного интернета:
- 09:47 Initial onset of global disruption
- 11:00 Majority of services recovered

Второй вывод - акции Fastly подросли на 16% после инцидента. Оказывается, неработающий сервис может быть полезным для бизнеса.

Третий вывод - если ваш Time-to-Recover меньше чем 1 час 13 минут, вы всегда можете аргументировать ‘Мы восстановились быстрее, чем Fastly’ 😁

https://www.fastly.com/blog/summary-of-june-8-outage