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

Я розглядаю технології та рішення, роблю огляд архітектурних проблем, включаючи контейнери, оркестратори, скейлінг, моніторинг, etc.
Download Telegram
Ребят, кто хочет в Вену на релокейт 🔽
https://jobs.lever.co/tourradar/963f1e14-a4af-4fcc-91fb-26932ea6577d
Пишите сразу @denys_popov - работали вместе 🔥
AWS Lambda: 15 minutes of execution

Новость старая, но я не знал. Оказывается, теперь таймаут на выполнение не 5 минут, как было раньше, а целых 15.
Теперь это чуть более useful, спасибо, AWS! 👍

https://aws.amazon.com/ru/about-aws/whats-new/2018/10/aws-lambda-supports-functions-that-can-run-up-to-15-minutes/
Envoy hot restart: обидно

В доке у Envoy описано кучу классных юзабельных техник, к примеру hot restart. Это значит, что можно релоадить Envoy без оборванных соединений, применять новую конфигурацию на лету, и быть счастливым.
Вот тут описано, как должно работать: https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/hot_restart.html

Давайте проверим, как оно бывает в реальном мире 😱

Как читаю я, и что понимаю: docker kill --signal=SIGHUP envoy - и применилась новая конфигурация
Как пишут доку, и что в нее вкладывают: сделаем скрипт на Python, который будет запускать Envoy, ловить сигналы и делать магию

Обидно! CNCF, Lyft, кто там еще замешан 🙁

Вот, прям в доке описано:
https://www.envoyproxy.io/docs/envoy/latest/operations/hot_restarter
Hashicorp Vault pricing: OMG

Периодически всплывают вопросы: сколько стоит Hashicorp Vault? Тот который с HA, MFA, auto unseal, Disaster recovery, Replication, etc.

Пару лет назад (средина 2017) я у них спрашивал: ответ был краток - меньше $10 000/per year не подходи, и это еще самый базовый план.

Где-то пол года назад подобную инфу риквестил Игорь Бородин: ценник был чуть поболее, но плюс-минус такой же.

А теперь посмотрите, что ответили Ярославу Молочко 😂
https://i68.tinypic.com/10qw9y1.png

P.S. Проверьте бекапы вашего, надеюсь не стенделон Vault, попробуйте отресториться с бекапа, и на вскидку прикиньте что будет, если тупо дропнуть все секреты.
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/