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

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

Хотел поделиться с вами методикой работы с (forced new resource), (new resource required) и прочего.

Вот, например, самая банальная штука - это динамически вытягивать последнюю AMI из AWS для создания EC2. И сразу же получаем: при обновлении AMI (почти каждый день)- (forced new resource) - потому что AMI изменился, и нужно (нет) пересоздать.

Что делать:
lifecycle {
ignore_changes = ["ami"]
}


Тут как бы все понятно - если меняется переменная ami - все ок, ничего делать не нужно. Подобная штука будет прокатывать с большинством ресурсов.

Недавно обновился MySQL Terraform provider - и появились нужные нам штуки. Но вот, проблема - при апгрейде Terraform маркает большинство ресурсов на пересоздание.
Я пробовал сюда вставить пример кода - но Telegram ломает форматирование.

Опишу словами: tls_option - была пустая строка, а теперь - будет NONE. Это произошло потому, что раньше эта опция не была реализована в модуле, а сейчас появилась. Окей, как сохранить обратную совместимость?

Втулить ему то, что было раньше:
tls_option = ""


Более подробно с кусками кода я описал тут:
https://github.com/terraform-providers/terraform-provider-mysql/issues/55#issuecomment-461610419

Вроде банальные вещи, но часто вижу, что много кто не знает.

Good luck!
DevOps learning roadmap

Для тех, кто только присоединился или еще в начале пути:
https://raw.githubusercontent.com/kamranahmedse/developer-roadmap/master/images/devops.png

Схема поможет эффективно построить ваше обучение 🙂
DevOps Fest 2019

6 апреля, Киев, и еще есть Smart Bird, так что можно начинать пушить менеджмент оплатить конфу 😁

Промо на 10% - DEVOPSENGINEER

Программа ниже 🔽
https://devopsfest.com.ua
CNCF Cloud Native Interactive Landscape

Если у кого-то devops-депрессия или кризис продуктивности, зайдите сюда:
https://landscape.cncf.io/
Teleport

Если у вас в компании принято раздавать всем доступы на все сервера - у меня есть плохие новости. А если это делается мануально, то очень плохие.

Смотрите, есть вот такая тема:
https://gravitational.com/teleport

Teleport позволяет контролить доступ, логгировать выполненные команды и прочее. Очень удобно, например, для долгих Ansible деплоев: когда ноут не тянет кучу хостов, а на сервере с Teleport есть для этого достаточно ресурсов.

Teleport отлично миксуется с паттерном bastion host и отлично его дополняет. Мы используем, мы довольны, рекомендую.
Developer Survey Results 2019 by StackOverflow

В двух словах: мы в топах!

Короткая выжимка по DevOps и SRE:
- больше всех довольны своей работой
- сами почти никогда не ищем новую компанию
- у нас самые высокие зарплаты

https://insights.stackoverflow.com/survey/2019

Смотрите зарплаты остальных специализаций (на графике):
https://cdn.sstatic.net/insights/Img/Survey/2019/salary_devtype-1.svg
Docker Hub Hacked

В соседнем чате проскочила печальная информация. В Docker Hub обнаружили утечку данных 190 000 пользователей 🙁 Это касается не только связки логин/пароль, а и токенов (github, bitbucket).

Как минимум стоит переслать в SecOps team, а в идеальном кейсе - поменять эти данные.

Тут можно почитать, что делать более детально:
https://news.ycombinator.com/item?id=19763413

Вот так выглядит письмо:
https://cdn.changelog.com/uploads/news_items/AJOA/large.png?v=63723566056

Стоит сказать, что пароли были в виде hashed passwords, а не как у Facebook - в plain text 😄

Кстати, если у вас в Docker images были захардожены пароли к каким-то базам данных, или любая сенситив дата - тоже нужно менять.
Об IT без галстуков

Дмитрий Меньшиков - мой хороший друг и наш подписчик, СТО в Aurora Technologies, знает о топ-10 фейлах на highload проекте и умеет менеджерить людей.

А еще у Димы есть свой личный телеграм канал, в котором он пишет о:
- технической составляющей (всегда полезно для девопсов)
- культуре и взаимодействии
- личностном развитии (надеюсь будет цикл "Как стать СТО" 😁)

Рекомендую подписаться, читать и использовать: @notieinIT 👍
HCL2

Очевидно, Hashicorp никогда не откажется от своего HCL.

Пока этот репозиторий - эксперимент, но смотрите что интересного может быть:
 Arithmetic with literals and application-provided variables
sum = 1 + addend

# String interpolation and templates
message = "Hello, ${name}!"

# Application-provided functions
shouty_message = upper(message)

Рекомендую прочитать раздел Why? и подготовиться к холиварам 😄 на эту тему:
https://github.com/hashicorp/hcl2#why

Сам репозиторий вот тут:
https://github.com/hashicorp/hcl2
trickster - бустер для Prometheus

Еще одна плюшка для вас, лучшие подписчики. Если вы хотите в будущем downsampling и long-term сторедж для Prometheus - запилите по-быстрому trickster.

Grafana перестанет тупить, и в результате плюс пару месяцев для имплементации Cortex или Thanos (уже обсуждали выше).

В двух словах: trickster кеширует и нормализует запросы в Prometheus, из-за чего все начинает работать быстрее.

Вот, смотрите:
https://github.com/Comcast/trickster
Апдейты по конференциям

1. Мне написал классный девопс, организатор Hashidays в Киеве, активный участник UkrOps club и просто хороший человек Юра Рочняк. Смотрите, через неделю будет DevOpsDays Kiev 🔸 https://devopsdays.com.ua
Билеты еще есть, но уже маловато. Кстати, подпишитесь еще на @catops - это девопс-канал Юры, там даже есть промо на -20% на эту конференцию.

2. Информация для тех, кто всегда хотел выступить на конференции. Осенью будет проходить DevOps Stage, и меня попросили поделиться формой для спикеров с вами. Хороший момент в том, что есть достаточно времени для подготовки и качественный комитет для подготовки (в прошлом году был Дима Лавриненко). Возможно я тоже решусь в очередной раз что-то рассказать. Делюсь ссылкой на форму: 🔻
https://forms.office.com/Pages/ResponsePage.aspx?id=1FioiOHj0UO35qinNvFVB6HBnJTKSlZFlPCcel1HkPlURThWOUJIMTZNMVEwVUdTM0JVTjBaUk5aWS4u&fbclid=IwAR07nDZJ4NYxwsxjjfAaICvc_U9DGDsCSY78-nty8yzsUX0qkar6BEVwg5w

3. Мне нужны ваши реакции на посты в канале. Благодаря им я получаю от вас обратную связь, и могу проанализировать что вам нравится.
Это для того, чтобы улучшать контент.
Спасибо вам 🙏😚
Terraform 0.12: few weeks from now

Уже очень скоро:
 almost there! Release candidate 1 of Terraform 0.12.0 is now available for testing. Unless testing identifies a significant blocker, we expect to publish the final 0.12.0 release a few weeks from now.


Готовьтесь выпиливать:
# TODO: fix/implement/improve in TF 0.12

https://www.hashicorp.com/blog/releasing-terraform-0-12-0-rc1
Announcing Terraform 0.12

Ну что, друзья! Создавайте таски в Jira по миграции и рефакторингу всего вашего IaC.
Отличная новость. Очень рад 😌

https://www.hashicorp.com/blog/announcing-terraform-0-12
AWS Dev Day Kyiv

11 июня в Киеве будет конференция от AWS, участие бесплатное, треки очень даже неплохие. Регистрируйтесь:

https://awsdevday.kyiv.provectus.com/
Почему нужно делать multicloud

Вот почему:
https://twitter.com/w3Nicolas/status/1134529316904153089

И еще пару моментов:
- проверьте канал коммуникации с вашим провайдером. Как быстро вы получите ответ, если аккаунт залочат?
- проверьте, что бекапы есть не только на S3 или в виде снепшотов, заточенных под конкретный клауд
- продумайте Disaster recovery plan, если вот вообще апокалипсис будет. Сколько вам нужно будет времени переподнять все с чистого листа? Как это повлияет на бизнес?

Как спланировать DRP:
https://cloud.google.com/solutions/dr-scenarios-planning-guide

И multicloud, конечно 😌
Стало лучше: data-at-rest encryption для EC2

Раньше как было: если вы хотите поднять EC2 интсанс, зашифрованный KMS, нужно было "пересохранить и зашифровать" публичный AMI. А публичные ami достаточно часто обновляются.

Теперь как: сразу поднимается зашифрованный инстанс из публичного ami.

https://aws.amazon.com/ru/about-aws/whats-new/2019/05/launch-encrypted-ebs-backed-ec2-instances-from-unencrypted-amis-in-a-single-step/
Vault provider не поддерживает Terraform 0.12

Зацените как весело:
https://github.com/terraform-providers/terraform-provider-vault/issues/424

Это значит, что все потенциальные пользователи Terraform 0.12, у которых есть vault provider (ну, как-бы, это все пользователи) обновиться не могут.

terraform-provider-vault не поддерживает Terraform 0.12 и вываливается с ошибкой
no available provider "vault" plugins are compatible with this Terraform version

Hashicorp, вы себя там нормально чувствуете?) 😁
Learning Kubernetes on EKS

Хороший пакован статей с практикой (6 статей в серии), о том как крутить AWS EKS.

Информация подана легко, можно сказать с нуля - будет интересно всем кто хотел посмотреть в сторону EKS 🔽

https://medium.com/faun/learning-kubernetes-by-doing-part-1-setting-up-eks-in-aws-50dcf7a76247

Для всех противников managed kubernetes - даже такой кубер лучше, чем никакого 😉
Comparing Thanos to VictoriaMetrics cluster

Создатель VictoriaMetrics Александр Валялкин написал статью, где сравнил Thanos (так делали раньше long-term storage для Prometheus) и VictoriaMetrics. Очень полезно будет для инженеров всех уровней, рекомендую.

https://medium.com/@valyala/comparing-thanos-to-victoriametrics-cluster-b193bea1683
DevOps дайджест на dou.ua

Друзья, я пообщался с редакторами dou.ua и они не против подключить несколько соавторов в формирование DevOps дайджеста.

Он выходит примерно раз в 2 месяца, и я старался вместить туда самое важное и полезное за этот промежуток времени.

Вот вся хроника, смотрите:
https://dou.ua/users/oleg-mikolaychenko/articles/

В среднем выпуски читают ~5 тысяч пользователей, он несет пользу обществу и является местом, где можно сформировать свою аудиторию для полезных всем действий или событий. Например, предложить сходить на классный митап, построить бренд через ссылку на инженерный блог компании или выложить ссылку на телеграм канал.

Почему я решил добавить несколько авторов:
- больше пользы для общества. Это самое главное. Несколько человек с разными экспертизами всегда будут обширнее интерпретировать изменения в DevOps мире.
- дать возможность соавтору построить личный бренд. В свое время было очень сложно было быть услышанным и донести свое видение в мир. И я решил сделать эту возможность доступной.
- больше охват аудитории. Несколько человек в команде произведут контент качественно и количественно лучше, чем я один. Это в свою очередь повлияет на пользу и охват.

Как мы это будем делать:
- предлагаю открытый репозиторий на github
- дайджест в markdown
- pull-request flow для сообщества, и апрувы от авторов
- всякие линтеры/чекеры для markdown

На данный момент есть 2 вакантных места. Кто хочет принять участие и поработать со мной над проектом, который приносит пользу нашему большому DevOps миру - пишите в личку - @mukolaich.

Stay tuned!