Взялся перевести статью «Microservices: The Evolution and Extinction of Web Services?» за авторством Luciano Baresi и Martin Garriga со своими дополнениями (курсивом). Это не дословный перевод, а перессказ, так что кое-что будет опущено, а кое-что наоборот раскрыто глубже (где это требуется для понимания обозначенных тезисов). Статья длинная, хочу проверить, замотивирует ли меня публикация в этот канал к тому, чтобы довести перевод до конца 🙂
Здесь буду публиковать кусочки по мере готовности, а затем все выложу в блог.
Приглашаю к конструктивному обсуждению в комментарии.
Буду выкладывать под тегом #msaevolutionwspub1 .. 2,3
———
Microservices: The Evolution and Extinction of Web Services?
Luciano Baresi and Martin Garriga
Abstract
Еще 20 лет назад SOA и Web Services были на пике популярности. Это был самый настоящий хайп. Особенность хайпа в том, что его применяют ради хайпа, а не для пользы дела, в массе своей даже не разобравшись в сути явления или технологии. Такое положение дел привело к тому, что количество определений и трактовок SOA и Web Services было примерно равно количеству внедрений 🙂 Это, в свою очередь, приводило к тому, что проблема подгонялась под решение. Сегодня то же самое происходит с микросервисами. Авторы статьи исследуют эволюционный путь от SOA к микросервисам на основе анализа литературы, как академической, так и научно-популярной.
Подгонка проблемы под решение выглядит примерно так: «мы решили распилить монолит на микросервисы, как обосновать это бизнесу?». Здесь «решение» уже выбрано, осталось найти под него проблему, а если проблем нет, тосоздатьпридумать её 🙂
Введение
Основная мысль заключается в том, что при широком внедрении SOA появились и новые стандарты: WSDL, BPEL, целью которых было убрать барьеры между системами в гетерогенной среде с целью снижения сложности решения задач интеграции. На практике такие решения оказались несостоятельными, главным образом из-за невозможности (by design) своевременно реагировать на постоянно меняющиеся бизнес-требования [1].
Сегодня то же с микросервисами. Авторы акцентируют внимание, что определение микросервисов как «SOA done right» не вполне корректно, потому что в микросервисах фокус смещается с reuse и composition на independence, replaceability и autonomy. В таком случае сервисы становятся микро с точки зрения их вклада в приложение, а не по количеству строк кода.
Авторы определяют следующие, определяющие микросервисы, свойства [2]:
- Независимо понимаемые
- Независимо реализуемые
- Независимо развертываемые
- Возможность одновременного сосуществование нескольких версий одного сервиса
- При необходимости – изменение топологии в режиме реального времени
- Отдельный микросервис может быть изменен без влияния на работу других микросервисов
Независимое понимание - это важнейшее свойство. Оно означает ровно то, что если мы что-то можем полностью понять в рамках одного сервиса, значит нет протечек абстракции (функциональности) из одного сервиса в другой. В противном случае для понимания как реализуется некая «атомарная» бизнес-возможность придется изучит несколько микросервисов.
Рамках статьи авторы преследуют три цели:
- Продемонстрировать эволюционный взгляд на движение от SOA к микросервисам
- Обсудить текущие проблемы с микросервисами
[1] P. Lemberger, M. Morel, Why Has SOA Failed So Often? (Wiley, London, 2013), pp. 207–218. https://doi.org/10.1002/9781118562017.app3
[2] S. Newman, Building Microservices (O’Reilly Media, Sebastopol, 2015)
#msaevolutionwspub1 #msaevolutionwspub #перевод
Здесь буду публиковать кусочки по мере готовности, а затем все выложу в блог.
Приглашаю к конструктивному обсуждению в комментарии.
Буду выкладывать под тегом #msaevolutionwspub1 .. 2,3
———
Microservices: The Evolution and Extinction of Web Services?
Luciano Baresi and Martin Garriga
Abstract
Еще 20 лет назад SOA и Web Services были на пике популярности. Это был самый настоящий хайп. Особенность хайпа в том, что его применяют ради хайпа, а не для пользы дела, в массе своей даже не разобравшись в сути явления или технологии. Такое положение дел привело к тому, что количество определений и трактовок SOA и Web Services было примерно равно количеству внедрений 🙂 Это, в свою очередь, приводило к тому, что проблема подгонялась под решение. Сегодня то же самое происходит с микросервисами. Авторы статьи исследуют эволюционный путь от SOA к микросервисам на основе анализа литературы, как академической, так и научно-популярной.
Подгонка проблемы под решение выглядит примерно так: «мы решили распилить монолит на микросервисы, как обосновать это бизнесу?». Здесь «решение» уже выбрано, осталось найти под него проблему, а если проблем нет, то
Введение
Основная мысль заключается в том, что при широком внедрении SOA появились и новые стандарты: WSDL, BPEL, целью которых было убрать барьеры между системами в гетерогенной среде с целью снижения сложности решения задач интеграции. На практике такие решения оказались несостоятельными, главным образом из-за невозможности (by design) своевременно реагировать на постоянно меняющиеся бизнес-требования [1].
Сегодня то же с микросервисами. Авторы акцентируют внимание, что определение микросервисов как «SOA done right» не вполне корректно, потому что в микросервисах фокус смещается с reuse и composition на independence, replaceability и autonomy. В таком случае сервисы становятся микро с точки зрения их вклада в приложение, а не по количеству строк кода.
Авторы определяют следующие, определяющие микросервисы, свойства [2]:
- Независимо понимаемые
- Независимо реализуемые
- Независимо развертываемые
- Возможность одновременного сосуществование нескольких версий одного сервиса
- При необходимости – изменение топологии в режиме реального времени
- Отдельный микросервис может быть изменен без влияния на работу других микросервисов
Независимое понимание - это важнейшее свойство. Оно означает ровно то, что если мы что-то можем полностью понять в рамках одного сервиса, значит нет протечек абстракции (функциональности) из одного сервиса в другой. В противном случае для понимания как реализуется некая «атомарная» бизнес-возможность придется изучит несколько микросервисов.
Рамках статьи авторы преследуют три цели:
- Продемонстрировать эволюционный взгляд на движение от SOA к микросервисам
- Обсудить текущие проблемы с микросервисами
[1] P. Lemberger, M. Morel, Why Has SOA Failed So Often? (Wiley, London, 2013), pp. 207–218. https://doi.org/10.1002/9781118562017.app3
[2] S. Newman, Building Microservices (O’Reilly Media, Sebastopol, 2015)
#msaevolutionwspub1 #msaevolutionwspub #перевод
SpringerLink
Microservices: The Evolution and Extinction of Web Services?
In the early 2000s, service-oriented architectures (SOA) emerged as a paradigm for distributed computing, e-business processing, and enterprise integration. Rapidly, SOA and web services became the subject of hype, and virtually every organization tried to…