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

Я розглядаю технології та рішення, роблю огляд архітектурних проблем, включаючи контейнери, оркестратори, скейлінг, моніторинг, etc.
Download Telegram
Оказалось, есть люди, которые не шарят mysql датасорс в графане, и я решил с Вами тоже поделиться. 😎🤓🤗

https://docs.grafana.org/features/datasources/mysql/

Раньше, когда его небыло, и мы с ребятами делали мониторинг продуктовых метрик (а продакшн базка - мускуль), приходилось:
- писать кастомные чеки в системах мониторинга 🤢
- шедулить какие-то скрипты 🤢
- придумывать воркеров 🤢
- педалить сомнительные архитектурные решения 😂 (очень люблю эту фразу)

И все это для того, чтобы продуктовые метрики можно было вытащить из базейки, и положить куда-то в influx/graphite/whisper/elasticsearch.

После того, как появилась поддержка mysql датасорса, это все можно мутить прямо из коробки!

Еще раз опишу юз кейс: натравить на продакшн слейва, и рисовать красивые бизнес-метрики.

Например:
- сколько юзеров зарегалось за последний час 👍
- сколько онлайн пользователей 👍
- сколько денег заработали за последний час 👍
- самый большой чардж 👍
- сколько важных задач мы обработали 👍
- в общем, все что интересно бизнесу в конкретный момент времени 🤑🤑

Ребят, агонь?
Бонжорно, тутто бене!

Кто думал что я пропал? Признавайтесь! Вообще-то нет, просто был в затяжном отпуске.

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

Так как я был в отпуске, то занимался (в свободное от отдыха время) не техническими вещами, а полезными для софт скилов штуками.

Самым большим и качественным открытием этого отпуска для меня стал Тим Урбан. Это такой дядя, который разбирается в какой-то концептуальной теме (карьера, прокрастинация, рабочие моменты) по 1-2 года, а потом делает суперский лонг-рид с офигительными иллюстрациями.

Пару недель назад у него в блоге вышла статья о том, как правильно выбрать карьеру. Оставляю ссылку: https://waitbutwhy.com/2018/04/picking-career.html

И тут я реально офигел. Стало сразу очень жалко, что я не увидел этого лет 5 назад. Для тех кому 30+ должно быть жалко, что не увидели лет 10 назад (моя фирменная шутейка про возраст и старые ведра, привет моим коллегам).

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

Определенные штуки я уже неосознанно использовал, и это очень радует. 😎

И в конце, упомяну про шеф-поваров и обычных поваров (опять концепция Тима Урбана). Суть такова: прикольно изобретать новое и крутое, а не наследовать тех, у кого получилось. Результат работы шеф повара - новое блюдо. Результат работы повара - еще одна котлета.

Как это применимо к нам:
- о, те ребята запилили istio, и мы тоже пойдем пилить, хотя не понимаем, зачем он нам нужен
- гугл юзает борг, значит нам тоже нужна оркестрация
- у всех графит, и у нас будет графит
- клаудформейшн 111!!!

Очень надеюсь, что статья и подходы описанные в ней помогут Вам стать шеф-девопс-инженерами. И мне тоже, заодно) 😜
Наверное, паблик клауды считают, что у всех должна быть своя реализация PaaS Kubernetes 😂

Даже у DigitalOcean появился early access, (к тому же бесплатный на все лето).

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

Оставляю ссылку:
https://www.digitalocean.com/products/kubernetes/
Ребята, кто уже обновился на Grafana 5.1?

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

На всякий случай даю ссылку на релиз ноутс 😎
https://docs.grafana.org/guides/whats-new-in-v5-1/
А у нас кто-то есть с первой столицы? Я имею в виду с Харькова? 🤠

Мне написал некий Дима Лавриненко из СС, и сказал что будет выступать перед местными ребятами 26-го мая.

Вот ссылочка:
https://www.facebook.com/events/472708259891041/

На его доклад приходить не рекомендую (уж слишком нудный и непонятный тип), а все остальные можно и послушать. (шутейка 😂, он на самом деле норм)

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

https://medium.baqend.com/the-technology-behind-fast-websites-2638196fa60a

Мне очень понравился момент, в котором есть данные о потерях при увеличении латенси загрузки страницы.

Например, ускорение в 100 ms на Amazon приносит +1% прибыли. На их масштабах - это 1 миллиард. Неплохо картиночки заоптимизировали?) 😂

А в Google +500 ms к результатам поиска - и 20% пользователей не дожидаются результатов и уходят. 🐎

Так что действительно есть смысл предложить Вашему бизнесу сделать акцент на скорости загрузки 😎🤓🤗
Что делать? Как правильно поступить? DevOps Factors 😱

Примерно полтора года назад я вышел поздно вечером с работы, и меня беспокоила мысль: почему у нас в DevOps методологии нету ни одного дефолтного набора практик, и не понятно “что хорошо, а что плохо”.

Нигде нету готового пресета, по которому можно было следовать, и говорить - это ок, а это такое себе. А это - вообще очень плохо. 🤓

Определенный промежуток времени, особенно вначале карьеры, эту функцию лично для меня выполнял Джез Хамбл и его библия “Непрерывное развертывание ПО”. 😎

Как должен выглядеть CI процесс? Должен ли он делать гит пулл на конечных серверах? Или передавать готовые артефакты? Какой процесс деплоя оптимален? Сколько времени максимум может занимать сборка приложения?

Это все простые вопросы, и ответы на них есть в книге. Где-то очевидно и прямо, где-то между строк.

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

Еще очень сильно вымораживало то, что подобные наборы рекомендаций есть почти у всех кроме нас. У Scrum методологии - скрам гайд, у программистов - 12 factor app:

https://www.scrumguides.org/
https://12factor.net/ru/

А у нас нету такой штуки. Казалось бы - методология, у которой нету рекомендаций. Как хочешь - так и делай.

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

Это переросло в 10 пунктов, которые мы с ребятами из UkrOps очень детально проработали и описали.

На данный момент это выглядит вот так:
https://github.com/Mykolaichenko/devopsfactors

В результате это будет сайт с хипстерским дизайном и переводами на несколько языков.

А пока предлагаю Вам посмотреть на эту выжимку, если поддерживаете - звезду на гитхабе и лайк, если нет - форкайте и предлагайте правки 😂
Гайз, кто уже почитал статьи Тима Урбана и посмотрел видосы?

Знакомьтесь, это Максим Дорофеев: представитель высокого разума в стиле Урбана.
Айтишник-прокрастинатолог. Он рассказывает о том, как работать меньше и успевать больше.
И вообще кучу инсайтов о нас (выступление на хайлоаде):
https://www.youtube.com/watch?v=fWR5SFhBUWc

В любой непонятной ситуации - думай!
Всем привет, стартует новая рубрика! 🙈

Это будут инсайты от крутых чуваков из 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