Впечатления от Software Architecture Conference 2019 в Берлине (part I)

В середине июля я анонсировал посещение конференции OReilly по архитектуре программного обеспечения. И вот в начале ноября я посетил это мероприятие и готов поделиться впечатлениями.

Дни перед конференцией

Долетели до Берлина благополучно и сели. Дальше был квест, в котором мы пытались найти водителя, вызванного по Uber. Причем искали красный Hyundai, как было указано в приложении, а надо было искать черный Mercedes, который приехал в итоге:)

Заселение в отдель прошло успешно, причем нас вертикально расшардировали по разным этажам, что никак не повлияло на наше желание пойти прогуляться по городу. Правда, в Берлине сейчас темнеет рано, поэтому мы гуляли уже в темноте:) Необработанные фотографии, можно посмотреть в моих facebook постах (1, 2). Дальше мы встретили друзей, которые переехали в Берлин, и немного посидели употребив некоторое количество крафтового пива.

4 ноября я понял, что счастье — это возможность выспаться после воскресного вечера, а не бежать рано утром на тренинги от маститых бородочей в здании City Cube. А все дело в том, что мы с Антоном Костериным решили в отличие от наших коллег записаться на краткие тьюториалы, проходящие 5 ноября, а им предстояло посетить двухдневный тренинг:)

В итоге, мы с Антоном после того, как пришли в себя, отправились гулять по Берлину. Погода немного подкачала и вышли мы под надкрапывающий дождик, который приближал берлинскую погоду к питерской:)

Из самого интересного в этот день можно выделить разве что:

  • прогулку по центру Берлину
  • посещение уютного зоопарка с битвой кергуру, задумчивой гориллой и дургими животными, которые были засняты мной, но все еще не обработаны:)
  • а дальше был гастропаб Gasthaus Krombach Berlin с отличной едой и хорошим пивом — определенно рекомендую посетить
  • ну и закончилось все прогулкой домой и околорекордными 30 тысячами шагов на моих умных часах

Впереди нас ждал первый день конференции.

Мой первый день

O’Reilly Software Architecture Conference проходил в CityCube:)

В день тьюториалов было всего 2 минитренинга по 3.5 часа, разделеленных обедом. До обеда я выбрал посещение

Event storming for domain-driven design modeling

  • аудитория тренинга была 200 человек и на них приходилось всего 2 фасилитатора
  • в такой конфигурации мы пытались провести big picture event storming воркшоп на тему покупки билетов в кино онлайн
  • минимум теории и максимум практики, но без достаточного внимания помощников — это крайне сомнительный рецепт
  • отсутствие экспертов предметной области — если не считать экспертами покупателей билетов:)
Event Storming by Alberto Brandolini

В итоге, после того, как тренинг перевалил за экватор, я начал читать книгу “Event Storming” автора этого подхода Alberto Brandolini. Книга определенно хороша и гораздо точнее и полнее раскрывает подход. Автор довольно тонко описывает проблематику разработки ПО и как event storming помогает в этих ситуациих. Забавно, что книга опубликована на leanpub уже несколько лет, но до сих пор не окончена.

В общем, спасибо ведущим воркшопа, что показали как event storming работает на практике, хотя скорее в песочнице, где не было совков и формочек и куличики приходилось лепить руками:) Но основное, что я вынес отсюда — это книга, которую я в тот же вечером прочел на треть.

Дальше был обед, который не стоит особого упоминания и дальше наступило время второго тренинга, который назывался

How do I game design: Architecting games to expand your thinking

  • почему игры работают, а также как их анализировать, проектировать и создавать завораживающий опыт
  • фреймворк “mechanics-dynamics-aesthetics framework”: почему он хорош и для чего его использовать
  • как понять что происходит в игре и как ее модифицировать
  • как применять все эти знания вне игр, а именно в командной работе, работе над проектами или архитектурой

В общем, тренинг был многообещающим:) И та часть, где излагалась теория мне зашла, а вот играть в настолки во время тренига особого желания не было. Особенно учитывая то, что в них сложно играть в том случае, если тебе не досталось стола из-за переполненности аудитории.

В общем, этот тренинг для меня завершился предварительно, но он не оставил ощущение провально потраченного времени:) И я решил, что почитаю книги авторов на досуге.

Дальше была прогулка по вечернему Берлину и отход ко сну, чтобы свежим прийти на второй день.

Второй день

В любом случае я отправился на доклад про автономные API

Autonomous APIs: Navigation in complex landscapes

В итоге, Zdenek рассказал про сдвиг парадигмы, который включал следующие шаги:

  • customer Spacific API с интеграциями типа one-to-one
  • generic APIs с интеграциями one-to-many, где один провайдер обеспечивает много consumer’ов
  • harmonized APIs — здесь у нас появляется uber-like посредник, который гармонизирует API провайдеров и предоставляет cosumer’ам единое окн
  • autunomy API — автономные API, в которых люди нужны для того, чтобы задать семантику предметной области, а дальше машины разберутся сами

Дальше автор вводит 5 уровней автономности API (как он говорит, что 5 уровней автономности получилось безотносительно того, что есть 5 уровней автономности self driving cars). И эти уровни:

  1. brittle system
  2. documented brittle system
  3. automated system
  4. decoupled automated system
  5. autonomous system

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

В общем, доклад определенно интересный и полезный. Я его определенно пересмотрю потом (благо в мой билет включены видео записи почти всех выступлений).

После кофе брейка, в котором я употреблял сок, а не кофе, я отправился на следующий доклад про то, как добиться успеха в качестве лидера архитектурной команды

Beyond the technical: Succeed at leading a software architecture team

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

Дальше наступил обед, котрый принес с собой очереди и довольно качественную еду:) После обеда пришло время трех keynote докладов. Кстати, меня повеселило, что ведущие keynote сессии: Christopher Guzikowski, Neal Ford не знают слайдов и читают с суфлер экрана, находящегося перед сценой. Причем читают настолько топорно, что, сидя в первом ряду, легко заметить это:) Первым аннонсировали выступление Brian Sletten из Bosatsu Consulting, посвященное современным ml архитектурам

Modern machine learning architectures: Data and hardware and platform, oh my

Next data platform architecture: Distributed data mesh

И закрывала keynote сессию Cheryl Hung из CNCF, которая рассказала то, что она обычно расскаывает, а именно про cloud native

The New Norms of Cloud Native

После этого наступил 40-минутный брейк, 5 минут которого потребовалось на то, чтобы выйти из самого большого зала, где проходила keynote сессия.

How do we take architectural decisions in eBay Classifieds Group

  • engineers are empowered to lead
  • group of architects working across teams, ensuring a scalable platform
  • architects are playing supportive role and solving conflicts between different parties
  • high level architectural decision requires consensus among teams
  • delegation levels
  • ADRs to record as well as collaborate on decisions

Ну и напоследок привычное утверждение насчет культуры: “Culture is a reflection of how an organization thinks and acts”. А дальше как от культуры перейти к конкретным людям “Therefore, any improvement starts with empowering each individual”.

Конечно, я не смог в паре абзацев изложить весь этот доклад, но он определенно хорош и стоит того, чтобы я его внимательно пересмотрел.

После этого доклада я с третьего этажа бежал на второй, чтобы в обеденном зале послушать доклад, посвященный DDD и его практическому применению.

7 years of domain-driven design: Tackling complexity in large-scale marketing systems

После окончания доклада Владика я отправился слушать про опыт финтех компании N26 относительно открытия бизнеса в другой стране

On launching a distributed system to global markets

The end of second day

To be continued …

P.S.

Director of digital ecosystem development department at Tinkoff. Bachelor at applied math, Master at system analysis, Postgraduate studies at economics.

Director of digital ecosystem development department at Tinkoff. Bachelor at applied math, Master at system analysis, Postgraduate studies at economics.