Микросервисы. Обратный билет

Из telegram-канала Архитектура ИТ-решений

Я приступаю к этому тексту с наивным намерением сделать целую серию небольших заметок о современны архитектурах ИТ-решений и разобраться, в первую очередь для себя, является ли переход на микросервисную архитектуру путешествием в один конец. Мне довелось читать достаточное количество историй о том, как та или иная компания вернулась назад из микросервисного безумия, но ни разу я не видел подобной истории собственными глазами и даже не разговаривал с участниками или очевидцами. Предполагаю, что упомянутых выше историях есть определенное лукавство. Обратный билет из микросервисов представляется мне лженаучной фантастикой. Впрочем, безусловно, я вполне могу ошибаться. Если вам хочет поделиться со мной своим контрпримером, то обязательно это сделайте Читать далее Микросервисы. Обратный билет

Коротко об обучении ИТ-архитекторов

Сейчас в образовании популярна новая тема: обучение через большие идеи или дидактика «больших идей». Не знаю, как скоро этот подход проникнет в среднее образование, но для своих курсов по ИТ-архитектуре я нашел его, как говорится методом проб и ошибок. Ну, например, архитектуру ИТ-решений (solution architecture) и микросервисы можно изучать отдельно. Хотя изучать просто ИТ-архитектуру немного скучно. А изучать микросервисную архитектуру, особенно после большого и долгого хайпа, довольно сложно. Все, вроде бы, и так всё уже об этом знают. Ну, может быть, в общих чертах и недостаточно глубоко. Хотя буквально в каждой группе, первая же из девяти характеристик микросервисной архитектуры по Льюису-Фаулеру оказывает сюрпризом хотя бы для одного из слушателей. А вот изучать и то и другое одновременно полезно и с точки зрения поддержания интереса, и для приобретения конкретных компетентностей. Читать далее Коротко об обучении ИТ-архитекторов

Микросервисы. Закат хайпа?

Всё больше число людей предрекает коррекцию интереса к микросервисной архитектуре. Некоторые даже говорят о надвигающемся возврате к монолитам или чему-то похожему на монолит, но с границами нового типа между модулями. Возможно, в design time такие границы и существуют, но как только приложение запускается на выполнение карета превращается в тыкву граница эта остается исключительно в голове разработчика. В конечном счете, разный функционал либо реализуется в рамках одного процесса либо декомпозируется на несколько процессов. А как иначе? Второй вариант неминуемо приводит к необходимости решения задачи межпроцессного взаимодействия.

Но, действительно, тема микросервисов столь долго держалась на первых полосах блогов и в расписаниях айтишных мероприятия, что многие от неё порядком подустали. Я не думаю, что микросервисы, т.е. независимо развертываемые компоненты систем, куда-то исчезнут. Скорее их будет становиться все больше и больше. Но восприятие их, возможно, изменится. Слишком разные по своему характеру и назначению компоненты сегодня записывают в микросервисы. Приверженцы связанных с микросервисами архитектурных паттернов уже не первый год стараются дистанцироваться от этого чересчур туманного, а зачастую и неверно истолковываемого термина. Вряд ли это желание ослабнет. То, что мы называем этим общим термином сегодня, рассыплется на несколько разных понятий. Перечислю основные из них: Читать далее Микросервисы. Закат хайпа?

Клиентский опыт и архитектурный стиль RESTful

Разговоры о Customer Experience (опыте клиентского взаимодействия) ведутся уже так долго, что вряд ли способны привлечь чьё-либо внимание. Особенно внимание айтишников. Мол, это вообще не к нам. Есть специально обученные люди – дизайнеры, которые всё сделают правильно и непременно улучшат этот самый клиентский опыт. Архитектурный стиль RESTful, описанный Роем Филдингом аж в 2000 году в диссертации Architectural Styles and the Design of Network-based Software Architectures, привлечет не большие внимание тех же самых айтишников. Всё  ведь и так понятно. JSON поверх HTTP  — вот и весь RESTful. Давайте все же разберемся, о чем этот архитектурный стиль и как он связан с опытом клиентского взаимодействия. Читать далее Клиентский опыт и архитектурный стиль RESTful

Микросервисная архитектура в корпоративном ИТ-ландшафте

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

Но особенно удручает корпоративных пользователей низкий уровень доступности бизнес-приложений. Плановые работы, не дающие возможность воспользоваться системой, или непредвиденные сбои случаются именно в тот момент, когда срочно необходимо выполнить важное и срочное дело: сформировать сложный заказ, оформить долгожданный договор, решить проблему крупного клиента.  ИТ-отделы организаций стараются изменить ситуацию: внедряют новые приложения, сокращают сроки доработки существующих систем, постоянно повышают уровень их доступности на очередную долю процента. Но кажется, что даже сами ИТ-отделы уже не очень верят в позитивный результат этой многолетней борьбы. Читать далее Микросервисная архитектура в корпоративном ИТ-ландшафте

Микросервисы в контексте корпоративной архитектуры

Обычно, чтоб убедить кого-нибудь в том, что микросервисная архитектура — это хорошо, её сравнивают с монолитом. Даже картинку специальную рисуют (см. ниже): с левой стороны база данных, сервер приложений и пользовательский интерфейс – это монолит(подразумеваем, что монолит — это плохо), а с правой стороны паутина фигурок и стрелочек между ними (типа, вот это хорошо). Не знают, убедит ли такая картинка случайного собеседника, но архитектор, будучи до конца честен сам с собой, должен сказать, что хорошо – это то что слева. И есть достаточное количество экспертов, которые критически восприняли идеи микросервисной архитектуры и постарались обратить наше внимание не только на достоинства, но и на недостатки такого подхода. Читать далее Микросервисы в контексте корпоративной архитектуры

Микросервисная архитектура и DevOps

В сентябре 2017-го вышла книжка Нила Форда, Ребекки Персонс и Патрика Куа Building Evolutionary Architectures. Я воспользовался ознакомительной подпиской  Safari Books чтоб полистать эту книжку и постараться разобраться с девятой, наиболее непонятной, характеристикой микросервисной архитектуры по Фаулеру и Льюису (см. Microservices a definition of this new architectural term). О том, чем занимается эта группа я писал уже в апреле прошлого года в заметке [r]evolutionary architecture, но на тот момент ознакомиться с позицией авторов можно было только видеозаписям пары выступлений, презентациям и подкастам. И вот теперь вышла книжка с системным изложением идей достаточно революционных, с одной стороны, и крайней прагматичных с другой. Но давайте обо всем по порядку. Читать далее Микросервисная архитектура и DevOps

Тренинг: микросервисная архитектура

UPD 6/12/2017 Ссылка на группу в telegram: https://t.me/msa_training 

Микросервисная архитектура – это новый подход к созданию, развитию и эксплуатации распределенных информационных систем, состоящих из множества независимых компонент.

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