SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Внедрение Agile в
Банке
Михаил Кононов
ООО «Хоум Кредит энд Финанс Банк»
MEMBER OF
PPF GROUP
AGILE
Автор: Кононов М.
14.03.2016
2
MEMBER OF
PPF GROUP
Agenda
1. О Банке HomeCredit
2. Блок информационных технологий
3. Agile
4. Пилотные проекты
5. Что от финтех-а применяем
6. Микросервисная архитектура
7. Open API
8. Результаты пилотов
9. Что дальше?
10. Вопросы 3
MEMBER OF
PPF GROUP
Один из крупнейших банков России
1 5 137место
по POS-
кредитам
место
по кредитам
наличными
место
по депозитам
физических лиц
место
по кредитным
картам
29.9 млн.
клиентов
Нас выбрала почти каждая
вторая семья России!
4
MEMBER OF
PPF GROUP
Один из крупнейших банков России
87 107
точек продаж
4 561
13 880
2 000
805
офисов
сотрудников
населенных пунктов
банкоматов
более
5
MEMBER OF
PPF GROUP
Что такое БИТ Home Credit
~600 сотрудников
300 - развитие, 300 - сопровождение
Waterfall релизы
200 сотрудников развития на релизах
6
MEMBER OF
PPF GROUP
TTM
1 неделя -1 месяц
5 месяцев
Small tasks
Express Releases
Releases 8 месяцев 7
MEMBER OF
PPF GROUP
Что такое Agile?
Набор ценностей и принципов
Набор практик и методик
Другой образ мышления и подход нацеленный
на достижение результата в кратчайшие сроки
8
MEMBER OF
PPF GROUP
Зачем Agile?
1. Гибкость
2. Сокращение TTM
3. Повышение эффективности
+
4. Применить технологии ФИНТЕХ-ов
9
MEMBER OF
PPF GROUP
Другой подход
10
MEMBER OF
PPF GROUP
Конвертация развития в бимодальную схему
Режим 1 Режим 2
Стабильность Цель Гибкость
Предсказуемая производительность за
известную цену
Ценности Бренд, впечатления клиента
Waterfall Подход Agile
На основе согласованного плана Управление Непрерывное, адаптируемое на основе опыта
Большие вендоры, корпоративные
интеграторы, долгосрочные договора
Ресурсы
Небольшиеновые вендоры и поставщики,
краткосрочные контракты
Эффективен в традиционных процессах
и проектах
Способности
Новые проекты с элементами
неопределенности
IT-центричная, отдаленная от клиента Культура Бизнес-центричная, приближенная к клиенту
Долгое (месяцы) Время цикла Короткое (недели)
11
MEMBER OF
PPF GROUP
Что такое Agile с технической стороны
1. Continuous Delivery
2. Continuous Testing
3. DevOps
12
MEMBER OF
PPF GROUP
Что такое Agile с точки зрения ИТ
в нашем Банке
1. Отстроенный процесс разработки ПО на базе коротких спринтов
2. Автоматизация
o Инфраструктуры в подходе Infrastructure as a Code
o Сетевых конфигураций и доступов
• Мониторинг
• Централизованное логирование
13
MEMBER OF
PPF GROUP
Что такое Agile с точки зрения ИТ
в нашем Банке
3. Частая поставка ПО - pipeline для работы с парадигмой Continuous
Delivery
• Автоматизированное развертывание на тестовую  интеграционные  нагрузочные
среды
• Автотесты
• Нагрузочное тестирование
• Автоматизированное развертывание в концепции обновление без остановки
14
MEMBER OF
PPF GROUP
Входные данные
1. Использование Open Source
2. Delivery Pipeline
3. Уход от монолитных приложений
15
MEMBER OF
PPF GROUP
С чего мы начали
1. Выделение 2 команд по 4 FTE от ИТ + 2-3 от бизнеса
на 3 месяца
2. Пилотные проекты:
• Проект “Микросервисная Архитектура”
• Проект с монолитной legacy системой
16
MEMBER OF
PPF GROUP
Микросервисы vs Монолит
17
MEMBER OF
PPF GROUP
Микросервисы vs Монолит
18
MEMBER OF
PPF GROUP
Архитектура
Архитектура
набор небольших сервисов, каждый из которых исполняется в отдельном процессе
и коммуницирует с внешним миром через легковесное API.
Развертывание
Каждый сервис устанавливается на среду исполнения независимо, при помощи
полностью автоматизированного механизма.
Полностью виртуальная инфраструктура
Все сервера, на которых разворачивается платформа – виртуальные и однотипные.
Разновидности контейнеров
Java и .Net.
Непрерывная сборка (Continuous Integration)
Commit в систему приводит к сборке микросервиса на билд-сервере и развертывании
на тестовой среде. 19
MEMBER OF
PPF GROUP
Архитектура
Автотестирование
Проверка микросервиса на уровне исполнения бизнес сценариев
Обновление без даунтайма
Микросервисные приложения обновляются последовательно, без остановки
бизнес сервиса.
Конфигурация также в виде кода
Вся специфика конфигурирования сред вынесена в отдельные настройки и также
хранится под версионным контролем.
20
MEMBER OF
PPF GROUP
GW Load Balancer
Service
Discovery
ELK
Microservice A
API
Microservice B
API
Microservice A
API
DB DB
Reverse Proxy
Microservice
API GW
https
http
https
https
Internet access
Balancing
Logging
Monitoring
Service
discovery
For requests
from Internet
Микросервисная архитектура
Service B Load
Balancer
https
API access control, audit,
throttling, etc
http
Service A Load Balancer
API GW
21
MEMBER OF
PPF GROUP
Технологии
Технология As Is Пилоты
БД Oracle PostgreSQL
Middleware IIS, Weblogic -
Балансировщик Apache Nginx
Configuration MGMT Ant + ручные операции Ansible
Build MGMT Jenkins Jenkins
Service Discovery - Consul
Container - OS + VM
Development Framework .NET, JAVA NET, JAVA
API Gateway - Netflix ZUUL
22
MEMBER OF
PPF GROUP
Pipeline
23
Ключевые принципы
• TDD
• BDD (Behavior Driven Development)
• Тесты не привязанные к среде (1 спецификация тестов на много сред)
Тестирование микросервисов
• Unit Тесты
• Scenario тесты
• Interface тесты
Технологии
• CUCUMBER
Запуск тестов
• Jenkins
• Ручной пуск
Continuous Testing
MEMBER OF
PPF GROUP
24
MEMBER OF
PPF GROUP
Continuous Testing
25
MEMBER OF
PPF GROUP
@Когда("^выполнен запрос на отправку PASS code с типом шаблона
([w_]+)$")
public void createPassCodeJD(String templateCode) throws Exception{
PassCodeRequest request = new PassCodeRequest();
request.setExtId("cucumber");
request.setMobilePhone("9160000000");
request.setTemplate(templateCode);
MvcResult result = mockMvc.perform(post("/PassCode/v1/passcode")
.contentType(MediaType.APPLICATION_JSON)
.content(mapper.writeValueAsString(request)))
.andExpect(status().is2xxSuccessful())
.andReturn();
context.setResponseStatus(result.getResponse().getStatus());
context.setSessionId(mapper.readValue(result.getResponse().getConte
ntAsString(), ObjectNode.class).get("id").asText());
context.setPassCode(service.get(context.getSessionId()).getPassCode
());
}
Continuous Testing
26
MEMBER OF
PPF GROUP
- name: Create directories for binaries
become: yes
file: path="/opt/{{service_name}}" state=directory
owner={{service_name}} group={{service_name}} mode=0755
- name: Create directories for logs
become: yes
file: path="{{log_dir}}" state=directory mode=0755
- name: Install java
become: yes
yum: name={{ java_pkg }}
register: installed_java_result
- name: Create service
become: yes
file: state=link src="/opt/{{service_name}}/{{service_name}}-
latest.jar" dest="/etc/init.d/{{service_name}}"
owner="{{service_name}}" mode=a+x force=yes
Инфраструктура как код
27
Комбинация инструментов:
• ELK (LogStash + ElasticSearch + Kibana)
• CA WILLy – API
• MS SCOM
ELK
• Все инфраструктурные компоненты (NGINX, app server, DB)
• Приложение / микросервис
Microservice A Microservice B
Elastic
Search
KIBANA
LogStash LogStash
GUI
MEMBER OF
PPF GROUP
Monitoring & Logging
28
MEMBER OF
PPF GROUP
API
29
1. Успешное завершение разработки и
тестирования
2. Деплой в продуктив
3. Открытое API для наших партнеров
MEMBER OF
PPF GROUP
Результаты
30
MEMBER OF
PPF GROUP
Проблемы
Пилот “Микросервисная архитектура”
• Для ИТ – Agile, для всех остальных подразделений –
waterfall
• Ресурсная проблема (QA дб 1 на 2 Dev)
Пилот с монолитной legasy системой
• Нечеткое формулирование требований (не
подготовлены, часто все “Critical” приоритета
• Нет выделенной среды – совмещение с waterfall
релизами
• Другие подразделения по прежнему в waterfall!
31
MEMBER OF
PPF GROUP
Agile Roadmap на 3 месяца
1. Визуализация Scrum процессов — 04.2016
2. Расширить автотестирование на мобильное
направление — 05.2016
3. CI  CD на мобильное направление— 06.2016
4. Метрики и измерения — 06.2016
32
MEMBER OF
PPF GROUP
Итоги
1. DEVPORTAL (описание сервисов для партнеров)
2. OPEN API
33
MEMBER OF
PPF GROUP
Дальше
1. Появление новых команд (мобильные приложения)
2. Синхронизация команд
3. Уменьшение waterfall в пользу agile (50% на 50%)
34
MEMBER OF
PPF GROUP
Вопросы
Как связаться:
EMAIL: mikhail.kononov@homecredit.ru
Тел. +7-916-028-91-72
35

Contenu connexe

Tendances

Discovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-командыDiscovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-командыCEE-SEC(R)
 
Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovMaxim Tsepkov
 
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...CEE-SEC(R)
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CICEE-SEC(R)
 
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?SQALab
 
Максим Богуславский, Ищем специалиста по обеспечению качества вместе
Максим Богуславский, Ищем специалиста по обеспечению качества вместеМаксим Богуславский, Ищем специалиста по обеспечению качества вместе
Максим Богуславский, Ищем специалиста по обеспечению качества вместеScrumTrek
 
Антон Немчинов, Применимость SAFe в крупной финансовой организации
Антон Немчинов, Применимость SAFe в крупной финансовой организацииАнтон Немчинов, Применимость SAFe в крупной финансовой организации
Антон Немчинов, Применимость SAFe в крупной финансовой организацииScrumTrek
 
Управление тестированием в Agile
Управление тестированием в AgileУправление тестированием в Agile
Управление тестированием в AgileAskhat Urazbaev
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance managementSQALab
 
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продуктаМодуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продуктаYana Brodetski
 
Переписать нельзя рефакторить
Переписать нельзя рефакторитьПереписать нельзя рефакторить
Переписать нельзя рефакторитьCEE-SEC(R)
 
Управление виртуальной командой аналитиков
Управление виртуальной командой аналитиковУправление виртуальной командой аналитиков
Управление виртуальной командой аналитиковSQALab
 
Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Yana Brodetski
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileAlexey Krivitsky
 
Методологии разработки по
Методологии разработки поМетодологии разработки по
Методологии разработки поJaneKozmina
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПОAnton Konushin
 

Tendances (19)

Discovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-командыDiscovery Kanban для управления беклогом Scrum-команды
Discovery Kanban для управления беклогом Scrum-команды
 
Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkov
 
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CI
 
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
 
Максим Богуславский, Ищем специалиста по обеспечению качества вместе
Максим Богуславский, Ищем специалиста по обеспечению качества вместеМаксим Богуславский, Ищем специалиста по обеспечению качества вместе
Максим Богуславский, Ищем специалиста по обеспечению качества вместе
 
Антон Немчинов, Применимость SAFe в крупной финансовой организации
Антон Немчинов, Применимость SAFe в крупной финансовой организацииАнтон Немчинов, Применимость SAFe в крупной финансовой организации
Антон Немчинов, Применимость SAFe в крупной финансовой организации
 
Управление тестированием в Agile
Управление тестированием в AgileУправление тестированием в Agile
Управление тестированием в Agile
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance management
 
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продуктаМодуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
 
Переписать нельзя рефакторить
Переписать нельзя рефакторитьПереписать нельзя рефакторить
Переписать нельзя рефакторить
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Emergency changes
Emergency changesEmergency changes
Emergency changes
 
Управление виртуальной командой аналитиков
Управление виртуальной командой аналитиковУправление виртуальной командой аналитиков
Управление виртуальной командой аналитиков
 
Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60.
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
Методологии разработки по
Методологии разработки поМетодологии разработки по
Методологии разработки по
 
Scrum: Introduction
Scrum: IntroductionScrum: Introduction
Scrum: Introduction
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 

En vedette

D2 15 20 Белый кит проект внедрения 1с itil
D2 15 20 Белый кит проект внедрения 1с itilD2 15 20 Белый кит проект внедрения 1с itil
D2 15 20 Белый кит проект внедрения 1с itilAndrew Paymushkin
 
Managed Desktop Services
Managed Desktop ServicesManaged Desktop Services
Managed Desktop ServicesGss America
 
20 Minutes on Desktop Analytics: Top Uses in the Contact Center
20 Minutes on Desktop Analytics:  Top Uses in the Contact Center 20 Minutes on Desktop Analytics:  Top Uses in the Contact Center
20 Minutes on Desktop Analytics: Top Uses in the Contact Center Cicero, Inc.
 
20 Minutes on Desktop Analytics: Objective QA in Contact Centers & Back Office
20 Minutes on Desktop Analytics:  Objective QA in Contact Centers & Back Office 20 Minutes on Desktop Analytics:  Objective QA in Contact Centers & Back Office
20 Minutes on Desktop Analytics: Objective QA in Contact Centers & Back Office Cicero, Inc.
 
11боровиков. 2016 копия
11боровиков. 2016 копия11боровиков. 2016 копия
11боровиков. 2016 копияBankir_Ru
 
13 бб приоритизация_2017_02
13 бб приоритизация_2017_0213 бб приоритизация_2017_02
13 бб приоритизация_2017_02Bankir_Ru
 
6 открытие 3
6 открытие 36 открытие 3
6 открытие 3Bankir_Ru
 
12 m kononov20161026
12 m kononov2016102612 m kononov20161026
12 m kononov20161026Bankir_Ru
 
5 нспк banki.ru v3
5 нспк   banki.ru v35 нспк   banki.ru v3
5 нспк banki.ru v3Bankir_Ru
 
Bankir 2016 habits transformation
Bankir 2016 habits transformationBankir 2016 habits transformation
Bankir 2016 habits transformationBankir_Ru
 
2 щербин projects-rbru final
2 щербин projects-rbru final2 щербин projects-rbru final
2 щербин projects-rbru finalBankir_Ru
 
Automated Operating System Deployment Using SCCM 2012
Automated Operating System Deployment Using SCCM 2012Automated Operating System Deployment Using SCCM 2012
Automated Operating System Deployment Using SCCM 2012Abdelslam Elsobky
 
Desktop Management Using Microsoft SCCM
Desktop Management Using Microsoft SCCMDesktop Management Using Microsoft SCCM
Desktop Management Using Microsoft SCCMJerry Bishop
 
Components of a Socially Responsible Company
Components of a Socially Responsible CompanyComponents of a Socially Responsible Company
Components of a Socially Responsible CompanyAs You Sow
 
ReTechCon India 2011
ReTechCon India 2011ReTechCon India 2011
ReTechCon India 2011Motorola
 

En vedette (16)

D2 15 20 Белый кит проект внедрения 1с itil
D2 15 20 Белый кит проект внедрения 1с itilD2 15 20 Белый кит проект внедрения 1с itil
D2 15 20 Белый кит проект внедрения 1с itil
 
Managed Desktop Services
Managed Desktop ServicesManaged Desktop Services
Managed Desktop Services
 
20 Minutes on Desktop Analytics: Top Uses in the Contact Center
20 Minutes on Desktop Analytics:  Top Uses in the Contact Center 20 Minutes on Desktop Analytics:  Top Uses in the Contact Center
20 Minutes on Desktop Analytics: Top Uses in the Contact Center
 
20 Minutes on Desktop Analytics: Objective QA in Contact Centers & Back Office
20 Minutes on Desktop Analytics:  Objective QA in Contact Centers & Back Office 20 Minutes on Desktop Analytics:  Objective QA in Contact Centers & Back Office
20 Minutes on Desktop Analytics: Objective QA in Contact Centers & Back Office
 
11боровиков. 2016 копия
11боровиков. 2016 копия11боровиков. 2016 копия
11боровиков. 2016 копия
 
13 бб приоритизация_2017_02
13 бб приоритизация_2017_0213 бб приоритизация_2017_02
13 бб приоритизация_2017_02
 
6 открытие 3
6 открытие 36 открытие 3
6 открытие 3
 
12 m kononov20161026
12 m kononov2016102612 m kononov20161026
12 m kononov20161026
 
5 нспк banki.ru v3
5 нспк   banki.ru v35 нспк   banki.ru v3
5 нспк banki.ru v3
 
Bankir 2016 habits transformation
Bankir 2016 habits transformationBankir 2016 habits transformation
Bankir 2016 habits transformation
 
2 щербин projects-rbru final
2 щербин projects-rbru final2 щербин projects-rbru final
2 щербин projects-rbru final
 
Automated Operating System Deployment Using SCCM 2012
Automated Operating System Deployment Using SCCM 2012Automated Operating System Deployment Using SCCM 2012
Automated Operating System Deployment Using SCCM 2012
 
SCCM 2012 Presentation
SCCM 2012 PresentationSCCM 2012 Presentation
SCCM 2012 Presentation
 
Desktop Management Using Microsoft SCCM
Desktop Management Using Microsoft SCCMDesktop Management Using Microsoft SCCM
Desktop Management Using Microsoft SCCM
 
Components of a Socially Responsible Company
Components of a Socially Responsible CompanyComponents of a Socially Responsible Company
Components of a Socially Responsible Company
 
ReTechCon India 2011
ReTechCon India 2011ReTechCon India 2011
ReTechCon India 2011
 

Similaire à AgileDays 2016. Внедрение Agile в Банке

Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Alexei Lupan
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Ontico
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтендViacheslav Slinko
 
Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Yurii Kadirov
 
Перфоманс Лаб
Перфоманс ЛабПерфоманс Лаб
Перфоманс ЛабGeorge Kovalov
 
Symfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork EnterpriseSymfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork EnterpriseDmitry Semenov
 
Как мы экспериментируем в больших микросервисных системах
Как мы экспериментируем в больших микросервисных системахКак мы экспериментируем в больших микросервисных системах
Как мы экспериментируем в больших микросервисных системахEatDog
 
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesМикросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesDenis Izmaylov
 
Ядро автоматизации под микро-сервисную архитектуру
Ядро автоматизации под микро-сервисную архитектуруЯдро автоматизации под микро-сервисную архитектуру
Ядро автоматизации под микро-сервисную архитектуруSQALab
 
Yota Splunk История успеха
Yota Splunk История успехаYota Splunk История успеха
Yota Splunk История успехаAlexander Kulakov
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"Fwdays
 
Подходы к мониторингу информационных систем
Подходы к мониторингу информационных системПодходы к мониторингу информационных систем
Подходы к мониторингу информационных системCisco Russia
 
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...Cisco Russia
 
Megafon Splunk История успеха
Megafon Splunk История успехаMegafon Splunk История успеха
Megafon Splunk История успехаAlexander Kulakov
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Vadim Martynov
 
Dev ops performance lab-v2 (1)
Dev ops performance lab-v2 (1)Dev ops performance lab-v2 (1)
Dev ops performance lab-v2 (1)Rostislav Achilov
 
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...SECON
 
Бизнес-проект Центр компьютерного моделирования на основе технологии GPUDigit...
Бизнес-проект Центр компьютерного моделирования на основе технологии GPUDigit...Бизнес-проект Центр компьютерного моделирования на основе технологии GPUDigit...
Бизнес-проект Центр компьютерного моделирования на основе технологии GPUDigit...oleg gubanov
 

Similaire à AgileDays 2016. Внедрение Agile в Банке (20)

Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтенд
 
Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...
 
Перфоманс Лаб
Перфоманс ЛабПерфоманс Лаб
Перфоманс Лаб
 
Symfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork EnterpriseSymfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork Enterprise
 
Как мы экспериментируем в больших микросервисных системах
Как мы экспериментируем в больших микросервисных системахКак мы экспериментируем в больших микросервисных системах
Как мы экспериментируем в больших микросервисных системах
 
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesМикросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и Kubernetes
 
SECON'2014 - Александр Бындю - Переход от монолитной архитектуры к распределе...
SECON'2014 - Александр Бындю - Переход от монолитной архитектуры к распределе...SECON'2014 - Александр Бындю - Переход от монолитной архитектуры к распределе...
SECON'2014 - Александр Бындю - Переход от монолитной архитектуры к распределе...
 
Ядро автоматизации под микро-сервисную архитектуру
Ядро автоматизации под микро-сервисную архитектуруЯдро автоматизации под микро-сервисную архитектуру
Ядро автоматизации под микро-сервисную архитектуру
 
Yota Splunk История успеха
Yota Splunk История успехаYota Splunk История успеха
Yota Splunk История успеха
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Подходы к мониторингу информационных систем
Подходы к мониторингу информационных системПодходы к мониторингу информационных систем
Подходы к мониторингу информационных систем
 
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
 
Megafon Splunk История успеха
Megafon Splunk История успехаMegafon Splunk История успеха
Megafon Splunk История успеха
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
 
Dev ops performance lab-v2 (1)
Dev ops performance lab-v2 (1)Dev ops performance lab-v2 (1)
Dev ops performance lab-v2 (1)
 
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
 
Бизнес-проект Центр компьютерного моделирования на основе технологии GPUDigit...
Бизнес-проект Центр компьютерного моделирования на основе технологии GPUDigit...Бизнес-проект Центр компьютерного моделирования на основе технологии GPUDigit...
Бизнес-проект Центр компьютерного моделирования на основе технологии GPUDigit...
 

AgileDays 2016. Внедрение Agile в Банке

  • 1. Внедрение Agile в Банке Михаил Кононов ООО «Хоум Кредит энд Финанс Банк»
  • 2. MEMBER OF PPF GROUP AGILE Автор: Кононов М. 14.03.2016 2
  • 3. MEMBER OF PPF GROUP Agenda 1. О Банке HomeCredit 2. Блок информационных технологий 3. Agile 4. Пилотные проекты 5. Что от финтех-а применяем 6. Микросервисная архитектура 7. Open API 8. Результаты пилотов 9. Что дальше? 10. Вопросы 3
  • 4. MEMBER OF PPF GROUP Один из крупнейших банков России 1 5 137место по POS- кредитам место по кредитам наличными место по депозитам физических лиц место по кредитным картам 29.9 млн. клиентов Нас выбрала почти каждая вторая семья России! 4
  • 5. MEMBER OF PPF GROUP Один из крупнейших банков России 87 107 точек продаж 4 561 13 880 2 000 805 офисов сотрудников населенных пунктов банкоматов более 5
  • 6. MEMBER OF PPF GROUP Что такое БИТ Home Credit ~600 сотрудников 300 - развитие, 300 - сопровождение Waterfall релизы 200 сотрудников развития на релизах 6
  • 7. MEMBER OF PPF GROUP TTM 1 неделя -1 месяц 5 месяцев Small tasks Express Releases Releases 8 месяцев 7
  • 8. MEMBER OF PPF GROUP Что такое Agile? Набор ценностей и принципов Набор практик и методик Другой образ мышления и подход нацеленный на достижение результата в кратчайшие сроки 8
  • 9. MEMBER OF PPF GROUP Зачем Agile? 1. Гибкость 2. Сокращение TTM 3. Повышение эффективности + 4. Применить технологии ФИНТЕХ-ов 9
  • 11. MEMBER OF PPF GROUP Конвертация развития в бимодальную схему Режим 1 Режим 2 Стабильность Цель Гибкость Предсказуемая производительность за известную цену Ценности Бренд, впечатления клиента Waterfall Подход Agile На основе согласованного плана Управление Непрерывное, адаптируемое на основе опыта Большие вендоры, корпоративные интеграторы, долгосрочные договора Ресурсы Небольшиеновые вендоры и поставщики, краткосрочные контракты Эффективен в традиционных процессах и проектах Способности Новые проекты с элементами неопределенности IT-центричная, отдаленная от клиента Культура Бизнес-центричная, приближенная к клиенту Долгое (месяцы) Время цикла Короткое (недели) 11
  • 12. MEMBER OF PPF GROUP Что такое Agile с технической стороны 1. Continuous Delivery 2. Continuous Testing 3. DevOps 12
  • 13. MEMBER OF PPF GROUP Что такое Agile с точки зрения ИТ в нашем Банке 1. Отстроенный процесс разработки ПО на базе коротких спринтов 2. Автоматизация o Инфраструктуры в подходе Infrastructure as a Code o Сетевых конфигураций и доступов • Мониторинг • Централизованное логирование 13
  • 14. MEMBER OF PPF GROUP Что такое Agile с точки зрения ИТ в нашем Банке 3. Частая поставка ПО - pipeline для работы с парадигмой Continuous Delivery • Автоматизированное развертывание на тестовую интеграционные нагрузочные среды • Автотесты • Нагрузочное тестирование • Автоматизированное развертывание в концепции обновление без остановки 14
  • 15. MEMBER OF PPF GROUP Входные данные 1. Использование Open Source 2. Delivery Pipeline 3. Уход от монолитных приложений 15
  • 16. MEMBER OF PPF GROUP С чего мы начали 1. Выделение 2 команд по 4 FTE от ИТ + 2-3 от бизнеса на 3 месяца 2. Пилотные проекты: • Проект “Микросервисная Архитектура” • Проект с монолитной legacy системой 16
  • 19. MEMBER OF PPF GROUP Архитектура Архитектура набор небольших сервисов, каждый из которых исполняется в отдельном процессе и коммуницирует с внешним миром через легковесное API. Развертывание Каждый сервис устанавливается на среду исполнения независимо, при помощи полностью автоматизированного механизма. Полностью виртуальная инфраструктура Все сервера, на которых разворачивается платформа – виртуальные и однотипные. Разновидности контейнеров Java и .Net. Непрерывная сборка (Continuous Integration) Commit в систему приводит к сборке микросервиса на билд-сервере и развертывании на тестовой среде. 19
  • 20. MEMBER OF PPF GROUP Архитектура Автотестирование Проверка микросервиса на уровне исполнения бизнес сценариев Обновление без даунтайма Микросервисные приложения обновляются последовательно, без остановки бизнес сервиса. Конфигурация также в виде кода Вся специфика конфигурирования сред вынесена в отдельные настройки и также хранится под версионным контролем. 20
  • 21. MEMBER OF PPF GROUP GW Load Balancer Service Discovery ELK Microservice A API Microservice B API Microservice A API DB DB Reverse Proxy Microservice API GW https http https https Internet access Balancing Logging Monitoring Service discovery For requests from Internet Микросервисная архитектура Service B Load Balancer https API access control, audit, throttling, etc http Service A Load Balancer API GW 21
  • 22. MEMBER OF PPF GROUP Технологии Технология As Is Пилоты БД Oracle PostgreSQL Middleware IIS, Weblogic - Балансировщик Apache Nginx Configuration MGMT Ant + ручные операции Ansible Build MGMT Jenkins Jenkins Service Discovery - Consul Container - OS + VM Development Framework .NET, JAVA NET, JAVA API Gateway - Netflix ZUUL 22
  • 24. Ключевые принципы • TDD • BDD (Behavior Driven Development) • Тесты не привязанные к среде (1 спецификация тестов на много сред) Тестирование микросервисов • Unit Тесты • Scenario тесты • Interface тесты Технологии • CUCUMBER Запуск тестов • Jenkins • Ручной пуск Continuous Testing MEMBER OF PPF GROUP 24
  • 26. MEMBER OF PPF GROUP @Когда("^выполнен запрос на отправку PASS code с типом шаблона ([w_]+)$") public void createPassCodeJD(String templateCode) throws Exception{ PassCodeRequest request = new PassCodeRequest(); request.setExtId("cucumber"); request.setMobilePhone("9160000000"); request.setTemplate(templateCode); MvcResult result = mockMvc.perform(post("/PassCode/v1/passcode") .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsString(request))) .andExpect(status().is2xxSuccessful()) .andReturn(); context.setResponseStatus(result.getResponse().getStatus()); context.setSessionId(mapper.readValue(result.getResponse().getConte ntAsString(), ObjectNode.class).get("id").asText()); context.setPassCode(service.get(context.getSessionId()).getPassCode ()); } Continuous Testing 26
  • 27. MEMBER OF PPF GROUP - name: Create directories for binaries become: yes file: path="/opt/{{service_name}}" state=directory owner={{service_name}} group={{service_name}} mode=0755 - name: Create directories for logs become: yes file: path="{{log_dir}}" state=directory mode=0755 - name: Install java become: yes yum: name={{ java_pkg }} register: installed_java_result - name: Create service become: yes file: state=link src="/opt/{{service_name}}/{{service_name}}- latest.jar" dest="/etc/init.d/{{service_name}}" owner="{{service_name}}" mode=a+x force=yes Инфраструктура как код 27
  • 28. Комбинация инструментов: • ELK (LogStash + ElasticSearch + Kibana) • CA WILLy – API • MS SCOM ELK • Все инфраструктурные компоненты (NGINX, app server, DB) • Приложение / микросервис Microservice A Microservice B Elastic Search KIBANA LogStash LogStash GUI MEMBER OF PPF GROUP Monitoring & Logging 28
  • 30. 1. Успешное завершение разработки и тестирования 2. Деплой в продуктив 3. Открытое API для наших партнеров MEMBER OF PPF GROUP Результаты 30
  • 31. MEMBER OF PPF GROUP Проблемы Пилот “Микросервисная архитектура” • Для ИТ – Agile, для всех остальных подразделений – waterfall • Ресурсная проблема (QA дб 1 на 2 Dev) Пилот с монолитной legasy системой • Нечеткое формулирование требований (не подготовлены, часто все “Critical” приоритета • Нет выделенной среды – совмещение с waterfall релизами • Другие подразделения по прежнему в waterfall! 31
  • 32. MEMBER OF PPF GROUP Agile Roadmap на 3 месяца 1. Визуализация Scrum процессов — 04.2016 2. Расширить автотестирование на мобильное направление — 05.2016 3. CI CD на мобильное направление— 06.2016 4. Метрики и измерения — 06.2016 32
  • 33. MEMBER OF PPF GROUP Итоги 1. DEVPORTAL (описание сервисов для партнеров) 2. OPEN API 33
  • 34. MEMBER OF PPF GROUP Дальше 1. Появление новых команд (мобильные приложения) 2. Синхронизация команд 3. Уменьшение waterfall в пользу agile (50% на 50%) 34
  • 35. MEMBER OF PPF GROUP Вопросы Как связаться: EMAIL: mikhail.kononov@homecredit.ru Тел. +7-916-028-91-72 35