Разработка проектов на микросервисах

Разработка проектов на микросервисах

Микросервисный подход — это концепция разработки высоконагруженных или гибких в логике решений. Каждый микросервис выполняет небольшую атомарную задачу и объединяется BPM-системами. Микросервисы могут быть написаны на разных языках, масштабироваться или рефакториться независимо от других частей системы.

Микросервисный подход против модульного

1

Много разработки

Чем больше разработки, тем актуальнее вопросы регрессии и управления кастомным функционалом. BPMS и возможность разработки по TDD делает время поставки ценностей минимальным.

2

Видимость алгоритмов для бизнеса

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

3

Высоконагруженный проект

Микросервисное решение — в отличие от модульных — можно масштабировать атомарно вплоть до конкретных микросервисов.

Микросервисная архитектура против модульной

Модульные системы с богатым функционалом усложняют процесс масштабирования и внесения изменений. Иногда крайне затруднительным является покрытие функционала тестами.
Главные преимущества микросервисов:
- быстро масштабируются;
- возможна 100%-я TDD;
- прозрачны для бизнес-аналитиков;
- рефакторинг не проблема.

Ключевые свойства микросервисов

1

Микросервисы имеют понятные входы и выходы

Каждый микросервис рассматривается как автономный элемент, из которого собирается большой организм процесса. Это делает микросервис переиспользуемым и хорошо отлаживаемым.

2

Упрощённое чтение логов событий

При использовании BPMS бизнес видит, как работает код, на красивых и понятных схемах. С точки зрения логирования все логи приведены к единому формату, и анализ причинно-следственных связей становится максимально простым и сквозным для всего бизнес-процесса.

3

Вариации использования языков программирования

Каждый микросервис — автономный фрагмент кода. Иногда нужно объединить разные стеки (при рефакторинге, для ускорения), и в микросервисном подходе это не проблема.

4

Интеграция с BPM-системой

С интеграцией BPM-систем (как Camunda или jBPM) микросервисами удобнее управлять, контролировать их работу — бизнес-процессы исполняются именно так, как нарисованы в схемах BPMN 2.0. Алгоритмы становятся самодокументируемыми и прозрачными для бизнеса.

5

Возможность применения TDD

Использовать TDD в модульных системах бывает непросто из-за большой связанности функционала. Как следствие, подавляющее большинство модульной разработки — без TDD. Микросервисы могут обеспечить устойчивость к регрессии даже в очень сложной разработке.

6

Простота масштабирования

На уровне кластера вы можете масштабировать именно тот микросервис который в этом нуждается, а не все компоненты, что типично для модульных систем.

Отраслевые решения — мировой опыт

Заказчик

Amazon — американская компания, крупнейшая в мире платформа электронной коммерции.

Решение

Микросервисная архитектура позволяет легко масштабироваться

Когда Amazon находился на монолитном сервере, справляться с высокими нагрузками на сайт было трудно, особенно в пик распродаж. В результате Amazon терял выручку, а большая часть мощности сервера терялась во время простоя. Переход к Amazon Web Services (AWS) позволил Amazon при необходимости увеличивать или уменьшать масштаб, сокращать количество и продолжительность отключений и экономить деньги. Благодаря микросервисной архитектуре Amazon перешёл к непрерывному развёртыванию, и теперь инженеры Amazon внедряют код каждые 11,7 сек.

Заказчик

Netflix — американская развлекательная компания, предоставляющая услуги просмотра фильмов и сериалов онлайн.

Решение

Облачные микросервисы для бесперебойной трансляции миллиардов часов контента

Работая на монолитной архитектуре, Netflix имел дело с быстрыми темпами роста и постоянными сбоями, когда серверы выходили из строя при высоких нагрузках. В 2009 году, чтобы справиться с растущим спросом, Netflix начал переводить монолитную архитектуру на архитектуру облачных микросервисов. Благодаря переходу на микросервисы инженеры Netflix используют код тысячи раз в день. Сегодня Netflix обслуживает 93,8 миллиона пользователей по всему миру, транслируя более десяти миллиардов часов фильмов и шоу без перебоев.

Кейсы KT.Team

Смотреть все

Смотреть все

YouTube

Рассказываем
о микросервисной архитектуре на YouTube-
канале

Смотреть все

Ценообразование

Проекты оцениваются индивидуально, потому что для наших клиентов типовых задач не бывает

4200 

в час

Подробнее

Мы используем файлы cookie, чтобы предоставить наилучшие возможности сайта

Ок