Автор: Максим Смирнов

Диаграмма Эйлера

Рассказывая об изучении памяти Германом Эббингаузом, популяризаторы науки говорят нам о том, что в течение 20 минут мы забудем не менее трети изложенного материала. Через час будем помнить менее половины прочитанного или услышанного. В течении дня доля запомненной информации уменьшится до 30%, а на протяжении следующей недели плавно сползет до 20%. Мало кто добавляет, что эти 20% мы, скорее всего, будем помнить практически всю жизнь.

Вероятно так, из школьников, которым совершенно случайным образом запомнился урок про диаграммы Эйлера, получаются архитекторы предприятия 😉 

Реклама

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

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

Объясняем матрицу Захмана

Матрица Захмана, пожалуй, является наиболее ранним и наиболее показательным примером того, когда большая и сложная картинка скрывает суть вещей, которые она, по идее, должна пояснять. Помню своё первое знакомство с этим творением человеческой мысли. Если что-то и привлекает внимание при беглом взгляде на эту картинку, то это карта США в третьем верхнем квадрате, которая в более поздних версиях уступит вое место карте мира. Оторвав взгляд от тридцати разноцветных картинок, кое-где повторяющихся, можно заставить себя прочитать название столбцов и строк, приведенные, по традиции, очень мелким шрифтом. Если названия столбцов, содержащие слова «что», «где», «когда», еще пробуждают какие-то ассоциации, то названия строк: контекстуальный, концептуальный, логический, физический и уж совсем непонятно какой ассоциируются, разве что, с некоторыми уровнями абстракции. Думаю, на этом большинство зрителей этой картинки решают, что всё понятно и какого-либо более глубоко разбирательства просто не предпринимают. Но сегодня я хочу немного злоупотребить вашим вниманием и поговорить о матрице Захмана чуть подробнее. Continue reading «Объясняем матрицу Захмана»

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

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

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

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

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

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

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

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

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

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

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