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

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

Это будут инсайты от крутых чуваков из DevOps мира на технические темы. 🔥

Сегодня выложу заметку о том, как легче всего выучить/понять/начать использовать Kubernetes. 😳
▶️▶️▶️ ДевОпс Инсайт: #devops_engineer_insights

Как легче всего зайти в Kubernetes?

На реальном опыте отвечает Сергей Михно (в жизни Серенький, в телеграме @Serhii_Mikhno). Уникально и только для подписчиков канала ДевОпс Инженер.

Путь ознакомления k8s зависит от задач, которые перед Вами стоят.
Тут есть два варианта - или для галочки у себя в резюме, или когда нужно поднять существующую инфраструктуру в кубере (как было у меня).

В обоих случаях лучше начинать с тестового проекта в GKE: https://cloud.google.com/kubernetes-engine/.
Например, поднять там какой-то сервис, который Вы уже умеете готовить. Далее можно добавить HA, настроив нужное колличество реплик и добавив healthchecks, а так же заекспоузить сервисы через ingress.

Все основные примитивы и концепции Kubernetes легче и быстрее всего освоить тут: https://kubernetesbyexample.com/ (обязательно добавить в закладочки). 💡

При решении этого задания, в любом случае нужно будет опираться на документацию, и очень желательно опираться на api reference k8s: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/

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

Пару слов насчет Helm. Эта штука полезная и стоит уметь ею пользоваться, но далеко не во всех случаях. Потому что это дополнительный уровень абстракции над уже существующей моделью сущностей. Это облегчает управление и группировку громоздких сервисов, но затрудняет понимание того, какие реальные манифесты уходят в исполняемую среду.
По этому плагин helm template обязателен к установке, и важно понимать реализацию go template: (https://golang.org/pkg/text/template/), он очень похож на jinja2 (как в Ansible), так что с этим проблем не будет.

Теперь по поводу CI\CD. Написано уже очень много о том, как правильно готовить процессы с кубером. Мне лично помог блог компании Флант на Хабре: https://habr.com/company/flant/ , у них есть пару хороших видосов, которые проясняют lifecycle в кубере.

Далее, когда приложение уже запущено и работает, освоены основные концепции и примитивы - можно приступать к разворачиванию всяких штук вроде istio, подкручиванию network policy, RBAC, эксперименты с разными ingress controller и тестированию оверлейных сетей.

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

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

Желаю удачи в изучении Kubernetes! 💪💪💪
​​Привет, IT-сваха в деле) 😇 😂

Познакомлю с командой топ-перформеров, топ-девопс инженеров из 4-х человек. Основной фокус на микросервисы и оркестраторы, хайлоадные штуки и передовые технологии на рынке. Ребята реально супер-пупер, с выступлениями на лучших конференциях и опытом внедрения самых сложных архитектурных решений. 🔥💥☄️

Познакомлю за бонус. Отписывайте мне в личку: @mukolaich или еще куда-то) ◀️

Всем продуктивного рабочего дня! 🙏
Киевляне!

9-го июня есть шанс послушать интересные доклады и получить оффер 💥

https://www.globallogic.com/ua/news/globallogic-devops-career-day-kyiv/

Мне нравится подобная неформальная обстановка - это ведь не 100500 этапов собеседований, плюс, как всегда, напакуют разными блокнотиками-футболочками 😂
Минутка самопиара (о конференциях и докладах) 😇

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

Основной акцент я делал на простоте. Чтобы люди не смотрели на сложные вещи с мыслью что "ого, мне такое не нужно/такое работать у меня не будет/это очень сложно", а наоборот. 💡

Чтобы слушатели возвращались в свои команды и внедряли полезные инженерные практики 💪💪💪

У меня было 3 доклада, и даже есть 2 видео.

Первый с highload days в Киеве - я рассказывал про Hashicorp Vault (а корректировал доклад Сева Поляков). В докладе есть разбор решений для менеджмента секретов, и пошаговая инструкция как его добавить в Вашу инфраструктуру.

▶️ https://www.youtube.com/watch?v=U255rz9Q2v8

Второй доклад я делал с Димой Лавриненко на DevOps Meetup, который организовывал SS. И потом еще ездил в Provectus в Одессу в этим же докладом. Там было о миграции мелких проектов в Kubernetes (в первой итерации в GKE) и даже ссылка на репозиторий, в котором описан IaC + кубер манифесты, сразу с helm. Эту заготовку мы делали с ребятами из MacPaw - напилили PoC и расшарили для Вас ❤️☺️

▶️ https://www.youtube.com/watch?v=vaKP4-tw_Bs

Еще можете проследить качественный рост самого выступления (не технической части, а именно выступления). Это благодаря курсу публичных выступлений, который я имел честь пройти в MacPaw.

Понажмакивайте плиз огонь, если хотите чтобы я подготовил еще докладов, или кактусы - если не хотите 😃

Всем продуктивного дня!
А еще мы готовим небольшую, но очень полезную заметку о Logs Aggregation в контейнерных инфраструктурах. На днях будет. Не переключайтесь 😂
Всем привет!

▶️ Вышел Девопс-дайджест #20 - это для тех, кто вообще ничего не читает 😅 можно раз в 2 месяца читать дайджест, и быть в теме 💡

https://dou.ua/lenta/digests/devops-digest-20/

▶️ После предидущего поста о DevOps Factors мне написал старый добрый друг @MaksymTymchyk и за 5 минут сверстал лендинг на бутстрапе. Фундамент заложен, спасибо мужик! Мы уже начали работать над локализацей. Судя по аналитике факторы уже посетило более 1к уников. 💯

https://devopsfactors.com/

💥 Еще я подумал, что круто было бы с Вами расшарить всякие RSS подписки. Это даст возможность быть в самом трендовом тренде, даже когда в чатике ничего не появляется. Что скажете, шарить RSS или не нужно?
5 июля в Киеве на Днепре пройдет Riverbed Cruise: конференция по реализации APM, нетворкингу в клаудах и частично сетевому железу.

Судя по описанию, полезно будет для тех, кто любит крутить SDN и самостоятельно строить WAN/LAN сети. 💻🖨

Прикольно, что эта вся движуха будет на теплоходе. 🚀

▶️ Больше информации тут: https://goo.gl/asD6Ei 📌
Интересная статья о CNI и о том, как выбрать сетку для Вашего кубера. Рассматриваются 7 самых популярных реализаций, есть сравнительная табличка с фичами 🏆

В целом ничего супер нового и прорывного, но вполне себе интересно и полезно. 🙏

📌 https://chrislovecnm.com/kubernetes/cni/choosing-a-cni-provider/
Ребята, кто уже успел обновиться на ELK 6.3.0

Натыкайте пальцев вверх, если уже обновились, пальцев вниз если нет, и краба - если у вас нет ELK 🔥

На всякий случай даю ссылку на релиз ноутс 😎
https://www.elastic.co/blog/elastic-stack-6-3-0-released

Обращаю внимание на Кибану - подвезли удобные автодополнения в строке поиска, быстрое создание графичков, вкладку с операциями для индексов в Elasticsearch и удобный ресайз графиков на дашбордах (примерно как в актуальной Grafana). Вот даже есть видео:
https://www.youtube.com/watch?v=q9R7r4ncaPY
UPD: 🔼🔼🔼

Вдогонку про Elasticsearch (если честно, то я поспешил и запостил про весь стек) - появилась поддержка SQL 🙈😳😱

Вот тут написано больше: https://www.elastic.co/blog/elasticsearch-6-3-0-released ◀️

Т.е. теперь будут работать запросы вида
SELECT … ORDER BY SCORE() DESC
и
SELECT … WHERE MATCH(fieldname, 'some text')


А еще они перевезли новую версию на Java 10 и зарелизили JDBC driver для всего этого. Капец!

Реализация очень ожидаемая: под капотом Elasticsearch транслирует SQL запрос в Elasticsearch DSL. Вот тут описано как именно: https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-translate.html

Спасибо, мужики! 🔥🔥🔥
Robert Gibb - чувак, о котором я никогда не слышал, расшарил довольно интересную инфу о Netflix в AWS. 😳

В общем, Нетфликс тратит в месяц $40.000.000 на всякие клаудные сервисы, и из этих денег $23.600.000 на AWS.

И вторая фишка - в ответе есть скриншот с разными клаудными сервисами. Можно попробовать отреверсинжинирить, и узнать их стэк 😱😝

Подобные цифры поражают, и становиться понятно - вот они, огромные инфраструктуры! В таких инфраструктурах цена решения очень высока, и реально эффорт от небольшой оптимизации будет огромен.
Например, Амазон зарелизил новый тип инстансов, который по CPU на 10% круче, чем прошлое поколение. В таком случае, при очень грубых подсчетах, экономия составит $22.000.000 в год.

Или какой-то SRE переписал тяжелую апку на Go, и теперь вместо кластера на 100500 серверов нужно 2 сервера. 😉

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

Где-то в кулуарах слышал историю, что ДевОпс инженер перевез ML проект с обычных инстансов на GPU-optimized, и после премии купил квартиру и дизельгейтную Audi A3. Не знаю, правда ли это, но теперь начинаю верить 😂😂😂

https://www.quora.com/How-much-does-Netflix-spend-on-Amazon-AWS/answer/Robert-Gibb
​​5 июля (четверг) после работы в 19:00 будет летний ДевОпс-митап, который проводит компания Levi9. 😱🙈

Всего ожидается 3 доклада:
👉 как тестировать  ДевОпс-штуки с помощью Behave фреймворка;
👉 дайв в ДевОпс-методологию и классификацию девопсов;
👉 как мигрировать продукт в клауд, чтобы было не больно;

Если учесть, что летом не так много DevOps митапов, то нужно идти) 🔥💥

▶️ Ссылка на FB: https://www.facebook.com/events/2013639988951071/
▶️ Регистрация тут: https://goo.gl/forms/mAWHGMbWIIq0T9Us2
Вчера релизнулся Kubernetes 1.11 🔥

Тут описано более кратко:
https://kubernetes.io/blog/2018/06/27/kubernetes-1.11-release-announcement/

А тут абсолютно все изменения:
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#kubernetes-111-release-notes

Кратко из интересного:
- CRD теперь можно сразу много версий
- в kubelet добавили гибкое конфигурирование по кластерам
- горячий ресайз Persistent Volumes (пока альфа)
- уже можно IPVS балансировку

А теперь про плохое. Мой коллега на KubeCon прыгал на батуте, и вывернул руку. 🤞

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

Хорошие знакомые попросили помочь строить DevOps в их стартапе в Киеве.

Ребята собрали ~5 млн долл инвестиций, и теперь строят лучший мультистримминговый сервис (это чтобы можно было видосики сразу во все места - и на ютуб, и твич, и фб одновременно).

Команда разработки оч сильная, и их лично менторит СТО из Facebook.

Какого девопса хотят:
👉 проактивного человека
👉 который умеет в CI/CD
👉 умеет в клауды (AWS, GCE)
👉 знает как делать Docker и Kubernetes

Что предлагают:
- $4500+ 😱
- опционы 😱

▶️ Описание вакансии: https://goo.gl/Gj327Z

▶️ А писать можете сразу Ане:
▶️ @tulinazavr
Суперская аналитика от DigitalOcean:

https://www.digitalocean.com/currents/june-2018/

Пока только ссылка, выводы немного позже! 😄
👆👆👆 Продолжение (выводы) 👆👆👆

1️⃣ Контейнеры везде - это видно издалека и сразу. Все кто уже заимплементил - красавчики, кто не успел - будут догонять и учится на опыте первых. В скором времени можно ожидать появление новых архитектур, уклон в сторону Serverless, возникновение новых еще более тонких технологий. Как вариант - юникернел, но это не точно.

2️⃣ Kubernetes и Swarm держат более 75% процентов рынка контейнеров. Это поддерживает гипотезу о MVP на докер сворм, а продакшн реди - на k8s. Получается странная ситуация - хоть Swarm и "мертвый" проект, но пользуется популярностью. Есть несколько вариантов - или Docker сам депрекейтнет поддержку (в ближайшее время сомнительно) или кубер станет сильно проще и удобнее для мелких проектов. Второй вариант прослеживается уже сейчас - появление кучи PaaS, оберток и врапперов возле кубера. Делать акцент на изучение Mesos/Nomad/другое я бы не стал.

3️⃣ Никто не хочет работать с компаниями в которых такой себе менеджмент, или технологии страдают. В то же время если зп сильно выше рынка - то все норм, можно работать.

Кстати, про рыночную зп. На доу появились свежие данные с последнего опроса - я, как всегда, отфильтрую инфу по DevOps и выложу сюда. Также у меня есть консерны по поводу актуальности зп на доу. Даже задумываюсь провести альтернативный опрос.

Не переключайтесь!
Подготовил данные по нашим ЗП: https://goo.gl/AFyuoJ

Это я взял из исходников последнего опроса на доу.

Что получается (для Киева, и для DevOps):
- это беглый взгляд, без аналитики 😱
- если зп 5к+ - то типа это красава, в среднем по рынку чуть меньше 🔥
- очень много киевских ребят с дельтой 3-4к, это типа норма 😉
- если меньше 3к - прецедент подумать что можно улучшить 🤔

Есть очень интересные ребята:
- Киев, 6,9к, продукт (мем или нет?)
- Одеса, 8к, продукт
- Киев, 7к, продукт

Получается ... Очень даже неплохо) 💵💵💵

Если что - меня можете там не искать, я не голосовал 😂

Вообще - о ЗП говорить не принято. Но это во всем остальном мире, в канале - можно.

Заряжаю всех на зп побольше 😇
Ого! Совсем скоро Jenkins можно будет в yaml! 🔥

https://jenkins.io/blog/2018/07/17/simple-pull-request-plugin/

Что это значит для нас:
- Jenkins этим решением начнет отжимать клиентов у других CI
- меньше Groovy
- будут таски на импрувмент - “а перепишите нам дженкинсфайл”
- проще будет понимать, что же происходит
- эта штука полюбому будет ломаться и не работать в первых итерациях 😒

Советую сыграть на опережение, и закинуть таску в беклог. 😉
Best practices - как уметь в контейнеры! (от Google) 🔥

▶️ Детальнее как всегда по ссылке, а тут - самое мясо:
1. один контейнер - один процесс (и сабпроцессы)
2. нужно уметь хендлить сигналы правильно
3. обязательно использовать докер кеш
4. чистить контейнер от всего ненужного по-максимуму
5. делать контейнер как можно меньше
6. правильно тегировать и версионирвать контейнеры
7. акуратно выбирать родительский паблик-имедж

https://cloudplatform.googleblog.com/2018/07/7-best-practices-for-building-containers.html

Очень даже достойные советы, говорят все знаменитые архитекторы их знают наизусть. 😂

Прямо сейчас иду на Go митап, если будет что-то супер интересное - вы будете в курсе. Хорошего вечера! 👍