Pull to refresh
52
0
Oleg Voznesensky @seasadm

DevOps

Send message

Наш опыт эксплуатации Airflow в Kubernetes

Level of difficultyMedium
Reading time11 min
Views5.4K

Apache Airflow — это один из самых популярных ETL-шедулеров. ETL-процессы — это когда мы выбираем интересующие нас данные, приводим их к агрегированному виду и сохраняем для дальнейшего использования. И это присутствует везде, где есть необходимость анализа данных. Соответственно, Airflow предназначен для того, чтобы запускать пайплайны обработки данных.

Читать далее
Total votes 30: ↑30 and ↓0+38
Comments3

Отказоустойчивый деплой приложений в Kubernetes. Принципы, паттерны и приемы

Level of difficultyEasy
Reading time18 min
Views8.7K

Привет, Хабр! Я  исполнительный директор по разработке департамента ML и BD Газпромбанка. Сегодня хочу поговорить с вами о деплое.

По данным, приведенным в Google SRE book, до 70% проблем происходит вследствие изменений в уже работающих системах. По моим личным ощущениям, это близко к правде: если у вас хорошо спроектированное и написанное приложение и стабильная, отлаженная инфраструктура, именно деплой — узкое место (которое можно улучшить). Для минимизации рисков Google SRE BOOK рекомендует использовать постепенные выкаты, быстро и точно анализировать проблемы, а в случае необходимости легко откатываться обратно. 

Эта статья о деплое в Kubernetes, потому что это самая популярная инфраструктурная платформа, которая уже имеет множество возможностей для построения отказоустойчивых выкатов. А то, чего не хватает «из коробки», покрывается возможностями инструментов развитой экосистемы. 

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

Те, кто больше любит слушать, чем читать, могут посмотреть мой доклад про это на HighLoad++. Остальным — добро пожаловать под кат.

Читать далее
Total votes 20: ↑20 and ↓0+22
Comments0

Kubernetes: шпаргалка для собеседования часть 2

Level of difficultyMedium
Reading time11 min
Views17K

Всем привет! Это снова Олег. Как и обещал, публикую вторую часть текста, посвященную вопросам, которые могут быть заданы на собеседовании по Kubernetes. 

Чтобы было понятно о чем речь, коротко: я работаю исполнительным директором по разработке в Газпромбанке, собеседую инженеров DevOps и системных администраторов. Делюсь вопросами (и ответами, конечно), которые могут быть заданы на собеседовании. Первую часть можно найти здесь. Итак, поехали.

Ехать далее
Total votes 11: ↑10 and ↓1+10
Comments17

Kubernetes: шпаргалка для собеседования

Level of difficultyEasy
Reading time10 min
Views43K
Всем привет! Меня зовут Олег, я работаю исполнительным директором по разработке в Газпромбанке. На разных этапах карьеры я участвовал во многих собеседованиях, а в настоящее время сам собеседую кандидатов на должность инженеров DevOps и системных администраторов в Газпромбанке, вследствие чего у меня сформировалось некоторое представление о вопросах, которые могут быть заданы соискателям. И сейчас я хочу остановиться на разделе вопросов про Kubernetes.

image

Сразу хочу сказать, что изначально планировал сделать одну статью, но в итоге получилась такая простыня, что пришлось разделить текст на две части. Ссылку на вторую опубликую здесь, как только она появится (вот она).

Вопросы по Kubernetes достаточно часты на собеседованиях на инженерные вакансии, связанные с администрированием и эксплуатацией. Они могут варьироваться от базовых, рассчитанных на механическую проверку теоретических знаний («объясните, что такое service») до более сложных и комплексных, требующих глубинного понимания внутренних принципов Kubernetes и работы (каким образом опубликовать приложение, развёрнутое в Kubernetes). Давайте пойдём от базы в направлении возрастания сложности.
Читать дальше →
Total votes 19: ↑18 and ↓1+20
Comments12

Зачем нужны облака и как правильно их использовать

Level of difficultyEasy
Reading time12 min
Views8.3K
image
На этой диаграмме хорошо видно, почему облачная инфраструктура позволяет гарантировать доступность вашего проекта

Есть хорошая фраза: «Нет никаких облаков, есть просто чужие вычислительные мощности».

Эту мысль стоит всегда держать где-то на заднем плане, когда планируешь развитие своей инфраструктуры. Облако — это не волшебная коробочка, которая гарантирует 100-процентную неубиваемость сервисов и их доступность. Это скорее история про быстрое получение почти произвольного объёма ресурсов ровно на тот период, когда они вам нужны. Где-то в бэкенде всё равно крутятся те же самые сервисы, выходят из строя и заменяются жёсткие диски. Просто теперь большинство этих задач — не ваша головная боль.

Привет, меня зовут Олег Вознесенский, и я руководитель разработки отдела развития инфраструктуры для анализа данных в Газпромбанке. Сегодня я попробую рассказать про то, какие основные выгоды можно получить от облаков, какими они бывают и как правильно строить свою инфраструктуру, чтобы потом не было мучительно больно. Поговорим о классической дилемме питомцев и домашнего скота и о том, как правильно всё это запекать.

Если в ядре вашей инфраструктуры до сих пор есть сервера, которые тщательно настраиваются вручную уже шестым поколением бородатых людей в свитерах, то пост может быть вам полезен.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments3

Зачем нужны feature-окружения и как с ними работать

Level of difficultyEasy
Reading time12 min
Views3.1K

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


Читать дальше →
Total votes 3: ↑2 and ↓1+2
Comments0

Что такое GitOps и почему он (почти) бесполезен. Часть 2

Level of difficultyHard
Reading time13 min
Views8.8K

Одной каноничной синей изоленты может не хватить

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

Первая часть статьи вызвала живое обсуждение. Мысль, что git является не единственным источником истины при наличии связанных артефактов во внешних системах (особенно если эти артефакты имеют потенциальные проблемы с повторяемостью сборок), встретила некоторые возражения. Но в этом вопросе я предлагаю следовать закону Мерфи: если неприятность может случиться, то она случается. Рано или поздно не отображаемые в git проблемы внешних зависимостей выстрелят вам в ногу. Эти риски нужно постоянно держать в голове и по возможности митигировать.

Какие ещё потенциальные сложности могут встретить вас при следовании пути GitOps и какие могут быть альтернативы? Давайте разберёмся вместе.
Читать дальше →
Total votes 28: ↑26 and ↓2+34
Comments140

Что такое GitOps и почему он (почти) бесполезен

Level of difficultyHard
Reading time9 min
Views18K

Новый авиалайнер. Входит стюардесса в пассажирский салон: «Вы находитесь на нашем новом авиалайнере, в носовой части самолёта у нас находится кинозал, в хвостовой — зал игровых автоматов, на нижней палубе — бассейн, на верхней — сауна. А теперь, уважаемые господа, пристегните ремни, и со всей этой хреновиной мы попробуем взлететь».

Привет, меня зовут Олег! В ИТ-индустрии я работаю большую часть своей жизни. Мне очень интересно развитие инженерной мысли в области управления конфигурацией инфраструктуры, и последние шесть лет я занимаюсь тем, что называется DevOps.

Одна из свежих популярных тенденций — это концепция GitOps, которая была представлена в 2017 году на ставшем уже легендарным «Кубконе» Алексисом Ричардсоном — СЕО компании Weaveworks.

Weaveworks — это большая взрослая компания, которая в 2020 году привлекла больше 36 миллионов инвестиций под развитие своего GitOps.

Сейчас я попробую рассказать о тех неочевидных проблемах, которые могут вас ждать при принятии этой концепции. Если коротко, то GitOps не является «Серебряной пулей». Вполне вероятно, что спустя какое-то время вы закончите реорганизацию с ворохом велосипедов и костылей, которыми очень сложно управлять. Мы сами изрядно походили по этим граблям и хотим показать наиболее неприятные проблемы, которые не видны при чтении красивых статей.
Читать дальше →
Total votes 43: ↑35 and ↓8+35
Comments55

Паттерны отказоустойчивости приложений в Kubernetes

Reading time22 min
Views16K
Балансировщики падают, контроллеры зависают, а дата-центры атакуют экскаваторы. Это нормальная история. Мы живём в мире, где нет ничего надёжного на 100 %, а любой бит в планке оперативной памяти может внезапно перещёлкнуться из-за пролетевшей космической частицы.

Другое дело, что даже в условиях постоянных рисков отказа отдельных элементов нам нужно обеспечить работоспособность инфраструктуры в целом. Клиент не должен заметить, что где-то отказал контейнер с php-fpm или одна из серверных стоек выпала из сети.

По роду деятельности мне постоянно приходится сталкиваться с проблемами отказоустойчивости, так как я руководитель разработки в отделе Газпромбанка, обеспечивающем эксплуатацию ML и Big Data-решений. Поэтому сегодня я хочу рассказать о нескольких паттернах отказоустойчивости и типовых решениях при эксплуатации приложения в кластере Kubernetes. Разберём основные паттерны, ну и, конечно, рассмотрим варианты, при которых неправильные настройки прострелят вначале одну ногу, а потом — другую, потому что она слишком медленно стала шагать.


Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments4

Погружение в Helm Package Manager. Часть вторая

Reading time11 min
Views21K

Helm — один из самых популярных пакетных менеджеров для Kubernetes, так что познакомиться с ним поближе стоит всем, кто сталкивается с задачами деплоя приложений. Эта статья завершает мое краткое, но достаточно полное введение в Helm.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments9

Погружение в Helm Package Manager. Часть первая

Reading time12 min
Views47K

Helm — один из самых популярных пакетных менеджеров для Kubernetes. Познакомиться с ним полезно любому DevOps-инженеру и всем, кто сталкивается с задачами деплоя приложений. Эта статья — первый из двух материалов, которые можно вместе можно рассматривать как краткое, но достаточно полное введение в Helm.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments13

Обзор графических интерфейсов для Kubernetes

Reading time11 min
Views72K


Для полноценной работы с системой важно знание утилит командной строки: в случае с Kubernetes это kubectl. С другой стороны, хорошо спроектированные, продуманные графические интерфейсы могут выполнять большую часть обычных задач и открыть дополнительные возможности при эксплуатации систем.

В прошлом году мы публиковали перевод небольшого обзора web UI для Kubernetes, приуроченного к анонсу веб-интерфейса Kubernetes Web View. Автор той статьи и самой утилиты — Henning Jacobs из компании Zalando — как раз позиционировал новинку в качестве «kubectl для веба». Он хотел создать инструмент с удобными возможностями для взаимодействия в формате техподдержки (например, быстро показать проблему веб-ссылкой) и для реакции на инциденты, поиска проблем во многих кластерах одновременно. Его детище развивается и в настоящее время (в основном, силами самого автора).

Обслуживая множество Kubernetes-кластеров разных масштабов, мы тоже заинтересованы в возможности предоставлять клиентам инструмент визуальной работы. При выборе подходящего интерфейса ключевыми для нас были следующие возможности:
Читать дальше →
Total votes 42: ↑41 and ↓1+51
Comments28

Бег — идеальный спорт для удаленщика. Часть 2: физика и матчасть

Reading time20 min
Views51K


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

Итак, что даёт нам бег?
Читать дальше →
Total votes 86: ↑80 and ↓6+97
Comments257

Бег — идеальный спорт для удаленщика. Часть 1: путь до первого забега на сотню километров

Reading time11 min
Views34K


Меня зовут Олег, я работающий удалённо DevOps-инженер в компании «Флант», и в этой статье я постараюсь убедить вас в том, что занятия бегом — лучший выбор для удалёнщика.

Недавно сумма преодоленных мной километров перевалила за цифру 3000. Но так было не всегда. С детства я был категорически неспортивен. Уроки физкультуры и в школе, и в университете вызывали у меня стойкое отвращение.
Total votes 77: ↑72 and ↓5+67
Comments222

Азбука безопасности в Kubernetes: аутентификация, авторизация, аудит

Reading time12 min
Views24K


Рано или поздно в эксплуатации любой системы встаёт вопрос безопасности: обеспечения аутентификации, разделения прав, аудита и других задач. Для Kubernetes уже создано множество решений, которые позволяют добиться соответствия стандартам даже в весьма требовательных окружениях… Этот же материал посвящён базовым аспектам безопасности, реализованным в рамках встроенных механизмов K8s. В первую очередь он будет полезен тем, кто начинает знакомиться с Kubernetes, — как отправная точка для изучения вопросов, связанных с безопасностью.
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments8

Information

Rating
Does not participate
Location
Кострома, Костромская обл., Россия
Registered
Activity