Meetup#10_MicroservicesAndPain_Miroshin презентация

Содержание

Senior Software Engineer в компании EPAM Systems Программирую на Java более 7 лет и не жалею Покупаю книги по программированию и не читаю их Больше микросервисов не люблю только говяжью печенку

Слайд 1Дуров, верни стену!
Создание чат-ботов в Telegram

Боль микросервисов
Флэшбэки


Слайд 2Senior Software Engineer в компании EPAM Systems
Программирую на Java более 7

лет и не жалею
Покупаю книги по программированию и не читаю их
Больше микросервисов не люблю только говяжью печенку
Работаю в баре и занимаюсь стендап-комедией

Кто я такой

Василий Мирошин


Слайд 3О ЧЁМ Я БУДУ РАССКАЗЫВАТЬ


Слайд 4Хипстерская поделка – современное решение (фреймворк, библиотека), активно продвигаемое на форумах,

в докладах на крупных конференциях, а также в холиварах у офисного кулера. Имеет особый успех у программистов с подворотами и в клетчатых рубашках. Обычно собеседники с пеной у рта доказывают, что именно это решение изменит мир разработки на Java. При описании хипстерских поделок обычно используют выражения «в тренде», «мейнстрим». При использовании чаще всего оказывается, что данное решение применимо только в примерах для презентаций. Хорошо, если просветление наступает до его использования в продакшене. Плохо, если заказчик остается недовольным.

РУБРИКА «ИЗУЧАЕМ АЛФАВИТ». БУКВА Х


Слайд 5СЛАЙД – ПАСХАЛКА. В ЧЁМ ЦЕЛЬ МОЕГО ДОКЛАДА?
Мы собрались в этот

вечер среды, чтобы в конце доклада прийти к выводу, что
МИКРОСЕРВИСЫ – ХИПСТЕРСКАЯ ПОДЕЛКА!

Слайд 6Микросервисы – это подход, при котором единое приложение строится как набор

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

ЧТО ТАКОЕ МИКРОСЕРВИСЫ


Слайд 7Развертывание
Надежность
Доступность
Масштабируемость
Модифицируемость
Управление
Автономность дизайна
ПЛЮСЫ МИКРОСЕРВИСОВ


Слайд 8Как делить зону ответственности между микросервисами?
Дублирование функциональности
Как микросервисы общаются между собой?

Feign клиенты и REST Templates
Создание фреймворков
Версионирование микросервисов и ещё 10 причин суицида у программистов
Пропасть в коммуникациях
Архитектор – Бог
12 лет рабства или «почему девопсы работают в режиме 24/7»




БОЛЬ МИКРОСЕРВИСОВ



Слайд 9«Определение границ микросервиса — самый важный шаг. От этого будет зависеть

вся дальнейшая жизнь микросервиса, и это серьёзно повлияет на жизнь команды, отвечающей за него» (с) Джейсон Стэтхэм


ПРОБЛЕМА #1. КАК ДЕЛИТЬ ЗОНУ ОТВЕТСТВЕННОСТИ?


Слайд 10Основной принцип определения зоны ответственности микросервиса — сформировать её вокруг некоторой

бизнес-потребности.

Что может помешать этому?

Реальные системы обычно не имеют чётко определённых границ
Изменение требований заказачика (Привет, SCRUM!);
Неверное определение границ микросервиса на этапе проектирования;
Сжатые сроки («Пока там сделаем, а потом, будет время, перепишем»)



ПРОБЛЕМА #1. КАК ДЕЛИТЬ ЗОНУ ОТВЕТСТВЕННОСТИ?


Слайд 11Почти все успешные микросервисные проекты начинали с монолита, который стал слишком

большим и в конце концов был разделён.

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



ПРОБЛЕМА #1. ВОЗМОЖНЫЕ РЕШЕНИЯ


Слайд 12
ПРОБЛЕМА #2. ДУБЛИРОВАНИЕ ФУНКЦИОНАЛЬНОСТИ


Слайд 13
ПРОБЛЕМА #2. ДУБЛИРОВАНИЕ ФУНКЦИОНАЛЬНОСТИ
Data
Authentification
Feature Microservice


Слайд 14


ПРОБЛЕМА #2. ВОЗМОЖНЫЕ РЕШЕНИЯ
РЕШЕНИЕ ДАННОЙ ПРОБЛЕМЫ – РАСШИРЕНИЕ ВЗАИМОДЕЙСТВИЯ МИКРОСЕРВИСОВ
НО…

ОНО ПРИВОДИТ К ДРУГИМ ПРОБЛЕМАМ

Слайд 15


ПРОБЛЕМА #3. ВЗАИМОДЕЙСТВИЕ МИКРОСЕРВИСОВ
Способы взаимодействия при использовании Spring Framework: 1) Feign

клиенты
2) REST Templates

Слайд 16


ПРОБЛЕМА #4. СОЗДАНИЕ ФРЕЙМВОРКА


Слайд 17
ПРОБЛЕМА #5. ВЕРСИОНИРОВАНИЕ


Слайд 18


ПРОБЛЕМЫ #3-4-5. ВОЗМОЖНЫЕ РЕШЕНИЯ
МИТИНГИ
ОГРАНИЧЕНИЕ ФУНКЦИОНАЛЬНОСТИ УНИВЕРСАЛЬНОГО МИКРОСЕРВИСА
БОЛЬШИЙ АКЦЕНТ НА АРХИТЕКТУРУ


Слайд 19



ПРОБЛЕМА #6. ПРОПАСТЬ В КОММУНИКАЦИЯХ


Слайд 20
ПРОБЛЕМА #6. КАК В МОНОЛИТЕ


Слайд 21
ПРОБЛЕМА #6. КАК В МИКРОСЕРВИСАХ


Слайд 22Повышение communication skills
Быть добрее и человечнее
Не быть чудаками (замените нужную букву)
Закладывать

больше времени на митинги и написание писем
Организовывать встречи по обмену опытом (алкоголь приветствуется)



ПРОБЛЕМА #6. ВОЗМОЖНЫЕ РЕШЕНИЯ


Слайд 23


ПРОБЛЕМА #7. БОЖЕ, ХРАНИ АРХИТЕКТОРА!

Не всегда можно найти человека, выполняющего роль

«смотрящего» по микросервисам
При количестве микросервисов > 15 физически невозможно уследить за всеми фичами и механизмами
На многих проектах с микросервисным подходом архитектор часто выполняет роль Бога!
Иногда происходит ротация архитекторов


Слайд 24


ПРОБЛЕМА #7. РОТАЦИЯ – НЕ ВСЕГДА ХОРОШО!



Слайд 25ПРОБЛЕМА #7. ВОЗМОЖНЫЕ РЕШЕНИЯ


1. Митинги!


Слайд 26ПРОБЛЕМА #5. ВОЗМОЖНЫЕ РЕШЕНИЯ


2. KB
ПРОБЛЕМА #7. ВОЗМОЖНЫЕ РЕШЕНИЯ


Слайд 27


ПРОБЛЕМА #8. 12 ЛЕТ РАБСТВА ИЛИ ДЕВОПСЫ 24/7


Слайд 28


ПРОБЛЕМА #8. 12 ЛЕТ РАБСТВА ИЛИ ДЕВОПСЫ 24/7


Слайд 29


ПРОБЛЕМА #8. ВОЗМОЖНЫЕ РЕШЕНИЯ

Kubernetes
Jenkins, Bamboo
Atlassian Jira/Atlassian KnowledgeBase
Gerrit, Crucible


Слайд 30


ВМЕСТО ИТОГОВ

ЕСЛИ У ВАС НЕТ НЕОБХОДИМОСТИ ПРОВОДИТЬ МНОГО МИТИНГОВ И ХВАЛИТЬСЯ

РАЗНЫМ ДЯДЬКАМ, ЧТО ВЫ В ТРЕНДЕ – ИСПОЛЬЗУЙТЕ МОНОЛИТ!

Слайд 31Вопросы?


Слайд 32Спасибо за внимание!


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика