Как стать автором
Обновить
276.02

DevOps *

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

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

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

Время на прочтение5 мин
Количество просмотров3.3K

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

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

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

Время на прочтение14 мин
Количество просмотров10K

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

Читать далее
Всего голосов 33: ↑33 и ↓0+33
Комментарии12

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

Время на прочтение10 мин
Количество просмотров3.3K
image

Введение


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

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

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

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

Время на прочтение9 мин
Количество просмотров6.2K

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

Читать дальше
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Истории

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

Время на прочтение5 мин
Количество просмотров1.4K


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

«Папа, а кем ты работаешь?» Рассказываем про Kubernetes простым языком

Время на прочтение1 мин
Количество просмотров20K

Этот комикс – видение DevOps-команды «Онланты» Иллюстрированного детского путеводителя по Kubernetes от Cloud Native. На примере маленького приложения Фиппи разбираемся, что такое Kubernetes и в чем особенности этой технологии.

Встречайте новую главную героиню и внимательно следите за ее путешествием!

Читать далее
Всего голосов 67: ↑65 и ↓2+63
Комментарии10

Frontend в условиях полной редактируемости

Время на прочтение4 мин
Количество просмотров7.3K

В этой статье мы расскажем подробно про систему поблочной сборки и подводные “камни” реализации подобной системы под «1С-Битрикс» для frontend-разработчиков.

Блочная редактируемость

Нам требовалось разработать сайт на базе CMS «1С-Битрикс: Управление сайтом» и при этом предоставить контент-менеджерам полную власть над страницами и их содержимым. Контент-менеджеры \читай не разработчики\ должны иметь возможность собирать страницы из заранее созданных блоков, определять порядок этих блоков на странице, управлять настройками дополнительного визуального оформления для каждого из блоков и редактировать контент в рамках поддерживаемых типов данных. И всё это управляется через визуальный редактор Битрикса без необходимости вручную создавать новый инфоблок для каждого блока на странице. Такую систему можно назвать “Блочная редактируемость”.

Читать далее
Всего голосов 11: ↑7 и ↓4+3
Комментарии8

Grafana OnCall — Open Source хаб для алертов и инцидентов

Время на прочтение4 мин
Количество просмотров20K

Привет, хабр! С удивлением обнаружил, что здесь нет ни одного упоминания Grafana OnCall, Incident Response Tool с открытым исходным кодом от Grafana Labs. И это нужно исправлять, ведь мы бурно растем как по звездочкам на гитхабе, так и как часть Grafana Cloud, а в issues на гитхабе, в основном, встречаются техлиды из FAANG.

Если кратко, OnCall — это инструмент, который поможет организовать надежные оповещения/реагирование на инциденты в команде, соблюдать SLA и не просыпаться ночью от звонков.

Что умеет и как поставить?
Всего голосов 36: ↑36 и ↓0+36
Комментарии15

Простой CI/CD на Ansible Semaphore

Время на прочтение3 мин
Количество просмотров17K

CI/CD стал неотъемлемой частью процесса разработки ПО, как в крупных, так и в небольших компаниях и проектах, в том числе open source.

Самыми популярными CI/CD-системами является GitLab и Jenkins. Обе эти системы являются мощными, расширяемыми и включают множество дополнительных возможностей. С помощью этих систем можно построить CI/CD любой сложности.

Но часто бывает, что что нужно максимально простое и прямолинейное решение, а не функциональность.

В этом случае Ansible Semaphore это то что нужно.

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии10

10 рекомендаций по работе с Ansible

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

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

Делимся советами, как «выжать» из Ansible по-максимуму, не сталкиваясь с проблемами.

Читать далее
Всего голосов 19: ↑18 и ↓1+17
Комментарии0

Как настроить CI в мобильных приложениях

Время на прочтение5 мин
Количество просмотров3.4K

Приветствую! Меня зовут Алексей Денискин, я тимлид мобильной команды СберМаркета. В этой статье я на примере покажу, как организовать CI для мобильных приложений на Android и iOS. Я буду использовать GitLab CI, но описанный подход применим к большинству стандартных стеков.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Немного про Infrastructure as Code в VMmanager и про ценности для IT-отделов и всей компании

Время на прочтение9 мин
Количество просмотров3.2K

Привет, Хабр! Недавно мы выпустили новую функциональность в продукте VMmanager — интеграцию с Terraform и Swagger для работы в рамках концепции Infrastructure as Code.

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

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии6

Как внести Хаос в свой кластер k8s, и почему гении властвуют над Хаосом?

Время на прочтение8 мин
Количество просмотров3.1K

Кто-нибудь из вас когда-нибудь слышал о теории “Чёрный лебедь”? Если говорить вкратце, то данная теория рассматривает труднопрогнозируемые события, которые несут за собой огромные последствия для всей системы. К примеру, ваш кластер k8s располагается в ДЦ в конкретно взятом регионе. Всё было прекрасно, но с берега пришло цунами и его затопило, вследствие чего все сервера стали недоступны и ваше приложение не работает. Так кто же в этом будет виноват? Карма? Подводные землетрясения? Ответ прост - вы сами.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

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

Экономим на Azure SQL Databases

Время на прочтение3 мин
Количество просмотров2.2K

Всем привет! В данной статье я расскажу о том, как наша компания смогла сэкономить за счет внедрения Azure SQL Elastic Pool. Дополнительно будут примеры Azure REST API для энумерации SQL Servers, для энумерации SQL databases и для получения метрик.

Самые пытливые в конце статьи узнают сэкономленную величину. Здесь исходники

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Миграция приложения из Docker Compose в Kubernetes. Как, зачем и с какими проблемами я столкнулся

Время на прочтение25 мин
Количество просмотров20K

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

Стоявшая передо мной задача: улучшить инфраструктуру и качество работы приложения, успевшего вырасти из MVP и стенда для одного клиента в популярный SaaS. Отсутствие отказоустойчивости и масштабируемости компонентов сервиса начало ощутимо мешать пользователям. Настала пора адаптировать приложение под кластерный режим.

Приложение работало в контейнерах, а оркестрация осуществлялась с помощью Docker Compose. Компоненты приложения не задумывались готовыми к запуску в кластерном режиме, что, разумеется, нормальная ситуация для раннего этапа многих проектов: бизнес требует быстрой доставки новых функций, и на преждевременную оптимизацию не всегда можно и нужно тратить время. Но в какой-то момент именно стабильность и быстродействие становятся самыми важными функциями. 

Каково мигрировать приложение с уже сформированным техническим стеком и базой пользователей? Какие есть варианты решения, подводные камни? Как оценить есть ли смысл в таких трудозатратах? В этой статье я поделюсь своим опытом переноса приложения из Docker Compose в Kubernetes.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии15

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

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

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии12

Все внедрили DevOps? Не забудьте про Shift Left Security

Время на прочтение7 мин
Количество просмотров3K

Про Shift Left вы наверняка знаете — в контексте DevOps или QA об этом часто пишут. А что за зверь такой — Shift Left Security (SLS)? Вроде новый термин, свежий, «хайповый»? Отнюдь, концепция смещения влево процессов безопасности появилась вместе с DevOps. И они друг от друга неотделимы. Процессы идут в контексте исторического развития, а подтверждение этому — отчеты и документация, например, GitLab. Попробую доказать это утверждение. 

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

5 типичных ошибок при использовании Apache Kafka

Время на прочтение10 мин
Количество просмотров17K

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

Читать далее
Всего голосов 37: ↑36 и ↓1+35
Комментарии1

Обзор UI-инструментов для мониторинга и управления кластерами Apache Kafka

Время на прочтение8 мин
Количество просмотров39K

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

Apache Kafka — незаменимый инструмент для обработки данных в реальном времени и отслеживания активности приложений. К сожалению, мониторинг кластеров Apache Kafka и управление ими — непростая задача. Решить ее помогают сторонние коммерческие или Open Source-инструменты с графическим интерфейсом и дополнительными функциями в области администрирования и мониторинга.

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

Читать далее
Всего голосов 25: ↑25 и ↓0+25
Комментарии6

Применяем политики и рекомендации по безопасности в кластерах Kubernetes с OPA Gatekeeper

Время на прочтение5 мин
Количество просмотров2.7K

Представим, что мы маленькая компания. Мы хотим перенести рабочие нагрузки в Kubernetes, но нас очень волнует вопрос безопасности. Мы уже создали кластеры, опираясь на рекомендации по безопасности из официальной документации Kubernetes. Бизнес растёт, и нам нужно что-то изменить, чтобы защитить среду Kubernetes и в то же время управлять действиями конечных пользователей в кластере. Мы используем встроенные возможности Kubernetes, вроде управления доступом на основе ролей (RBAC), политик безопасности pod’ов, политик сети, управления secret’ами и т. д.

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

Допустим, мы сформулировали политики. Как теперь легко и быстро применить их в среде Kubernetes? В статье мы ответим на этот вопрос.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Вклад авторов

Работа

DevOps инженер
45 вакансий