Category Archives: SOA

[r]evolutionary architecture

Если вы читали книгу Сэма Ньюмена «Создание микросервисов» (Building Microservices. Designing Fine-Grained Systems By Sam Newman), то могли столкнуться с ощущением когда за словами теряется смысл. В книжке приводятся совершенно верные рассуждения о синхронных и асинхронных взаимодействиях, архитектуре и интеграции, разнице между оркестровкой и хореографией, непрерывном развертывании и мониторинге и даже страшной аббревиатуре HATEOAS. Но за всеми этими вполне разумными суждениями сложно разглядеть ответ на вопрос «Зачем?» В какой-то мере ответ на этот вопрос дается другими экспертами ThoughtWorks в концепции Evolutionary Architecture. Статья тоже довольно абстрактна, но прикладываемые к ней видео семинаров и выступлений на конференциях позволяют догадаться, о чем идет речь. Выскажу свою версию надеясь, что она не очень далека от оригинального суждения. Читать далее


Мастерская проектирования ИТ-решений

Вот и закончился учебный курс «Мастерская проектирования ИТ-решений». Несколько недель подготовки, пять дней интенсивной работы и огромное чувство удовлетворения. Жаль, что все прошло так быстро и еще раз спасибо всем!

solution architecture workshop


Уровни зрелости разработчиков интеграционных решений

esbЛет 7-10 тому назад, во времена всеобщего увлечения сервис-ориентированной архитектурой было модно придумывать уровни зрелости SOA сервисов. Open Group придумал Service Integration Maturity Model (OSIMM). IBM отметился свое трактовкой уровней зрелости (см., например Solution design in WebSphere… ), обещающий достигнут пятого из семи возможных уровней зрелости посредством внедрения WebSphere Process Server  (см. рисунок ниже). Ну, а Microsoft c Informatica-ой занимались оценкой уровней зрелости в деле интеграции данных (A Maturity Model for Data Integration) В общем, каждый занимался своим делом. IBM даже порывался сделать у нас консалтинговый проект, но мы сами приписали себе второй или третий уровень зрелости и сразу согласились на пилотный проект с WS Process Server.По результатам пилота мы даже приняли решение внедрить BPEL Engine, правда не от IBM-а, а open source, да и WebSphere Message Broker из эксплуатации вывели (кому нужен инструмент не того уровня зрелости 😉 Читать далее


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

47702335-33ad-c494-7ae5-98bbcc7ac027Десять лет прошло с момента публикации аналитиком компании Gartner Ефимом Натисом (Yefim V. Natis) статьи Applied SOA: Conquering IT Complexity Through Software Architecture. Это статья довольно быстро была переведена на русский язык и вышла в журнале «Открытые системы» под заголовком Покорение сложности ИТ. Примерно в это же время в отечественных компаниях начались разговоры про сервис-ориентированную архитектуру,  интеграционные среды, а чуть позже трансформацию ИТ. За прошедшие десять лет мы узнали множество новых слов: облачные вычисления, социальные сети, мобильные приложения и даже большие данные,  но так и не научились контролировать сложность корпоративных информационных систем. Давайте отойдем немного назад и попробуем разобраться почему Читать далее


Архитектура частного облака

PartlyCloudy1На протяжении нескольких лет тема облачных вычислений (cloud computing) была целиком и полностью спекулятивной. Вероятно, причиной тому являлся приоритет бизнес-модели над технологиям. Технологические лидеры, безусловно, рассказывали широкой общественности о том,  что же такое облако; поясняли, что облака бывают публичные, частные и гибридные, но за всеми этими разговорами отчетливо виднелись длинные уши маркетинга и продаж. И желание у персонажей, которых я назвал «технологическими лидерами» было только одно – вместо лицензий и проектов продавать услуги. Причем не так как раньше, не услуги по разработке программного обеспечения, а услуги, оплачиваемые постоянно, в ходе всего жизненного цикла. На сегодняшний день ситуация поменялась. Покупка услуг по подписке стала привычным делом. Мы стали покупать не только услуги ЖКХ или пакеты услуг связи, но и музыку по 169 рублей в месяц в Apple Music. Вероятно, скоро можно будет подписаться  на месячный пакет еды в близлежащем супермаркете. В общем, тема бизнес-модели стала неактуальной. Пришло время поразбираться в технологиях. Читать далее


Докеры, контейнеры и прочие микросервисы. Как DevOps меняет жизненный цикл ПО

ContainersАйтишники довольно сильно разобщены. Разработчики информационных систем, системные администраторы, эксперты по большим и маленьким данным, специалисты, отвечающие за ИТ-процессы и пр. глубоко копают, но каждый в своем направлении. И в каждом из этих направлений регулярно происходят те или иные революционные изменения. Например, в заметке об Open Digital API я немного затронул тему микросервисов. Вроде бы хорошая идея. Но поинтересуйтесь у разработчика, в чем заключается конкретная польза такого подхода, и в ответ вы услышите набор общих фраз. Или другой пример – PaaS. На вопрос, чем частное облако отличается от виртуализации, следует примерно такой ответ: в частном облаке вы выделяете себе виртуальную машину самостоятельно, без участия администратора, а простая виртуализация – это когда вас пару месяцев мурыжат заявками и согласованиями (подробнее см. Призрак Digital на пороге вашего офиса). В принципе, данный ответ верен. Но зачем пользователям самостоятельно создавать себе виртуальные машины? Ответ понятен если вы хостинг-провайдер, но зачем это нужно в обычной корпоративной среде? Для того, чтоб найти ответы надо собрать все вместе и PaaS и microservices и жизненные циклы разработки и эксплуатации программного обеспечения. По отдельности оно не работает Читать далее


Как придумывать SOA-сервисы

qa2В разговорах об архитектуре информационных систем мы много внимания уделяем таким вопросам, как техники моделирования процессов и данных, принятие и контроль решений, создание общей картины системы — информационной или более общей. При этом мы практически ничего не говорим об основной, изначально присущей архитектуре деятельности – придумывании абстракций данных и поведения. Архитекторов всегда ценили именно за это умение: придумать общую функцию, которая избавит разработчиков от нудной работы, сделать компонент, поведение которого задается файлом конфигурации, инкапсулировать сложное взаимодействие в простой программный интерфейс. Ведь именно это позволяет нам создавать повторно используемые (reusable) компоненты. И это крайне важно как для уменьшения сложности, так и для сокращения трудоемкости и времени доработки решений. В этом блоге я, по-моему, писал об этом только однажды, в заметке Работа ИТ архитектора – создание хороших абстракций, да ведь и тема не особо простая. Ну вот как сесть и начать придумывать эти самые хорошие абстракции? Читать далее