Как стать автором
Поиск
Написать публикацию
Обновить
278.4

DevOps *

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

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

Пирамида тестов на практике

Время на прочтение45 мин
Количество просмотров269K
Об авторе: Хэм Фокке — разработчик и консультант ThoughtWorks в Германии. Устав от деплоя в три ночи, он добавил в свой инструментарий средства непрерывной доставки и тщательной автоматизации. Сейчас налаживает такие системы другим командам для обеспечения надёжной и эффективной поставки программного обеспечения. Так он экономит компаниям время, которое эти надоедливые людишки тратили на свои выходки.

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

Содержание

Примечания

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

Kubernetes NodePort vs LoadBalancer vs Ingress? Когда и что использовать?

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


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


Примечание: рекомендации рассчитаны на Google Kubernetes Engine. Если вы работаете в другом облаке, на собственном сервере, на миникубе или чем-то еще, будут отличия. Я не углубляюсь в технические детали. Если хотите подробностей, обратитесь к официальной документации.

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

Пакуем в контейнеры, деплоим, мониторим – программа Root Conf

Время на прочтение5 мин
Количество просмотров5.8K
То, что РИТ++ — это фестиваль для тех, кто делает интернет, — не пустые слова. Мы, действительно, считаем, что полезно разбираться не только в тонкостях своего стека, но и быть в курсе общих тенденций отрасли и знать, кто живет по соседству.

А кто соседствует с бэкендерами и фронтендерами? Правильно, эксплуатация! И Root Conf — конференция о поддержке и эксплуатации IT-проектов, мониторинге, виртуализации, CD/CI, отказоустойчивости и всему такому прочему.



Обзор программы построим по следующему принципу: сначала доклады, которые пройдут в главном зале, а потом остальные по секциям.
Вы же помните, что главный зал транслируется нами на YouTube бесплатно? Чтобы не пропустить, подпишитесь на любое из наших уведомлений — на компанию или на сайте в рассылке.
Читать дальше →

Разработка своего плагина визуализации для Grafana

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


Grafana — удобный инструмент для визуализации и мониторинга временных данных из множества источников. В этом посте я хочу рассказать ключевые концепции разработки своего плагина.

Создание своего плагина может понадобиться для 1) визуализации временных данных, т.к графановский движок удобен для создания запросов. 2) для расширения функциональности графаны под свои нужды.

Установка


  • Скачиваем и запускаем Grafana любым способом
  • После запуска через bin/grafana-server должна появиться папка data

Что такое плагин c тех. точки зрения


Эти детали знать необязательно. Я разбирался с этими концепциями по ходу дела.
Grafana 5.x — это большое приложение Angular версии 1.6.6 :) и немного React. Сам плагин — это angular controller, который лежит в файле data/plugins/your-module/dist/module.js, который может быть загружен как SystemJS модуль. Рядом должен быть файл plugin.json c мета-описанием плагина: название, id, иконки ...

В каждой «serverless» платформе есть серверы

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

Последние несколько лет мы все чаще слышим термин «Serverless» по отношению к облачным сервисам. Более того, в Европе наш собственный Voximplant часто называют «Serverless телефонией для разработчиков». Но ведь у нас есть серверы, и много! Откуда такое странное название и что именно имеют в виду те, кто его использует? Чтобы обобщить и собрать в одном месте информацию про «Serverless», организация с длинным названием «Cloud Native Computing Foundation» посвятила ей официальный документ, Swapnil Bhartiya его внимательно изучил и написал интересную статью (интересные статьи про linux и open source он пишет уже лет 15), а мы адаптировали перевод для Хабра. Кстати, в очередной раз обновляя холивар «зачем переводить для Хабра». Во-первых, по-русски, если перевод адекватный, читать быстрее и когнитивно менее напряжно. Даже с очень хорошим английским. Физиология, ничего личного. Во-вторых, если кто-то решил перевести статью — то она, скорее всего, того стоит. Если вы не эксперт в чем-то, можно смело пропустить 100 статей, вышедшие по интересной теме за последний месяц, а посмотреть только те две, что перевели для Хабра.
Читать дальше →

«Флант» и Okmeter: симбиоз на благо мониторинга

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


Пройдя длинный путь системного администрирования Linux-серверов, в качестве базовых инструментов для сбора статистики и мониторинга мы успели попробовать разные варианты реализации. Самописные скрипты (и даже веб-приложения), Cacti, Zabbix — наиболее устоявшиеся у нас в то или иное время опции, на смену которым в последние годы пришли Okmeter и Prometheus. В этой статье мы собрали и объединили: а) впечатления Okmeter по сотрудничеству с нами, б) обратную связь от тимлидов и инженеров компании «Флант» по использованию Okmeter в многочисленных и разнообразных обслуживаемых нами проектов (от малых до крупных, от достаточно тривиальных инсталляций веб-хостинга до кластеров Kubernetes).
Читать дальше →

Мониторинг приложений с Prometheus

Время на прочтение7 мин
Количество просмотров33K
Добрый вечер!

На этой неделе мы запускаем четвёртый по счёту поток курса «DevOps: практики и инструменты», так что по традиции небольшая интересная статья для вас.

Поехали

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

Ключевые моменты:

  • Изучение способов мониторинга приложений и серверов с помощью Prometheus;
  • Запуск Prometheus в Docker;
  • Мониторинг и инструментирование образца приложения Golang;
  • Развертывание Prometheus со стеками Docker;
  • Краткое руководство с примерами PromQL.

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

Мифы о DevOps

Время на прочтение19 мин
Количество просмотров26K
DevOps — это маркетинговое словечко, за которым ничего нет! Или все-таки есть? Может быть, DevOps — это набор «правильных» инструментов, или это такая специальная культура. И кто вообще должен этим заниматься, что из себя представляет DevOps-инженер? Одним словом, есть некоторые разночтения в понятиях, и очень много мифов. Некоторые совсем тривиальные, и мало кто в них поверит, а некоторые пускают корни в умах уважаемых специалистов. Разбираться будем вместе с опытными DevOps’ерами Александром Титовым и Иваном Евтуховичем (evtuhovich). Хотя они и считают, что DevOps — это решение проблемы производства цифровых продуктов и называть так отдельного человека это в стиле российского бизнеса.


О спикерах: Александр Титов и Иван Евтухович представляют компанию Экспресс 42, которая занимается консалтингом в области DevOps. Среди её клиентов много известных компаний, например, МТС, Райффайзенбанк банк, Альфа-Банк и другие.

За 5 лет работы собралась куча мифов про DevOps, которые существуют в обществе. В своем докладе на РИТ++ 2017 Александр и Иван рассуждали на эту тему. Иван в безапелляционном тоне объявлял расхожее мнение, а Александр пытался убедить слушателей в том, что это лишь миф.

Kubernetes-HA. Разворачиваем отказоустойчивый кластер Kubernetes c 5 мастерами

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

В данный момент инсталяция по данному мануалу работать не будет. Из за больших изменений API Kubemaster, в данный момент я готовлю новый цикл статей где будут рабочие версии мануалов
Первая из статей habr.com/ru/post/462473


Здравствуйте!

В данной публикации я хотел бы рассказать о кластере Kubernetes с высокой доступностью (HA).

image

Оглавление:

  1. Вступление
  2. Список используемого софта
  3. Список и назначение хостов
  4. Принцип работы и развертывания
  5. Подготовка ОС к развертыванию. Установка docker, kubeadm, kubelet и kubectl
  6. Подготовка конфигурационного скрипта
  7. Создание etcd кластера
  8. Инициализация мастера с помощью kubeadm
  9. Настройка CIDR
  10. Инициализация остальных мастернод
  11. Настройка keepalived и виртуального IP
  12. Добавление рабочих нод в кластер
  13. Установка ingress-nginx
  14. Дополнительно

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

DevOps Moscow meetup: Мониторинг

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

16 мая приглашаем инженеров на очередной митап сообщества DevOps Moscow в офис Авито. Вторая после долгого перерыва встреча будет посвящена мониторингу. В программе — доклады как про инструментарий мониторинга, так и про инцидент-менеджмент в целом. Выступят представители Авито, Okmeter.io и Badoo. Регистрируйтесь на встречу и приглашайте коллег. Под катом — тезисы выступлений, ссылки на регистрацию и видеотрансляцию митапа.
UPD: места закончились, присоединяйтесь к прямой трансляции встречи на youtube-канале DevOps Moscow.


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

Переосмысляя конференции

Время на прочтение10 мин
Количество просмотров2.3K
Отношение к конференциям в ИТ-среде неоднозначно: одни в кипящей атмосфере собраний чувствуют себя как рыба в воде, других скорее раздражает, поскольку ничего путного или нового для работы не услышишь.

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

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

Возможности dapp, которые делают жизнь проще

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

В статье представлен (и продемонстрирован в коротких видеороликах) инструментарий, облегчающий разработку и отладку конфигураций с dapp — Open Source-утилитой, которую мы ежедневно используем при построении и сопровождении процессов CI/CD.


Обновлено 13 августа 2019 г.: в настоящее время проект dapp переименован в werf, его код переписан на Go, а документация значительно улучшена.


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

Как мы строим DevOps в команде из 125 разработчиков

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

Меня зовут Александр Черников, я руководитель разработки в дивизионе «Цифровой Корпоративный Банк» Сбербанка и Сбертеха.

Расскажу вам сегодня про DevOps в Сбербанк Бизнес Онлайн (СББОЛ), который мы выстроили в немаленькой команде (125 разработчиков) с большим Review (75 ПРов в день). Теперь отлаженный процесс CD(CI) на pull-requests (далее PR) — это неотъемлемая часть работы и наша гордость.


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

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

Ubuntu 18.04 LTS: что нового?

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

Вчера, 26 апреля 2018 года, состоялся релиз очередной версии Ubuntu — 18.04 Bionic Beaver. Её кодовое название можно перевести на русский как “очень сильный бобёр” (да, у слова bionic есть и такое значение). Основатель Canonical Марк Шаттлворт объясняет выбор названия так:
Мы таким образом приветствуем созидателей — тех, кто создаёт приложения и пакеты, кто создаёт Ubuntu, кто создаёт что-то на базе Ubuntu. Отдавая должное их неустанному труду, мы выбрали в качестве маскота зверя, известного своим энергичным настроем, трудолюбивой натурой и инженерной смекалкой.

Ubuntu 18.04 относится к LTS (Long Term Support)-версиям. Они выходят каждые два года (предыдущей LTS-версией была 16.04) и поддерживаются в течение пяти лет с момента релиза.

Сегодня, в день официального релиза, самое время поговорить о реализованных в новой версии Ubuntu нововведениях. А наши пользователи уже сегодня могут попробовать всё на практике: образ Ubuntu 18.04 уже доступен для использования во всех наших сервисах: в Виртуальном приватном облаке, VDS Selectel и в выделенных серверах.
Читать дальше →

Устройство и механизм работы Prometheus Operator в Kubernetes

Время на прочтение6 мин
Количество просмотров60K
В основу этой статьи легла наша внутренняя документация для DevOps-инженеров, объясняющая, как работает Prometheus под управлением Prometheus Operator в разворачиваемых и обслуживаемых кластерах Kubernetes.

image

С первого взгляда Prometheus может показаться достаточно сложным продуктом, но, как и любая хорошо спроектированная система, она состоит из явно выраженных функциональных компонентов и по сути делает всего три вещи: а) собирает метрики, б) выполняет правила, в) сохраняет результат в базу данных временных рядов (time series). Статья посвящена не столько самому Prometheus, сколько интеграции этой системы с Kubernetes, для чего мы активно используем вспомогательный инструмент под названием Prometheus Operator. Но начать всё же необходимо с самого Prometheus…
Читать дальше →

Сравнение Draft, Gitkube, Helm, Ksonnet, Metaparticle и Skaffold

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

В последнее время Kubernetes пользуется большой популярностью, и разработчики ищут дополнительные способы и методы для развёртывания приложений в кластере этой системы. Даже командная строка kubectl стала восприниматься как инструмент низкого уровня, при этом пользователи продолжают искать ещё более простые способы взаимодействия с кластером. Draft, Gitkube, Helm, Ksonnet, Metaparticle и Skaffold — вот лишь некоторые инструменты, помогающие разработчикам создавать и разворачивать приложения в Kubernetes.

Draft, Gitkube и Skaffold упрощают разработку приложений, позволяя разработчикам как можно быстрее запускать их в кластере Kubernetes. Helm и Ksonnet помогают в процессе развёртывания, т.к. могут определять готовность приложения к отправке, а также управлять выпуском новых версий, обработки различных кластеров и т. д. Metaparticle — необычный инструмент, который позволяет вам в рамках собственного кода работать с любыми форматами (YAML, dockerfile).

Итак, что же использовать в конкретной ситуации?

Давайте посмотрим.
Читать дальше →

Как переехать с BuddyBuild на GitLab CI за 4 часа

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


Предыстория


Полтора года назад команда iOS FunCorp переехала на новый сервис для простой организации CI в iOS и Android-проектах.

До этого мы использовали CI на Bamboo, но с ним было много проблем, поэтому мы совсем отказались от него и перешли на BuddyBuild.

Он работал настолько просто, что можно было даже не знать, что такое CI и как заливать приложение в AppStore, а спокойно заниматься кодом, тестами и продуктовой разработкой.
Но времена поменялись, и BuddуBuild уже не тот, поэтому мы начали поиск альтернативы.
В этой статье мы расскажем о новом решении, которое выбрала наша команда, и дадим несколько скриптов для организации CI собственными силами.
Читать дальше →

OPA и SPIFFE — два новых проекта в CNCF для безопасности облачных приложений

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


В конце марта у фонда CNCF, помогающего развивать Open Source-проекты для облачных (cloud native) приложений, случилось двойное пополнение: в «песочницу» были добавлены OPA (Open Policy Agent) и SPIFFE (Secure Production Identity Framework For Everyone), которых роднит тема безопасности. Для чего же они могут пригодится?
Читать дальше →

Разработчики Kubernetes отвечают на вопросы пользователей Reddit

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


10 апреля на Reddit состоялась акция AMA (Ask My Anything), в рамках которой 9 разработчиков Kubernetes со всего мира отвечали на вопросы интернет-пользователей. Всего было собрано 326 комментариев, и мы представляем перевод некоторых из них — содержащих ответы на наиболее интересные (на наш взгляд) вопросы.
Читать дальше →

7 принципов проектирования приложений, основанных на контейнерах

Время на прочтение7 мин
Количество просмотров20K
В конце прошлого года компания Red Hat опубликовала доклад с описанием принципов, которым должны соответствовать контейнеризированные приложения, стремящиеся к тому, чтобы стать органичной частью «облачного» мира: «Следование этим принципам обеспечит готовность приложений к автоматизируемости на таких платформах для облачных приложений, как Kubernetes», — считают в Red Hat. И мы, изучив этот документ, с их выводами согласны, а посему решили поделиться ими с русскоязычным ИТ-сообществом.



Обратите внимание, что эта статья является не дословным переводом оригинального документа (PDF), подготовленного Bilgin Ibryam — архитектором из Red Hat, активным участником нескольких проектов Apache и автором книг «Camel Design Patterns» и «Kubernetes Patterns», — а представляет основные его тезисы в довольно свободном изложении.
Читать дальше →

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