Обновить
256K+

DevOps *

Методология разработки программного обеспечения

480,54
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Опыт многопоточной работы, или Как быть DevOps’ом для множества команд разработки

Время на прочтение7 мин
Охват и читатели7K

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

Читать далее

Система управления конфигурацией Ansible: как одновременно управлять множеством серверов

Время на прочтение6 мин
Охват и читатели12K

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

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

Читать далее

Дружим Sentry Self-Hosted и LDAP

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели11K

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

Из этого появилась небольшая статья по установке Sentry Self-Hosted и подключения к LDAP.

Читать далее

Размер имеет значение! Часть 3

Время на прочтение2 мин
Охват и читатели1.6K

Как бы мы себя не обманывали - Размер имеет значение! И конечно, мы будем говорить о размере нашего андроид приложения, куда мы добавляем кучу классных features, и даже не задумываемся как это может негативно повлиять на размер приложения. Поэтому мы научимся обнаруживать регрессию размера нашего приложения на CI для автоматизации этого процесса.

В последней части, оптимизируем процесс обнаружения регрессии размера андроид приложения.

Читать далее

Основное про API-шлюз в Kubernetes

Время на прочтение6 мин
Охват и читатели19K

Существует множество альтернатив для доступа к модулю извне кластера. Шлюз API - это определенно новинка этой области, и потому выбран темой этой статьи.

Ранее мы описывали несколько способов доступа к модулям Kubernetes. Так, например, доступ к модулю pods можно получить через его IP-адрес, но важно учитывать, что поды по своей сути являются временными. Штатный способ - настроить Service: в этом случае IP-адрес стабилен, а задача Kubernetes - обеспечивать мапироание между Service и соответствующими ей подами. В настоящий момент доступны различные виды сервисов: только внутренние, NodePort, позволяющий открыть доступа извне кластера, и LoadBalancer, который полагается на сторонний компонент - обычно это на облачный провайдер. Не будем забывать и об Ingress, обеспечивающем маршрутизацию.

Ну а API-шлюз, как новинку в этой области, мы оставили на десерт, решив посвятить ему целый пост.

Читать далее

Обзор IDE Monokle, или Рассказ о неоправдавшихся ожиданиях

Время на прочтение6 мин
Охват и читатели7.6K

В погоне за лучшей или, правильнее сказать, удобной жизнью я начал искать решение, которое помогало бы писать чарты для Kubernetes и лучше разбираться в зависимостях — что, куда и откуда подставляется в созданных чартах. Так я наткнулся на программу под названием Monokle. В ее описании сказано: «Вы сможете составлять чарты, быстро находить какие либо несовместимости или неправильный код, а также деплоить ваши чарты сразу в K8s». Глаза загорелись, я приступил к установке.

Читать далее

Человеческим языком про метрики 3: перцентили для чайников

Время на прочтение10 мин
Охват и читатели298K

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

Читать далее

Модульное тестирование операторов Kubernetes с помощью моков

Время на прочтение4 мин
Охват и читатели3.4K

Из этой статьи вы узнаете, зачем нужны моки для модульного тестирования операторов Kubernetes и как их писать. Эти концепции применимы к операторам на разных языках и фреймворках. Здесь мы будем использовать Golang, controller-runtime и библиотеку testify.

Читать далее

Когда тестирование выпало из DevOps, и как его туда вернуть

Время на прочтение19 мин
Охват и читатели7.9K

Что делать с понятием, соединяющим две разных технических области? Добавить третью! DevOps соединил «development» и «operations», но что в этом случае произошло с «testing»? А что должно произойти, чтобы всё было по уму?

Руслан Ахметзянов @arg89уже выступал у нас и на девопс-конференции DevOops, и на конференции по тестированию Heisenbug. Сейчас он готовит новый доклад, а мы готовим новые DevOops и Heisenbug — и в ожидании этого решили расшифровать для Хабра его предыдущее выступление. Кто-то может не согласиться с его выводами, но так даже интереснее!

Далее повествование идёт от лица спикера.

Читать далее

GitOps — что это такое и с чем его едят?

Время на прочтение12 мин
Охват и читатели66K

На самом деле почти никто не знает, что такое GitOps. Я тоже заблуждался, пока не начал готовить доклад, а потом статью по этой теме. Самое распространенное определение GitOps — это «хранение состояния в Git», но оно не единственное и не самое главное. Это звучное словечко  придумали в Weaveworks, но его название несколько разнится с его реальным пониманием. Созвучие с DevOps — скорее, маркетинговый ход, чем реальное отражение сущности. Основная идея GitOps в том, что помимо хранения состояния в Git, у нас есть непрерывный процесс его синхронизации с реальным миром, то есть, что у вас Kubernetes-кластере или где либо ещё в вашем окружении.

Меня зовут Андрей Квапил. Я работал в чешском хостинге WEDOS. Он не сильно популярен в России, но это крупнейший хостинг на территории Чехии (просто Чехия маленькая).  Сейчас я работаю во Фланте, но именно на примере европейского хостинга WEDOS, хочу рассказать историю имплементации GitOps.

Читать далее

Пять инструментов Site Reliability Engineering

Время на прочтение6 мин
Охват и читатели11K

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

В этой статье пойдет речь о главных инструментах Site Reliability Engineering (SRE) и о том, как они влияют на повышение надежности систем. 

Читать далее

Плейбуки Ansible — советы и примеры

Время на прочтение12 мин
Охват и читатели138K

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

Читать далее

Как следить за кластером Kubernetes: 6 главных метрик, на которые нужно обращать внимание

Время на прочтение9 мин
Охват и читатели18K


Загвоздка с Kubernetes в том, что это не единая система, как, например, Redis RabbitMQ или PostgreSQL, а комбинация нескольких компонентов Control Plane: etcd, API-сервера и других. С помощью виртуальных машин или серверов они помогают контролировать пользовательские нагрузки, и от всех поступают огромные потоки метрик, в которых очень легко запутаться. 

Команда VK Cloud перевела статью о том, на какие именно метрики стоит обращать внимание в первую очередь, чтобы грамотно мониторить рабочие нагрузки и поддерживать кластеры в исправном состоянии.
Читать дальше →

Ближайшие события

Когда и как переходить с монолита на микросервисы. Предпосылки и общие понятия

Время на прочтение5 мин
Охват и читатели9.7K

В серии из трех статей рассказываем о переходе с монолитной на микросервисную архитектуру. Разбираемся, когда и кому это действительно нужно, рассматриваем 7 миграционных шаблонов и самый больной вопрос: «Как быть с данными?».

Читать далее

Что Должно Быть в Каждом FirmWare Pепозитории

Время на прочтение10 мин
Охват и читатели9.6K

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

То есть перечислить самые универсальные и переносимые программные компоненты (кирпичики), которые могут пригодиться в практически любой сборке.

Читать далее

Размер имеет значение! Часть 2

Время на прочтение5 мин
Охват и читатели4K

Как бы мы себя не обманывали - Размер имеет значение! И конечно, мы будем говорить о размере нашего андроид приложения, куда мы добавляем кучу классных features, и даже не задумываемся как это может негативно повлиять на размер приложения. Поэтому мы научимся обнаруживать регрессию размера нашего приложения на CI для автоматизации этого процесса.

В данной части, обсудим как можно проверять размер в pull request, что позволит автоматизировать весь процесс обнаружения регрессии, до того как изменения попали в development.

Читать далее

Немного хардкора: как поднять Kubernetes на двух старых ноутбуках с Gentoo

Время на прочтение14 мин
Охват и читатели12K

Хочу рассказать об интересном эксперименте, суть которого заключалась в развертывании и настройке Kubernetes на двух старых ноутбуках — один из них, кроме того, был с процессором на архитектуре i386. В качестве теоретической основы использовалось руководство Kubernetes The Hard Way, которое по ходу дела пришлось немного доработать, а в качестве системы на хостах — Gentoo (да, вам не показалось). Давайте погрузимся в этот увлекательный хардкор!

Читать далее

Динамическое масштабирование кластеров Kubernetes в Airbnb

Время на прочтение10 мин
Охват и читатели3.7K
image

Введение


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

Например, в Airbnb такое масштабирование обеспечивается при помощи Kubernetes. Это опенсорсная система оркестрации контейнеров. Также в Airbnb используется OneTouch, интерфейс конфигурации сервисов, являющийся надстройкой над Kubernetes и более подробно описанный в этом посте.

Здесь же мы поговорим о том, как динамически подбирать размеры кластеров, пользуясь Kubernetes Cluster Autoscaler, а также подчеркнем функционал, привнесенный компанией Airbnb в сообщество sig-autoscaling. Эти улучшения способствуют настраиваемости и гибкости, а эти качества очень важны для выполнения уникальных бизнес-требований, предъявляемых в Airbnb.
Читать дальше →

Apache Kafka в цепочке поставок в пищепроме и ритейле

Время на прочтение9 мин
Охват и читатели8K

Цепочка поставок в пищевой промышленности и ритейле — это сложная, медленная и ненадёжная система. В этой статье мы рассмотрим развёртывание Apache Kafka для обработки данных в реальном времени в таких сферах, как производство, логистика, розничная торговля, доставка, рестораны и другие части бизнеса. Это будут примеры из настоящих компаний: Walmart, Albertsons, Instacart, Domino’s Pizza, Migros и т. д.

Читать дальше

Everything Bagel, часть II: версионные таблицы озера данных в lakeFS и Trino

Время на прочтение5 мин
Охват и читатели2.4K


Команда VK Cloud уже переводила статью о том, как развернуть локальный стек данных с помощью инструмента Everything Bagel. Теперь переводим вторую часть, в которой на практике разбираем, как выполнять запросы к разветвленным данным lakeFS через механизм распределенных запросов Trino.
Читать дальше →