devops in banking legacy systems · Мы создали временные команды...

13
DevOps Москва, 2017 Михаил Громов банковских Legacy-систем

Upload: others

Post on 13-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

DevOps

Москва, 2017

Михаил Громов

банковских Legacy-систем

Page 2: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

ОСНОВНЫЕ ЭТАПЫ ТРАНСФОРМАЦИИ …

Фокус на выстраивании DevOps

СТАРТ AGILE-ТРАНСФОРМАЦИИ

НАЧАЛО ВНЕДРЕНИЕ DEVOPS ДЛЯ КЛЮЧЕВЫХ

ПРОГРАММ

НАЧАЛО ПЕРВОЙ ФАЗЫ ТРАНСФОРМАЦИИ

НАЧАЛО РЕАЛИЗАЦИИ DEVOPS В МОДЕЛЬНЫХ

ТРАЙБАХ

НАЧАЛО ВТОРОЙ ФАЗЫ

ТРАНСФОРМАЦИИ

2016 2017

МАРТ МАРТ

МАЙ СЕНТЯБРЬ

ОКТЯБРЬ

НАЧАЛО РЕАЛИЗАЦИИ

DEVOPS ДЛЯ 80% АС

АВГУСТ

Page 3: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

ПУТЬ ТРАНСФОРМАЦИИ

ЛЕТО 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 раз в год

Page 4: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

Мы выбрали 5 АС и начали строить путь до внедрения, основываясь на реальных фичах и трех уровнях поставки: MVP, MVPI, Infra & Auto

НАШИ LEGACY-СИСТЕМЫ

3 УРОВНЯ ПОСТАВКИ

СИСТЕМА ОПИСАНИЕ ТЕХНОЛОГИЯ

EKP

Transact Retail

PEGA

Система сопровождения розничного кредитования

Система обработки заявок на кредиты физ. лиц

Система управления кредитными рисками

▪ Монолитная архитектура

▪ Монолитная архитектура

▪ Слияние кода вручную

▪ Сборка дистрибутива вручную

▪ Монолитная архитектура

▪ Ограничения на параллельную разработку

MVP: поставка фич без интеграции каждые 2 недели

MVPI: поставка интеграционных фич для двух и более систем каждые 2 недели

Target Infra & Auto: итеративное развитие сред и автоматизации для локальных интеграционных релизов

Page 5: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

Целевой процессе 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*

Ворота качества

▪ Нагрузочное

тестирование

▪ Ручное

тестирование

* Ручное тестирование

Page 6: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

Мы создали временные команды экспертов 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

)

Page 7: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

Топ-менеджмент вовлечено в работу команд через ритм церемоний

ЦЕЛЬ ВСТРЕЧИ

ОРГАНИЗАЦИОННЫЙ УРОВЕНЬ

Топ-менеджмент Каждые 2 недели, устранение значительных препятствий для достижения результата

Рабочая группа DevOps

▪ DevOps Expert Lead

▪ PO DevOps

▪ DEV,QA, Ops

▪ Инфраструктура

Ежедневная работа по устранению организационных и сложных технических проблем

Команда DevOps ▪ PO DevOps Ежедневная консультация продуктовых команд

Команда продукта ▪ PO Squads Ежедневная работа над MVP(I) и бизнес-фичами

Page 8: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

Фокус не только на инженерные практики, но и организационные барьеры

Карта потока ценности для пилотных систем

Все тестовые среды имеют ограниченную доступность из-за использования в плановых релизах

Создание инфраструктуры занимает несколько месяцев

Культура ограничивает использование инструментов DevOps

Командам трудно выбрать MVP из текущего набора проектов

0-3 дня 3-5 дней 0-9 дней 1 день

Планирование Проектирование Разработка Системное тестирование

Интеграционное тестирование

Тиражирование

Нагрузочное тестирование

Приемка

1 день 1-5 дней 10-26 дней 4-10 дней 3 дня 2-14 дней 7-30 дней

Передача

Page 9: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

Статус 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 АС ЕФС НК

Page 10: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

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%

Page 11: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

АС

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 по отдельным практикам

Page 12: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

Основные вызовы и ближайшие шаги

КЛЮЧЕВЫЕ МОМЕНТЫ

ДАЛЬНЕЙШИЕ ШАГИ

▪ Основные проблемы оказались в изменении культуры производства

▪ Проблемы Legacy-систем можно решить архитектурными изменениями и роботизацией

▪ Создание инфраструктуры является узким местом

Фокус на культуре: обеспечить

использование pipeline и MVP за счет обучения

команд Реализовать

«feature toggling»

Реализовать процесс

«Infrastructure as a code» Тиражировать

DevOps в остальные команды и

трайбы (100 АС)

Page 13: DevOps in Banking Legacy Systems · Мы создали временные команды экспертов DevOps, которые помогают строить pipeline PO Product

СПАСИБО ЗА ВНИМАНИЕ!

ВОПРОСЫ?