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

Я розглядаю технології та рішення, роблю огляд архітектурних проблем, включаючи контейнери, оркестратори, скейлінг, моніторинг, etc.
Download Telegram
KubeCon North America 2020 за 40 минут

Обещал рассказать, как узнать все что было на KubeCon North America 2020 за 20 минут, но потом заметил, что там оказывается две части:
1 часть 👉 https://www.youtube.com/watch?v=vwI1NVVNcxM
2 часть 👉 https://www.youtube.com/watch?v=zYAe0X-WRjg

Копирую кусок содержания из первой части:
09:21 Declarative Testing Clusters with KUTTL
10:38 Taking Envoy Beyond C++ with WebAssembly
11:30 Telco Stack: Observability приносит ясность в мир 5G
12:40 Новый подход к логированию в виде стека: Fluent Bit + PostgreSQL (FPS)
13:38 Is the Edge More Important Than the Service Mesh?
14:43 Kubernetes Networking by Google

Также могу поделиться дополнительной практикой после просмотра саммари конференций: всегда полезно зайти и посмотреть расписание (agenda), выбрать интересные штуки, и почитать о них текстом.

TODO: подписаться на канал Дениса Васильева и ждать обзор KubeCon из другого локейшна
Amazon Managed Service for Prometheus (AMP)

Вчера нашел AMP, о котором так давно были слухи! 🔥
Умеет в AWS ECS, AWS EKS, on-premise K8S.
По идее, можно подключить к Amazon Managed Service for Grafana и легко получить минимальный HA стек. И даже с учетом лимитейшнов, которые я описываю внизу - можно настроить алерты в Grafana, и так поехать до того момента, пока не появится аналог PrometheusAlertRule.

Preview release limitations:
- No way to configure long-term storage + retention duration - 150 days
- No Alertmanager and alert rules

https://aws.amazon.com/prometheus/
leves.fyi - software engineering salaries in Ukraine

Неожиданно, и очень воодушевляет - на levels.fyi появился раздел с зарплатами в нашей стране.
До этого момента я считал, что этим сервисом пользуются только в США, и только для FAANG (для примерного определения сколько просить и торговаться за каждый уровень).

Итого, мы получаем - сервис, в котором можно будет выбрать город (Киев, Львов, Одесса), специализацию, компанию - и посмотреть реальный рейндж зарплат на интересующую должность. Для примера - в сервисе нет Беларуси, Эстонии, Португалии, Польши (!), и еще ряда стран.

Сейчас есть 13 сабмитов, ждем намного больше и небольшого повышения средней компенсации по отрасли.

P.S. Очень жду первый FAANG с инжиниринг офисом в Украине + совсем скоро расскажу о собеседовании в HotJar

https://www.levels.fyi/Salaries/Software-Engineer/Ukraine/
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 🌠