Делимся самыми горячими вакансиями «Фланта»
DevOps-инженер. Поддержка клиентской инфраструктуры, тушение пожаров, выстраивание CI/CD-процессов и взаимодействия между dev и ops, перенос приложений в Kubernetes.
SRE-инженер в Deckhouse. Работа над повышением отказоустойчивости и развитием Kubernetes-платформы Deckhouse, которая уже пять лет крутится на сотнях кластеров в реальном production-окружении.
Go-pазработчик в Deckhouse. Разработка Kubernetes-платформы Deckhouse, исследование популярных Open Source-инструментов, работа над CI/CD и мониторингом.
Senior Frontend Developer (Vue 3). Работа над UI Kubernetes-платформы Deckhouse. Еще не выпустили первую версию UI, так что есть возможность серьезно повлиять на то, как Deckhouse будет общаться с пользователями.
DevSecOps / Security Engineer в Deckhouse. Работа над безопасностью Open Source-платформы Deckhouse, исследования и глубокое погружение в технологии контейнеризации.
По всем вакансиям можно писать в личку нашему рекрутеру Ксюше @Kseniarymar.
P.S. У нас есть и много других вакансий: QA, фронтенд, управление проектами и продуктами, бизнес-аналитика, пиар, UX-дизайн, образование: https://job.flant.ru/vacancies.
P.S.S. Зачем к нам идти? У нас глубокие и очень сложные задачи, много R&D, постоянный вклад в Open Source, бирюза здорового человека, горизонтальные и вертикальные переходы, отлаженные процессы, удаленка навсегда без всяких гибридов и СМС, крутые наставники и возможность влиять на нашу продуктовую линейку. Да и вообще, мы — компания, построенная инженерами для инженеров.
Похоже, какие-то астрологи объявили неделю werf😅Вышел самоучитель по CI/CD и Kubernetes от команды werf для Go-разработчиков
Отчет о состоянии DevOps в России 2023 — полная версия
Команда «Экспресс 42» вместе с «Флантом» и другими партнерами провела масштабное исследование состояния DevOps в России. Ранее мы уже делились видеозаписью большой дискуссии с обсуждением результатов исследования.
А на днях ребята закончили обрабатывать все данные и собрали большой подробный отчет о состоянии метрик, практик и инструментов, о результатах и планах компаний, о новых трендах на IT-рынке.
Полную версию отчета можно скачать по ссылке: https://e42.link/3NQZIcC
Организаторы конференции «БЕКОН», посвященной безопасности контейнеров и контейнерных сред, выложили все доклады и презентации в открытый доступ.
Первый в плейлисте — доклад нашего руководителя Kubernetes-платформы Deckhouse Константина Аксенова. Он рассказал об аутентификации в K8s. По словам Константина, ему очень понравился уровень докладов — так что рекомендуем посмотреть все видео.
📺 Плейлист со всеми докладами
🗒 Презентации
В начале июня CNCF выпустил отчет о развитии Kubernetes: как оркестратор расцветал после передачи всех прав от Google в эту некоммерческую организацию.
Мы изучили материалы отчета и поделились самыми интересными данными: кто вносит наибольший вклад в проект, насколько выросло количество контрибьюторов с 2014 года и как много компаний из списка Fortune 100 используют K8s.
https://habr.com/ru/companies/flant/news/744706
В мае «Фланту» исполнилось 15 лет, и мы решили порефлексировать о том, как мы развивались, какие решения принимали и как начали становиться продуктовой компанией.
Получилась не «парадная биография» или история про «успешный успех», а рассказ о том, как из небольших, на первый взгляд, утилит выросли наши флагманские проекты. И какую роль во всем этом сыграли вера в принципы Open Source и постепенный отказ от всех направлений бизнеса — кроме всего, что связано с Kubernetes.
https://habr.com/ru/companies/flant/articles/743462
Мы подготовили подробный разбор Coroot — утилиты с открытым исходным кодом для сбора и анализа данных о работе приложения. Coroot адаптирует данные телеметрии eBPF в понятные и наглядные графики. Тестировали инструмент в кластере Kubernetes 1.23 под управлением K8s-платформы Deckhouse.
Что будет в обзоре:
✔️ Как установить и настроить Coroot.
✔️ Какая информация доступна по умолчанию, а где не обойтись без фильтрации.
✔️ Какие возможности для мониторинга и уведомлений предоставляет Coroot.
✔️ Что нам понравилось и показалось удобным, а что — не очень.
✔️ Какие альтернативы Coroot существуют.
А еще будет много скриншотов.
🔥 State of DevOps 2023: результаты исследования
Ребята из «Экспресс 42» при поддержке наших экспертов, а также коллег из Yandex Cloud, OTUS и HeadHunter, провели масштабное исследование состояния DevOps в России. Поделимся результатами, а также подробно обсудим тренды и итоги отрасли 15 июня на вебинаре.
Спикеры
🔹Виталий Хабаров — ведущий инженер, «Экспресс 42».
🔹Александр Баталов — генеральный директор, «Флант».
🔹Павел Селиванов — архитектор, Yandex Cloud.
Что будет
🔸DevOps в цифрах — статистика по участникам DevOps-отрасли, результаты компаний за 2022 год и планы на 2023-й, роль IT в бизнесе.
🔸Метрики, инструменты и практики — профили эффективности 2023 года, актуальные инструменты и сервисы, ключевые практики.
🔸Cloud & Kubernetes — облачные решения и провайдеры, Managed и PaaS сервисы, экосистема Kubernetes.
Дата и время: 15 июня в 20:00 по МСК.
⚡️ Зарегистрироваться на вебинар
7 июня в 10.00 на конференции по безопасности контейнеров «БеКон» выступит с докладом руководитель разработки платформы Deckhouse Константин Аксенов. Он расскажет о разных вариантах предоставления доступа к Kubernetes API и рассмотрит, насколько безопасны самые распространенные из них:
✔️ X.509-сертификаты;
✔️ токены сервисных аккаунтов;
✔️ OIDC от провайдера;
✔️ внешний вебхук аутентификации.
Константин подсветит самые частые проблемы и подводные камни и, конечно, подскажет инструменты, которые помогут их диагностировать и устранить.
Конференция пройдет в Москве в офлайн-формате.
Купить билет >>
Регулярно изучаем закоулки в документации разных инструментов — и недавно в очередной раз читали про DRBD. Раздел про внутреннее устройство этой системы хранения данных показался нам настолько полезным, что мы решили его перевести. У документации DRBD нет разделов на разных языках, поэтому выложили его на Хабре.
Что вы найдете в переводе:
✅ как оценить размер метаданных;
✅ как устроены идентификаторы поколений и как их использует DRBD;
✅ как выбрать подходящий размер для журнала активности;
✅ как устроена внутренняя структура данных quick-sync bitmap.
Дано: 2 кластера Kubernetes в облаке. Нам нужно перенести хранилище данных из одного в другой. Есть нюанс: выключать хранилище нельзя, чтобы не вызвать коллапс сервисов, которые с ним работают.
Решение: В статье на Хабре разобрали не самый очевидный способ, как настроить миграцию etcd между двумя облачными кластерами Kubernetes так, чтобы она происходила без простоев.
«Флант» любит цифры. И сейчас наши внутренние перфекционисты ликуют: «Флант» вырос до 200 человек и отметил 15 лет.
И еще — наш канал перешагнул цифру в 1️⃣0️⃣0️⃣0️⃣ подписчиков. В соцсетях существует негласное правило: после этого канал считается взрослым. Спасибо, что помогаете нам «взрослеть».
Больше, чем цифры, мы любим только делиться опытом. И мы решили отметить дату подборкой наших самых читаемых статей:
1️⃣ «Тренды Kubernetes и контейнеризации в 2023 году»
2️⃣ «Git для ленивых: обзор консольной утилиты Lazygit»
3️⃣ «Git happens! 6 типичных ошибок Git и как их исправить»
4️⃣ «Устройство и механизм работы Prometheus Operator в Kubernetes»
5️⃣ «Наглядное руководство по SSH-туннелям»
6️⃣ «Обзор UI-инструментов для мониторинга и управления кластерами Apache Kafka»
7️⃣ «Как поднять Kubernetes на двух старых ноутбуках с Gentoo»
8️⃣ «LINSTOR — это как Kubernetes, но для блочных устройств»
9️⃣ «Пожалуйста, перестаньте рекомендовать Git Flow»
🔟 «Внутреннее устройство Kubernetes-кластера простым языком»
Всё OK: один «Флант» хорошо, а 200 — лучше
На днях нас стало 200. Число символичное — 200-й ответ, OK от сервера, хочет 24/7 видеть любой, кто занимается системным администрированием. Так что мы, как заправский сервер, шлём ответ: у нас всё OK👌
Чтобы вырасти до 200 человек, нам понадобилось почти 15 лет. «До сотни» мы разгонялись совсем не как гоночный болид — планку взяли только в апреле 2021 года — но нам так понравилось расти, что за два года мы увеличили штат еще вдвое. Пусть «закон Мура для „Фланта”» работает и дальше😝
На старте всем штатом «Фланта» были два друга-студента, которые мечтали установить GNU/Linux на каждый офисный десктоп. Теперь мы — продуктовая компания со своей K8s-платформой Deckhouse, командами разработки, собственными международными Open Source-проектами и одними из лучших инженеров в стране, которые знают о контейнерах почти всё.
P.S. А мы продолжаем расти: у нас большие планы по усилению команд DevOps и Go-разработки под Kubernetes — с возможностью контрибьютить в сам K8s!
Разработки без багов не бывает. Вот и у нас в одном из недавних релизов Deckhouse проявилось несколько проблем, одну из которых пока так и не удалось пофиксить до конца.
Мы воспользовались ситуацией — решили немного порефлексировать и поделиться с сообществом, откуда эти проблемы появились, как мы их решали и какие выводы сделали на будущее.
Спойлер: в очередной раз убедились, что Open Source-версия продукта — крутой способ своевременно узнавать о багах и получать обратную связь от пользователей.
https://habr.com/ru/companies/flant/articles/732854
Вебинар. Ванильный Kubernetes vs. специализированная платформа от вендора: открытый анализ отличий и преимуществ
Приглашаем на онлайн-дискуссию с Андреем Радыгиным, директором по развитию бизнеса из «Фланта», и Андреем Сидоровым, системным инженером-экспертом ЕДИНОГО ЦУПИС (ООО НКО «Мобильная карта»). Дискуссия пройдет 1 июня в 11:00 МСК.
Какие вопросы обсудим:
— Преимущества и недостатки использования ванильного Kubernetes.
— Отличия в опыте работы с Kubernetes и платформой Deckhouse (опыт ООО НКО «Мобильная карта»).
— Выгоды для бизнеса при использовании специализированных платформ по сравнению с бесплатными Open Source-версиями.
— Насколько бесплатные версии на самом деле бесплатны с точки зрения бизнеса. За что и как в них приходится платить.
Зарегистрироваться
Что делать, если ты уже создал продукт, который успел стать отраслевым стандартом? Переизобрести его заново! Так решил и Михаэль Дехан (Michael DeHaan), создатель Ansible. На днях он анонсировал разработку jet — enterprise-платформы автоматизации и оркестрации, написанной на Rust.
Подробности: https://habr.com/ru/companies/flant/news/751402
Мы знаем, что существуют Redis Sentinel и Redis Cluster, но не хотим их использовать, потому что в этом случае придется дорабатывать клиентское приложение и искать подходящие библиотеки. Поэтому мы постоянно находимся в поиске какого-то варианта, который позволил бы преодолеть «одноядерность» Redis и ускорять взаимодействие с БД.
Относительно недавно мы обратили внимание на режимы Active Replica и Multi-Master в KeyDB. Под них не нужны какие-то хитрые библиотеки и переделка приложения — ему будет казаться, что оно работает все с тем же старым добрым Redis. При этом кластер получается отказоустойчивым и можем читать данные как с мастера, так и с реплики.
Решение выглядело очень круто и мы решили его обстоятельно проверить. По ссылке — статья с разбором этих режимов работы и несколько историй из нашего опыта: https://habr.com/ru/companies/flant/articles/747760
Инженеры «Фланта» вместе с коллегами из Microsoft и Google значительно доработали систему аутентификации Kubernetes. Теперь можно будет одновременно подключать несколько провайдеров аутентификации, использовать как OIDC-токены, так и любой ID JWT, задавать правила с помощью Common Expression Language и динамически изменять конфигурацию. Обновления должны появиться в релизе K8s 1.28.
Мы рассказали и показали на примерах, что внутри нового KEP и как всё это будет работать: https://habr.com/ru/companies/flant/news/747712
Мы построили свою систему виртуализации на основе KubeVirt. А на DevOps Conf 2023 наш архитектор решений Андрей Квапил рассказал, почему мы выбрали именно KubeVirt и не стали использовать OpenStack, какие платформы виртуализации рассматривали, что нас не устроило в KubeVirt и как мы это исправили.
Что еще есть в докладе:
— Из каких компонентов состоит KubeVirt.
— Как KubeVirt работает с виртуальными машинами.
— Как устроено хранилище KubeVirt.
— Особенности сетевых интерфейсов KubeVirt.
— Как мы изменили KubeVirt под свои задачи.
🗒 Текстовая версия: https://habr.com/ru/companies/flant/articles/745034
📺 Видео: https://youtu.be/SgJf8uvpDCc
P.S. Если вы давно хотели почитать или посмотреть детальный разбор KubeVirt — это тот самый случай.
@flant_ru
Вчера, 27 июня, «Флант» и «Экспресс 42» официально объявили о слиянии и совместных планах на будущее.
Больше подробностей о том, зачем и как мы объединяемся — в новости на Хабре: https://habr.com/ru/companies/flant/news/744484
1000 звезд на GitHub у нашей Open Source-утилиты ovpn-admin — веб-интерфейса для удобного управления OpenVPN
Лет пять назад мы стали искать инструмент для работы с OpenVPN — только централизованный, чтобы не бегать по всем серверам и контейнерам, выполняя команды вручную. Мы искали удобный веб-интерфейс. Но выяснилось, что те решения, функциональность которых нас устраивала, были платными и закрытыми (например, Pritunl и OpenVPN AS).
В итоге наш коллега @vitaliy-sn написал на Python замену этим платным решениям — новую утилиту мы назвали ovpn-admin. В 2021 году @pashcovich переписал ее на Go, а erste обновил интерфейс. И мы подумали, что утилита дозрела до того, чтобы выйти в Open Source и послужить всему человечеству😁
Ведь она уже умела добавлять пользователей, генерировать, отзывать и восстанавливать сертификаты пользователей, выдавать готовый файл конфигурации, отдавать метрики для Prometheus и еще кучу всего полезного.
Уже в октябре 2021 года вышла версия 1.7, а в 2022 году — 2.0.1. Добавлялись новые фичи вроде ротации сертификатов или поддержки работы на arm. Утилита явно пользовалась спросом — за год у нее набралось 700 звездочек на GitHub и куча PR от коммьюнити. Собественно, во многом она развивалась именно благодаря пользователям, которые охотно контрибьютили в утилиту, приходили со своими идеями и замечаниями.
И тут нам придется покаяться: в последний год у @pashcovich было совсем мало времени, в итоге мы как-то расслабились, перестали следить за новыми PR и issue и немного запустили проект. Однако приближение к 1000 звездам вновь наполнило нас энтузиазмом и на днях мы сели разгребать все накопившиеся PR.
Вот чем мы будем заниматься в ближайшее время:
🔹 Смотреть/принимать/поправлять многочисленные PR от комьюнити. Особенно благодарны авторам за авторизацию, возможность работы за reverse proxy и исправление репликации.
🔹 Отвечать на вопросы, запросы и сообщения об ошибках.
🔹 Добавить второй фактор вместо паролей (по причине реализации хранения пользователей) — ветка TOTP.
🔹 Добавить multiarch-сборку контейнеров.
🔹 Написать документацию и добавить примеры интеграции с уже существующими OpenVPN-серверами.
🔹 Перейти с Easy RSA на PKI CA, реализованный на Golang.
Где почитать про ovpn-admin подробнее:
🔹 GitHub
🔹 «Представляем ovpn-admin — веб-интерфейс для управления пользователями OpenVPN».
🔹 «Веб-интерфейс ovpn-admin для управления пользователями OpenVPN обновился до версии 1.7».
🔹 «Совместимость с Raspberry Pi 4, ротация сертификатов и другие улучшения в новом релизе ovpn-admin».
P.S. Ну и мы всегда рады новым звездочкам на GitHub, а особенно — пользователям, которым пригодился наш инструмент. Обсудить ovpn-admin можно в нашем чате.
20 июня генеральный директор «Фланта» Александр Баталов выступит на форуме «CNews Forum Кейсы. Опыт ИТ-лидеров» в секции «ИТ в финсекторе». Тема доклада: «Купить или создать свое? Стратегии построения контейнерной разработки на базе Kubernetes». Он расскажет, стоит ли создавать кастомный Kubernetes или лучше воспользоваться готовым решением и как финансовой компании реализовать контейнерную разработку.
Если планировали посетить форум — приходите на наш стенд пообщаться с Артемом Кожокиным, директором по развитию Kubernetes-платформы Deckhouse, и Андреем Радыгиным, директором по развитию бизнеса. Они с удовольствием ответят на вопросы про DevOps, Kubernetes, Deckhouse, werf, Okmeter.
Любая команда, работающая одновременно над несколькими проектами, понимает, как сложно и больно удержать баланс: не перегрузить сотрудников и выполнить ожидания клиентов. Нам постройка универсальной и работающей системы управления проектами далась непросто, за прошедшие 3 года мы во многом пересмотрели свои подходы и ввели новые практики. О том, как мы шли-шли и пришли к ним и какая нам и клиентам от этого польза, рассказали в статье на Хабре.
О чем узнаете из статьи:
✅ Почему прежняя система не работала так, как нам того хотелось.
✅ Почему WIP-лимиты (Work in Progress Limits) помогли нам, но не стали универсальным решением.
✅ Как мы придумали флоу работы с приоритетами и блокировками.
✅ Как мы искали (и нашли!) универсальную единицу измерения работ инженера, и почему это не часы.
✅ Как мы сейчас планируем работу без перегрузок и делаем ее прозрачной для клиента.
Минута славы у нашего Open Source-инструмента shell-operator — он набрал 2000 звезд на GitHub. Благодарим сообщество за поддержку!
Немного истории
Несколько лет назад, еще до появления K8s-платформы Deckhouse, нам понадобился инструмент, который бы помог упростить и ускорить автоматизацию небольших задач вроде тиражирования секретов для доступа к docker registry. Операторы под Kubernetes удобно писать на Go, но системные администраторы его обычно не знают — да и не должны. Бегать же по каждой мелочи в команду разработки долго и затратно. Зато администраторы точно знают shell/bash и почти точно — Python.
Конечно, писать на bash или Python какие-то автоматизации для K8s можно и без shell-operator, но такие решения получаются немного костыльными. shell-operator же позволяет подписаться на события от объектов Kubernetes, а когда получает их, автоматически запускает какую-то внешнюю программу (например, тот самый bash-скрипт) и передает в нее информацию о событии.
shell-operator и Deckhouse
Наши инженеры очень широко использовали shell-operator в своих ежедневных задачах. Более того, он стал «пластилином и веточками», из которых мы собрали прототип нашей будущей Kubernetes-платформы Deckhouse и проверили разные гипотезы относительно автоматизации работы с K8s. Со временем, конечно, все важные модули и операторы Deckhouse мы переписали на Go.
Инструмент получился классным, а мы всегда любили Open Source и старались максимально делиться наработками с сообществом. В итоге мы выложили shell-operator в открытый доступ — чтобы другие системные администраторы и инженеры тоже могли быстро писать операторы и сценарии для автоматизации привычным способом.
Больше о том, как устроен shell-operator и как с ним работать:
🔹«Представляем shell-operator: создавать операторы для Kubernetes стало ещё проще»
🔹«Go? Bash! Встречайте shell-operator»
P.S. Если вам понравился shell-operator, поставьте ему звездочку на GitHub😛
Сервисы Datadog упали 8 марта 2023 года и не работали более суток. В результате инцидента компания потеряла более $5 млн. Кроме того, информации в режиме реального времени сотрудники Datadog не давали, клиенты не понимали, что происходит, и доверие части пользователей было подорвано.
Мы перевели детальное расследование инцидента, который случился со службой наблюдения за облачными приложениями. В нем подробно разбирается, какие ошибки допустила компания и как можно было их избежать.
«Однажды темным-темным вечером в темной-темной комнате», — так должна начинаться любая по-настоящему страшная история. Однако история, от которой шевелятся волосы на голове DevOps-инженера, звучит совсем иначе: прод упал и ничего не работает.
Об одном таком случае — как Kube API-серверы заняли всю память и уронили API Kubernetes — мы и рассказали в новой статье на Хабре. И конечно, поделились деталями, как ограничивать число запросов в Kubernetes API, чтобы с вами такого не случалось.
Docker без контейнеров: разбираем, при чем здесь WebAssembly
«Если бы WASM+WASI существовали в 2008 году, нам бы не пришлось создавать Docker. WebAssembly на сервере — будущее компьютерных технологий», — считает Соломон Хайкс, соучредитель корпорации Docker и автор Docker Open Source Initiative.
Сравнительно недавно Docker объявил о поддержке WebAssembly на базе WasmEdge. А мы перевели фундаментальный и практичный материал о том, как пользоваться этой технологией в экосистеме Docker и чем Wasm-контейнер отличается от классического.
Эта история приключилась в один из обычных, ничем не примечательных вечеров. После очередной перезагрузки kube-apiserver вдруг втрое выросло потребление памяти в etcd. Это вызвало каскадную перезагрузку всех master-узлов. Продакшену потребовалась скорая помощь.
Рассказываем, как мы боролись с потоком list-запросов к kube-apiserver, при чем тут Rust и как в результате родился полезный для всего сообщества Pull Request.
https://habr.com/ru/companies/flant/articles/733268
@flant_ru
Мы изучили самые свежие исследования о контейнеризации и Kubernetes. Итог — статья с важнейшими инсайтами и главными трендами, которые определят развитие рынка в 2023 году.
Несколько интересных фактов:
— Самая большая проблема безопасности — единообразное применение политик по всем кластерам. Ее отметили 46% респондентов.
— У 87% образов имеются серьезные или критические уязвимости. Уязвимостей так много, что командам даже приходится их приоритизировать, хотя для 85% уже есть готовые фиксы.
— Большинство хостов используют версии K8s старше полутора лет. В ноябре самой популярной оставалась v1.21, официальная поддержка которой завершилась еще в середине 2022 года.
P.S. А еще в статье много ссылок на исследования — можно изучить их самостоятельно и найти дополнительные инсайты.
Перевели статью Джеффа Хьюстона о том, почему интернет-протокол QUIC в будущем заменит TCP, как он устроен, какие у него преимущества и недостатки. Джефф разбирает реализацию коммуникационной модели QUIC и доказывает, что это не расширение или дополнение к TCP, а полноценный самостоятельный протокол, и он способен решить проблемы современного интернета, в котором доминируют веб-приложения, а шифрование стало гораздо «дешевле».
Справка. Джефф Хьюстон — главный научный сотрудник Азиатско-Тихоокеанского сетевого информационного центра (APNIC). Занимается исследованиями, связанными с инфраструктурой интернета.