Павел Масс (it2u) «Микросервисы»
TRANSCRIPT
All Rights Reserved © 2016 1
МИКРОСЕРВИСЫ (MICROSERVICES)
СМЕНА ПАРАДИГМ ДЛЯ БЫСТРОРАЗВИВАЮЩИХСЯКОМПАНИЙ ЭЛЕКТРОННОЙ ТОРГОВЛИ
All Rights Reserved © 2016 2
Обзор Статус-кво: Как выглядит современное покупательское
поведение? Что относится к решающим факторам, позволяющим быть
успешным в современной электронной коммерции? Микросервисы против монолитов Технические и организационные задачи Примеры использования Этапы внедрения
All Rights Reserved © 2016 4
Скорость и оперативность всегда важнее Быстро изменяющиеся требования клиентов означает для коммерсантов
необходимость быстрого реагирования (например, новая функциональность, новые бизнес-модели)
Конкуренты не дремлют: инновация имеет решающее значение!
Всё новые устройства, например, смартфоны, планшеты и «Интернет вещей», требуют постоянного сокращения цикла разработки.
Экспоненциально растущее число пользователей и внедрение проектов по всему миру означают огромные требования к масштабируемости.
All Rights Reserved © 2016 6
Централизованные команды, монолитные приложения IT-команды имеют преимущественно централизованную
организацию Задачи распределяются горизонтально: есть специалисты в
области баз данных, фронтенд-разработчики и т.д. Согласно закону Конвея коммуникационная и организационная
структура компании обусловливает архитектуру используемых решений программного обеспечения.СЛЕДОВАТЕЛЬНО: ВО МНОГИХ КОМПАНИЯХ ЕСТЬ КРУПНЫЕ
МОНОЛИТНЫЕ РЕШЕНИЯ, НАД КОТОРЫМИ РАБОТАЮТ ВСЕ УЧАСТНИКИ.
All Rights Reserved © 2016 8
Большая комплексность программного обеспечения:Сопровождение и доработка затруднены.
Нечеткая ответственность:Никто не понимает приложение в полном объеме и не может взять на себя полную ответственность.
All Rights Reserved © 2016 9
Недостаточная оперативность:Высокие временные затраты на согласование являются препятствием для быстрой разработки.
Уязвимая система:Централизованная система обусловливает наличие компонента, отказ которого приводит к отказу всей системы.
All Rights Reserved © 2016 10
Дорогостоящее тестирование:Зависимости делают автоматизированное тестирование практически невозможным.
Нет специализации:Части приложения не могут использоваться в отдельной среде.
Масштабирование:Монолиты могут масштабироваться лишь горизонтально. ЧТО МОЖЕТ
ПОМОЧЬ?
All Rights Reserved © 2016 11
МикросервисыПри использовании микросервисов монолитное приложение разделяется на несколько полностью независимых сервисов.
All Rights Reserved © 2016 12
Меньшая комплексность программного обеспечения:
Сопровождение и обновление проще
All Rights Reserved © 2016 13
Полная ответственность:
Команды разрабатывают, тестируют и администрируют свои собственные микросервисы
All Rights Reserved © 2016 14
Больше оперативности:
Команды автономны и могут вносить изменения в режиме реального времени
All Rights Reserved © 2016 15
Более высокая надежность:
отсутствие компонента, отказ которого приводит к отказу всей системы
All Rights Reserved © 2016 16
Эффективное масштабирование:
сервисы можно использовать независимо друг от друга
All Rights Reserved © 2016 17
Специализация:
Каждый микросервис использует технологию, которая наиболее подходит для решения задачи; разработчики могут специализироваться
All Rights Reserved © 2016 18
ВыводыМонолит Микросервисы
Единственное применение Много мелких, сокращенных до одной функции сервисов
При внедрении всё приложение должно дробиться
Микросервисы можно внедрять по отдельности
Одна память для хранения данных для всего приложения
Каждый микросервис имеет собственную память для хранения данных
Коммуникация происходит в рамках приложения
Удаленные вызовы, как правило, REST-вызовычерез HTTP
Разделение разработчиков и опций Сотрудничество разработчиков и опций
«Состояние» во время работы находится во внешнем приложении
«Состояние» сохраняется централизованно, индивидуальные структуры без отслеживания состояния
All Rights Reserved © 2016 20
Но:Микросервисы не панацея
Комплексность не исчезает, она смещается и более удобна для пользования
Необходимы новые способности команды и новые инструменты/процессы, в особенности, в области опций (функционирование, мониторинг и т.д.)
All Rights Reserved © 2016 22
Целевое исследование клиентов REWEРазработка системы «микроуслуг» для ведущей немецкой онлайн-сети продовольственных магазинов
• Современная технология микроуслуг для магазинов
• Продвижение быстрой разработки и внедрения технологий
• Лидер немецкого рынка розничной онлайн-торговли продовольственными продуктами по всем каналам
• Онлайн-магазин лауреат премий
• Идеально интегрированное мобильное приложение
Перспективы Решения Результат• Продовольственная сеть с
оборотом в 50 млрд евро и более 3 000 магазинов намерена стать лидером на немецком рынке онлайн-доставки продовольственных товаров
• В систему комплексных требований входит и структура предприятия (планирование ресурсов, взаимодействие с клиентами, логистика и проч.)
• Безупречная многоканальная работа с клиентами и глубокая интеграция онлайн-, мобильного и магазинного обслуживания
• Комплексная модель данных о продукции с учетом LMIV в рамках коммерческих инструментов PIM
• Бренды и компании с учетом стран в одном коммерческом приложении
Сайт: www.rewe.de
All Rights Reserved © 2016 23
«Микроуслуга»...
• это самостоятельно развертываемое приложение• разрабатываемое коллективом• обладает «собственными» коммерческими
алгоритмами, алгоритмами презентации и параметрами устойчивости
• дает доступ к функциям и данным только посредством специальных интерфейсов
• технологически независимо от всех других сервисов
• это приложение можно заново переписать, без проблем
All Rights Reserved © 2016 24
посредством «микроуслуг» группа может поддержать свою модель «мгновенных продаж» может применяться с разными языками, рамочными программами и технологиями
улучшенная помехоустойчивость
Zalando создала многорежимную платформу на основе микроуслуг «Радикальное повышение скорости»: Новая структура предприятия
«Микроуслуги» заменяют старые приложения (напр. Shop-Frontend)
All Rights Reserved © 2016 25
Шаги по внедрению микроуслуг
1.Изложить стратегические цели (напр., увеличить скорость продаж, изменить масштаб, уменьшить зависимость от поставщиков)
All Rights Reserved © 2016 26
Шаги по внедрению микроуслуг
2.Определить область услуг в соответствии с исследованием Customer Journey
All Rights Reserved © 2016 27
Шаги по внедрению микроуслуг
3.Провести проверку существующей системы и скорректировать области стратегических задач
All Rights Reserved © 2016 28
Шаги по внедрению микроуслуг
4.Подобрать новые рабочие коллективы по областям
All Rights Reserved © 2016 33
«микроуслуги» можно использовать на основе коммерческих инструментов
Более 20 терминалов API могут применяться для микроуслуг
На базе платформы можно составлять собственные микроуслуги
Текущий контроль, высокая эксплуатационная готовность, автоматическое масштабирование без дополнительных затрат
All Rights Reserved © 2016 34
Пример целевой структуры микроуслуг
Работа с сайтом Обнаружение продуктов
Презентация продукта Исследования Выполнение
Инфраструктура платформы
Активные страницы
Клиенты
Статическое содержание
Поиск Рекомендации
Поиск персонализация
Навигация
Информация по продукции
Медиа
Категории Скидки
Цены
ТележкаСписок пожеланий
Создание заказа Оплата
Управление заказами
Склад
Выписка счета
Варианты доставки
Идентификация и авторизация
Электронная почта и уведомления
Сессия Вход в систему
Текущий контроль и контрольные показатели
Бизнес аналитика
…
Пример платформы микроуслуг электронной торговли
All Rights Reserved © 2016 36
Как это работаетПолное коммерческое решение для предприятия на базе Cloud с входами в API, микроуслугами и комплектами средств разработки