Приёмка DevOps практик на первом этапе перехода с «ручных» практик

Приёмка DevOps — Acceptable Criteria

Цели на первый этап:

  • Быть готовым к большой амплитуде изменений и вызовов
  • Обеспечить высокую доступность Продуктов для конечных пользователей
  • Сокращение технических задержек на Релиз, до минут, без потери качества

Базовые принципы быстрой разработки:

  • Стерильность сборки
  • Эластичная инфраструктура
  • Совместный доступ к коду
  • Авто-тестирование
  • Рутины не больше 50% рабочего времени

Стоит отметить, что проверку перехода на базовые DevOps практики лучше всего проводить поэтапно, каждый этап — это продукт или сервис.

Критерии приемки (AC)

  • Наличие как минимум 2х контуров — Разхработки(Dev) и Продакшен (Prod)
  • Автоматическое попадание инкремента в нужный контур при коммите(commit)
  • Дымовой тест(Smoke testing) на принципиальную работоспособность по http запросу
  • При сборке запускаются имеющиеся авто-тесты
  • Сценарий восстановления прописан в репозитории
  • Для разделения микро-сервисов или элементов системы используется контейнеризация
  • Стерильное разворачивание сервиса
  • Время разворачивания копии продукта — не более чем 30 мин.
  • Документация по Архитектуре и DevOps лежит в репозиторий
  • Аутентификационные данные не хранятся в открытом виде в репозитории
  • Команде понятно как и куда писать протоколы по сбоям (Postmortem Culture)

Определения:

Стерильность сборки — Организация сборки для внешнего контура таким образом, чтобы исключить возможность передачи Инкрементов:

  • скомпилированных на локальных машинах Разработчиков
  • с использованием внешних(не корпоративных) хранилищ Компонентов и Кода.

Рутина — это ручная, однообразная, поддающаяся автоматизации оперативная работа, связанная с поддержкой̆ работающего сервиса. Ее результаты не имеют ценности в перспективе, а трудоемкость растет линейно по мере роста сервиса(проекта).
- Site Reliability Engineering, Google, 2019

Эластичная инфраструктура (Эластичные вычисления) — это возможность быстро наращивать и освобождать ресурсы процессоров, памяти и хранения для удовлетворения меняющихся требований без необходимости планировать загрузку и предпринимать меры для обработки пиковых нагрузок.
- Microsoft

--

--

--

RTE & Scrum Master from Nizhny Novgorod https://t.me/agile4dev

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Михаил Соколов

Михаил Соколов

RTE & Scrum Master from Nizhny Novgorod https://t.me/agile4dev

More from Medium

Fastlane scan- automate testing

How to send notification on Slack using Webhooks

5 Major Challenges in Adopting DevOps | DevOps Adoption |

Stateless vs Stateful