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

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

👇 всего одна глава (почти как саммари) 👇

https://landing.google.com/sre/book/chapters/service-best-practices.html
Ребята! Я заболел 🤒🤕

Но уже выздоравливаю. Прилетел, и на следующий день заболел. Очень обидно(

А пока я поправляюсь, посмотрите какую крутую статью написал Юра Рочняк в блоге на медиуме:
https://medium.com/preply-engineering/lambda-edge-and-where-to-find-it-92b7c9c37f22

🔹Во-первых, у него в Preply все очень неплохо, и хорошая экспертиза в serverless-related штуках;
🔹Во-вторых, завести блог, да еще и на английском - многого стоит.
🔹В-третьих, это действительно технически грамотная статья о Lambda@Edge + Cloudfront + Terraform;

Preply, you rock! 👍👍👍 (нажамкайте Юре пальцев вверх, и наверное он напишет еще что-то полезное)
Уууух как круто прошла конфа! 😎

Мне понравилось, что ребята из fwdays очень классно проработали все моменты: после обеда были лайтовые доклады на общие темы, а хардкор примерно в 12 (когда все уже проснулись, но еще не устали). Очень порадовали сами доклады и треки - сложно было выбрать что и куда идти, хотелось быть везде и одновременно))

Отдельно могу отметить юмор Александра Соловьева из "магазина одежды", топ-хедлайнера конференции, он очень позитивно завершил этот продуктивный день. 👆

В целом впечатления крайне положительные, не считая непонятного мне конфьюза с Svitla systems, однозначно пойду в 2019.

Для тех кто не попал, или был на OSDN есть записи докладов по трекам:
🔥main stage: https://www.youtube.com/watch?v=MbZgXZBxgV8
🔥track a: https://www.youtube.com/watch?v=sVhsY-kYi0Y
🔥track b: https://www.youtube.com/watch?v=i5-sFUqVhrs
🔥track c: https://www.youtube.com/watch?v=Lxop86CIfg0

Расписание докладов (для навигации) есть на сайте:
▶️ https://fwdays.com/en/event/highload-fwdays-2018#program-event

А я пошел внедрять на практике этих всех сферический коней в вакууме 🙈
Для тех, кто любит смотреть конференции на работе 😂

Подьехала запись докладов с OSDN (спасибо Mykola Marzhan).

Доклады удобно порезаны на видео, рекомендую посмотреть на Lennart Poettering - создателя systemd.

https://www.youtube.com/playlist?list=PL_O8YSX8ckffdJPhMNU87ZgVqq5Y-OAGj&disable_polymer=true
Если у вас github и kubernetes манифесты - эта штука будет очень кстати: она интегрируется прямо в репозиторий (вкладка Checks) и следит, чтобы все было в порядке.
▶️ https://github.com/urcomputeringpal/kubevalidator

Но даже если у вас не github, то можете запилить проверку прямо в CI процесс:
▶️ https://github.com/garethr/kubeval

Полезно?
Импорт/экспорт Grafana dashboards

Пришла мне таска - взять все существующие дашборды для графаны, немного их подкрутить, и пушнуть туда же как новые. Темплейтинг заюзать нельзя - оно там все супер-динамическое с завязкой на свой датасорс для каждого конкретного хоста. Короче - гемор.

И этих дашбордов более нескольких десятков.

Сразу дока, API - и погнали. Есть на импорт/экспорт, а значит кто-то уже писал автоматизацию.

Полез я в интернет, и сразу наткнулся на github gists, где разные ребята в коментах писали свои версии скриптов. Но вроде же дожно быть что-то более продакшн реди? И да, есть либа:
💥 https://github.com/hagen1778/grafana-import-export

Она заэкспортила дашборды, и пришла очередь фиксить json.

Для этого есть тулза jq, не самая удобная, но работает. Пример, где в slug меняется поле:
jq '(.meta.slug |= "aws-" + .)' $filename - на поиск синтаксиса ушло 2 чашки чая 🙁

Датасорсы в графиках лучше менять с помощью sed:
sed 's/"datasource": "influxdb"/"datasource": "new-datasource"/g' - через jq тяжело обойти все вложенные ключи, и не сломать лишнего

Обязательно нужно поменять title - иначе ничего работать не будет (упадет с ошибкой):
jq '(.dashboard.title |= "AWS | " + .)' $filename - тут добавляется 'AWS | ' и существующее имя дашборда

Это все очевидные вещи, но в конце ждал сюрприз. Ошибка The dashboard has been changed by someone else. Хм, что же это значит? Сразу мысль подсказала посмотреть на ключи version и id. Ключа с версией небыло, а вот id был. Где-то на гитхабе советовали засетить его как null, или вообще удалить. Ну я и удалил:
jq 'del(.dashboard.id)' $filename

После этого дашборды заэкспортились и все взлетело.

Надеюсь, сохранил вам несколько часов гугления и набивания шишек 😄
Давайте поменяем Bamboo на Concource CI

Если у кого-то проблемы проблемы с Jenkins/Travic/Circle/otherCI/etc, то скорее всего причина не в туле: причина в подходе

There’s no perfect CI. They all have different features

https://cintia.me/blog/post/ci-tool/
​​Знакомьтесь: это Volodymyr Tsap, у него своя девопс-контора и он зарабатывает явно больше 6.9к 💵💵💵

Как? Что нужно учить? Что нужно знать?

Обычно о таких вещах не рассказывают. Он уже провел миллион собеседований, и готов поделится что нужно качнуть для 6.9к 🔥🔥🔥

Думаю, такая инфа стоит явно дороже билета на конфу:

https://devopsstage.com/

P.S. Вова, будешь должен!
Если кто-то выпал на месяц и очень об этом сожалеет: актуальный девопс-дайджест:
https://dou.ua/lenta/digests/devops-digest-22/

Еще недавно проскакивала статейка, как стать девопсом (формулировка 😂):
https://dou.ua/lenta/articles/senior-devops/

И еще по версии DOU в разделе DevOps в среднем всего 1,6 отклика на вакансию: это отлично. Есть спрос, но маловато предложения. 😎
Нашел очень интересный топик на Stackoverflow, там есть сравнение основных решений по генерации Kubernetes манифестов: Helm vs Draft vs Ksonnet

https://stackoverflow.com/a/48896587/5004288

Что интересно, в SRE Workbook написано: для простых апок и инфраструктур делайте YAML (как удобно, helm etc - не важно), а для средне-сложных смотрите на jsonnet/ksonnet. (Это не точная цитата). Я задался вопросом, почему так - и нашел ответ по ссылке.

Решения на основе json предоставляют более гибкий интерфейс для шаблонизации и использования, это больше как конструктор. Он позволяет извращаться в любых формах, в то время как Helm - уже готовое решение.
Смотрите, что меня попросили вам показать:

https://hackit.ua/

Достаточно неплохие докладчики (СЕО, Founders, CTO) и конкурсы интересные 😂

И промокод на -55%: DOORKEYS

За инфу и промо спасибо Алексею Барабашу, DevOps Team Lead в NDA 👆👆👆
Дедушка

Нетехнический пост, но очень важный: позвоните своим родным. Скажите как вы их любите.

Дедушкам, бабушкам, маме и папе.

Кажется, что они будут с нами всегда. Но это не так.

Сделайте то, что хотели сделать. И не откладывайте.

У меня очень неожиданно умер Дедушка.

На этой неделе здесь не будет постов. Извините.
Гитхаб прилег (всю ночь восстанавливают сторедж):

https://status.github.com/messages
FYI: в AWS NLB можно прицепить Elastic IP (для меня было неожиданно):

Support for static IP addresses for the load balancer. You can also assign one Elastic IP address per subnet enabled for the load balancer.


https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html
Long-term datastore for Prometheus:
(starting points)

▶️ https://github.com/improbable-eng/thanos
- additional storage implementation: AWS S3, Google Cloud Storage

▶️ https://github.com/cortexproject/cortex
- patched Prometheus setup with new storage features
Learn HashiCorp: how to provision, secure, connect, and run any infrastructure for any application.

Пока только Vault, но скоро будут и остальные сервисы.

https://learn.hashicorp.com/
Это фиаско, братан: IBM покупает Red Hat за $34 млрд

И вероятно, это не очень хорошая новость: куча опенсорса также переходит под управление IBM. Судя по всему, команда разработки тоже переходит в IBM.

Интересно понаблюдать за Ansible - это будет показательное выступлене. Что в результате сделает IBM и как это повлияет на нас с вами.

Нажамкайте плиз пальцев вверх, если нравится эта новость, и краба - если нет.

https://techcrunch.com/2018/10/28/ibm-to-buy-red-hat-for-34b-in-cash-and-debt-taking-a-bigger-leap-into-hybrid-cloud/
В прошлый раз на XPdays Пол Стек приехал подрихтованным: фингал под глазом, нет переднего зуба, и распухшее лицо.

Оказывается, что это его начистили в Киевском баре: сказал, что Nomad лучше. 😂

В этом году он тоже будет защищать честь Hashicorp (он там работал), и я буду 100% - просто обязан это увидеть 🙂

Про XPdays можно сказать много хорошего: топовые спикеры, среди которых сам Mikalai Alimenkou (организатор), там будут выступать ребята из моей компании (привет Ярик и Женя), отработанные организационные моменты и много чего еще.

Я ограничусь вот чем: если я за день не узнал ничего нового, то день прошел зря. XPdays дает фору на пару недель вперед. Обожаю такие штуки, когда можно качнуться за короткий период времени 🔥

Билеты: https://xpdays.com.ua/registration/
Промо на 10%: DEVOPSENG_SYDPX_18
Если так сложилось исторически, что есть cron для чего либо, и его нужно менеджить, то лучше уже костылить полностью:

https://kray.me/2018/10/cron_monitoring_in_slack/

- для тех, кто рестартить сервис в кроне, который с memory leak
- для тех, кто стартует сервис в кроне, потому что тот постоянно падает
- для тех, кто запускает какие-то джобы приложения из крона

Накидайте плиз в личку (@mukolaich) как ризолвить такие штуки, а вечером расшарим инфу 🙂

Моя версия:
👉 https://aws.amazon.com/lambda - если AWS
👉https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/ - если кубер
👉https://github.com/mcuadros/ofelia - если докер
👆варианты от подписчиков:

🔹 если нельзя отказаться, лучше уже systemd cron: https://medium.com/horrible-hacks/using-systemd-as-a-better-cron-a4023eea996d
🔹 для рестарта бажных сервисов можно попробовать очень олдскульный монит: https://mmonit.com/
🔹 если нельзя даже systemd cron, то лучше накрутить сверху мониторинг: https://github.com/jamesrwhite/minicron и хоть как-то можно жить
🔹 и еще можно супервизор, он тоже в почете: https://supervisord.org/

Спасибо, ребят! ❤️
Вот он, легендарный Пол Стек с прошлой конференции:
https://www.youtube.com/watch?v=I3g_BfbGeHg

👆 рекомендую послушать на фоне, и обязательно вопросы в конце - очень классные и вопросы, и ответы)

И прийти офлайн на XPdays 2018, для того чтобы задать вопросы лично:
https://xpdays.com.ua/speaker/paul-stack-4/

Конференция будет 7-8 декабря в Киеве, и я договорился c @xpinjection разыграть билет на конфу среди наших подписчиков. О формате мы еще думаем 🙂