Архитектура ПО

Микросервисы

Термин «микросервисная архитектура» появился в последние несколько лет для описания особого подхода к разработке программных приложений в виде наборов независимо развертываемых сервисов. Хотя у этого архитектурного стиля нет четкого определения, ему присущи определенные общие характеристики, такие как организация вокруг бизнес-возможностей, автоматическое развертывание, интеллектуальные конечные точки и децентрализованное управление языками и данными.

Что такое хорошая архитектура программного обеспечения?

Чтобы попытаться ответить на этот, казалось бы, простой вопрос, я обратился к ветерану разработки программного обеспечения Мэттью Хоторну. Он работает инженером-программистом более 25 лет и является автором готовящейся к выходу книги «Добейся результата или умри, пытаясь», в которой он делится опытом работы с программным обеспечением, архитектурой и выводом продукта на рынок. Книга находится на стадии раннего выпуска и должна выйти в следующем году.

Strangler Fig

Во время отпуска в тропических лесах Queensland в 2001 году мы увидели несколько фикусов-душителей (strangler figs). Это лианы, которые прорастают в укромном уголке дерева. По мере роста они вытягивают питательные вещества из дерева-хозяина, пока не достигнут земли, чтобы пустить корни, и кроны, чтобы получить солнечный свет. Затем они становятся самодостаточными, а дерево-хозяин может погибнуть, оставив фикус в качестве напоминания о своей форме. Этот постепенный процесс замены основного дерева показался мне поразительно похожим на то, как мои коллеги модернизируют устаревшие программные системы. Пару лет спустя я опубликовал в блоге небольшую заметку об этой метафоре. Хотя с тех пор я не использовал этот термин в своих публикациях...

AWS отключает значительную часть интернета

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

Сервисный уровень (Service Layer)

Определяет границу приложения с сервисным уровнем, который устанавливает набор доступных операций и координирует ответ приложения на каждую операцию. Рэнди Стаффорд

Отказоустойчивость в маштабной распределенной системе

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

Шаблон: API Шлюз / Бэкэнды для Фронтендов

Давайте представим, что вы создаете интернет-магазин, использующий шаблон микросервисной архитектруы, и реализуете страницу сведений о продукте. Вам необходимо разработать несколько версий пользовательского интерфейса сведений о продукте:

Чистая архитектура (от дяди Боба)

За последние несколько лет мы увидели целый ряд идей, касающихся архитектуры систем. К ним относятся:

Не начинайте с монолита

… когда ваша цель — микросервисная архитектура