devops in banking legacy systems · Мы создали временные команды...
TRANSCRIPT
DevOps
Москва, 2017
Михаил Громов
банковских Legacy-систем
ОСНОВНЫЕ ЭТАПЫ ТРАНСФОРМАЦИИ …
Фокус на выстраивании DevOps
СТАРТ AGILE-ТРАНСФОРМАЦИИ
НАЧАЛО ВНЕДРЕНИЕ DEVOPS ДЛЯ КЛЮЧЕВЫХ
ПРОГРАММ
НАЧАЛО ПЕРВОЙ ФАЗЫ ТРАНСФОРМАЦИИ
НАЧАЛО РЕАЛИЗАЦИИ DEVOPS В МОДЕЛЬНЫХ
ТРАЙБАХ
НАЧАЛО ВТОРОЙ ФАЗЫ
ТРАНСФОРМАЦИИ
2016 2017
МАРТ МАРТ
МАЙ СЕНТЯБРЬ
ОКТЯБРЬ
НАЧАЛО РЕАЛИЗАЦИИ
DEVOPS ДЛЯ 80% АС
АВГУСТ
ПУТЬ ТРАНСФОРМАЦИИ
ЛЕТО 2016
ЯНВАРЬ 2017
ЦЕЛЕВАЯ МОДЕЛЬ
Business Developer Tester
Operations engineer
передача передача передача
7 недель 5 недель 8 недель 4 недели
Deploy-ment
Testing Analysis Develop-ment
Business Analyst Tester
Operations engineer Developer
передача передача
8 недель 4 недели
12 недель
Testing Deploy-ment
Agile Analysis, Design, Development
Business Analyst Tester
Operations engineer Developer
2 недели 2 недели 2 недели 2 недели 2 недели 2 недели
Agile Analysis, Design, Development, Testing, Deployment
Бизнес и разработка работают в командах, тестирование и сопровождение еще отделены
Разработка ведется 2-х недельными спринтами, но выпуск все еще 4-5 раз в год
Бизнес, разработка, тестирование и сопровождение в единой команде
Полный цикл поставки на основе MVP в спринтах, ежедневные и ежемесячные релизы, без ограничений, для всех платформ
Бизнес, разработка, сопровождение и тестирование работают в «колодцах»
Интеграционные релизы выпускаются циклами по 24 недели, 4-5 раз в год
Мы выбрали 5 АС и начали строить путь до внедрения, основываясь на реальных фичах и трех уровнях поставки: MVP, MVPI, Infra & Auto
НАШИ LEGACY-СИСТЕМЫ
3 УРОВНЯ ПОСТАВКИ
СИСТЕМА ОПИСАНИЕ ТЕХНОЛОГИЯ
EKP
Transact Retail
PEGA
Система сопровождения розничного кредитования
Система обработки заявок на кредиты физ. лиц
Система управления кредитными рисками
▪ Монолитная архитектура
▪ Монолитная архитектура
▪ Слияние кода вручную
▪ Сборка дистрибутива вручную
▪ Монолитная архитектура
▪ Ограничения на параллельную разработку
MVP: поставка фич без интеграции каждые 2 недели
MVPI: поставка интеграционных фич для двух и более систем каждые 2 недели
Target Infra & Auto: итеративное развитие сред и автоматизации для локальных интеграционных релизов
Целевой процессе DevOps …
Пн Вт Ср Чт Пт Пн Вт Ср Чт Пт
Стабилизация релиза* Разработка и
тестирование
Разработка и
тестирование
Разработка и
тестирование
Разработка и
тестирование
Разработка и
тестирование
Разработка и
тестирование
Разработка и
тестирование
Разработка и
тестирование
Ежедневная разработка и тестирование
Развертывание
Ежедневное интеграционное
тестирование
Релиз каждый
спринт (2 недели)
CDL CDP Фиксация
изменения
кода
CI
UT Deploy Build AT Развертывание
в Пром Deploy AT
06:00-20:00 20:00-06:00 (nightly)
Deployment
Стабилизация
релиза1
Ворота качества
▪ Код-ревью
▪ Модульные тесты
▪ Статический анализ
▪ Анализ ИБ
Ворота качества
▪ Интеграционное
тестирование
CDL
Deploy
LT
MT*
Ворота качества
▪ Нагрузочное
тестирование
▪ Ручное
тестирование
* Ручное тестирование
Мы создали временные команды экспертов DevOps, которые помогают строить pipeline
PO Product Owner
CJE Customer Journey Expert
E Engineer
* Начинаем с одной команды, при необходимости – масштабируем на несколько команд (одна на систему)
▪ Временная команда DevOps состоит из специалистов с глубоким знанием DevOps и предметной области
▪ Занимается поддержкой, обучением, устранением проблем, помогает в поиске решений
DevOps Expert Lead отвечает за создание экспертных команд
СПОНСОРЫ Технический руководитель Лидер трансформации
Housing Solutions
Product Squads
PO
CJE
E
…
DevOps Expert Squad(s)*
IT Area Leads ITAL
ЛИДЕР ТРАЙБА
В команде выбирается инженер, ответственный за DevOps – владелец PipeLine. Его задача – обеспечить релизы команды каждые 2 недели.
DevOps Expert Lead
E
▪ PO DevOps PO
▪ Build Engineer E
▪ Admin. Test Env. E
▪ Autotester E
▪ Admin. UAT and PROD environments
E
Oth
er S
qu
ads
(if
nee
ded
)
Топ-менеджмент вовлечено в работу команд через ритм церемоний
ЦЕЛЬ ВСТРЕЧИ
ОРГАНИЗАЦИОННЫЙ УРОВЕНЬ
Топ-менеджмент Каждые 2 недели, устранение значительных препятствий для достижения результата
Рабочая группа DevOps
▪ DevOps Expert Lead
▪ PO DevOps
▪ DEV,QA, Ops
▪ Инфраструктура
Ежедневная работа по устранению организационных и сложных технических проблем
Команда DevOps ▪ PO DevOps Ежедневная консультация продуктовых команд
Команда продукта ▪ PO Squads Ежедневная работа над MVP(I) и бизнес-фичами
Фокус не только на инженерные практики, но и организационные барьеры
Карта потока ценности для пилотных систем
Все тестовые среды имеют ограниченную доступность из-за использования в плановых релизах
Создание инфраструктуры занимает несколько месяцев
Культура ограничивает использование инструментов DevOps
Командам трудно выбрать MVP из текущего набора проектов
0-3 дня 3-5 дней 0-9 дней 1 день
Планирование Проектирование Разработка Системное тестирование
Интеграционное тестирование
Тиражирование
Нагрузочное тестирование
Приемка
1 день 1-5 дней 10-26 дней 4-10 дней 3 дня 2-14 дней 7-30 дней
Передача
Статус pipeline DevOps в Трайбах
CDP CDL CI
AD AT AD AT AD VCS AB UT AD AT SME НКС
CDP CDL CI
VCS AB AD UT AT AD AT AD AT AD SME ФКД
CDP CDL CI
VCS AB AD UT AT AD AT AD AT AD Transact SME
CDP CDL CI
VCS AB AD UT AT AD AT AD AT AD АС ЕКН
CDP CDL CI
VCS AB AD UT AT AD AT AD AT AD Transact Retail
CDP CDL CI
VCS AB AD UT AT AD AT AD AT AD АС ЕФС НК
Continuous integration Continuous Delivery
Continuous Deployment
ПСИ ПРОМ
Версионный
контроь
Модульные
тесты Автосборка Автоустановка Автотесты Автоустановка Автотесты Автоустановка Автотесты Автоустановка
АС ЕФС
АИСТ ► ► ► ► ► ► ► ► ►
Внедрено
Внедрение DevOps в модельных трайбах
сокращен средний LeadTime по MVP АС
время разработки и выпуска в ПРОМ новой АС
Реализовано авторазвертывание на стенды ПСИ
Дальнейший фокус: • Единый pipeline DevOps во всех командах включая развертывание на ПРОМ
• Тиражирование DevOps на все трайбы
Ежедневные сборки и втотесты 68
дней 6 АС
Внедрено частично Не применимо (ограничения Legacy-технологий)
41 26 дней
►
Не внедрено
% автоматизации DevOps по
сквозному pipeline
% автоматизации DevOps по
отдельным практикам
% автоматизации DevOps по отдельным практикам по сквозному pipeline
ТРАЙБ А
ТРАЙБ Б
ТРАЙБ В
74% 36%
34% 39%
39% 37%
АС
VCS ► UT ► AB ► AD ► AT ► AD ► AT ► AD ► AT ► AD
► ► ► ► ► ► ► ► ►
Метрики внедрения DevOps
% автоматизации DevOps по сквозному pipeline
Ratings CI CDL CDP
Metrics evaluation scale
Literal rating UT coverage Code
duplication Technical debt (% of
team velocity) % of automated
API runs % of automated
API tests Density (bugs
per KLOC) % of auto
deploys (QA) % of automated
GUI runs % of automated
GUI tests % of UAT
bugs % of auto deploys
(UAT)
Prod. SW incidents (hours to solve
critical/high incidents)
Prod. deployment incidents
(hours to solve critical/high
incidents)
% of Production bugs
2 A >65% <5% <10% >60% >35% <5 >99% >35% >35% <1% >99% 0 0 <1%
1,5 B >50% <10% <30% >50% >25% <10 >80% >25% >25% <2% >80% <2 <2 <2%
1 C >35% <15% <60% >40% >15% <15 >60% >15% >15% <4% >60% <8 <8 <3%
0,5 D >20% <20% <100% >30% >5% <25 >40% >5% >5% <6% >40% <16 <16 <5%
0 E <=5% >=20% >=100% <=30% <=5% <40 <=40% <=5% <=5% >=8% <=40% >16 >16 >=5%
CI
1. Metrics collect
2. Metrics evaluation 3. CI / CDL / CDP literal rating
Average(CI metricseval) Average(CDP metricseval) Average(CDL metricseval)
System1 - ADB System2 - DDC
CDL CDP
4. Overall rating
To rank systems using alphabet sort (starting min rating for any of system practices):
System1 E A E
System2 E C D
System3 C D B
System4 C D C
System3 C D B
System4 C D C
System2 E C D
System1 E A E
Rating scale
Rating calculation
Уровень зрелости практик DevOps
Эффективность DevOps
% автоматизации DevOps по отдельным практикам
Основные вызовы и ближайшие шаги
КЛЮЧЕВЫЕ МОМЕНТЫ
ДАЛЬНЕЙШИЕ ШАГИ
▪ Основные проблемы оказались в изменении культуры производства
▪ Проблемы Legacy-систем можно решить архитектурными изменениями и роботизацией
▪ Создание инфраструктуры является узким местом
Фокус на культуре: обеспечить
использование pipeline и MVP за счет обучения
команд Реализовать
«feature toggling»
Реализовать процесс
«Infrastructure as a code» Тиражировать
DevOps в остальные команды и
трайбы (100 АС)
СПАСИБО ЗА ВНИМАНИЕ!
ВОПРОСЫ?