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

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

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

Полет на конференцию не задался с самого начала — мы с задержкой погрузились 3 ноября в Boeing 737 в Шереметьево. Как только все расселись, нас попросили встать и выйти. Через 2 часа мы улетали на сменном самолете той же марки и с той же командой:)

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

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

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

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

Event storming for domain-driven design modeling

Данный тренинг был довольно странным. Меня смутили несколько моментов:

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

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

Этот тренинг мне показлся интересным, т.к. мне всегда нравилась теория игр в общем и конкретные игры в частности. Что тут говорить, если я порядка 7 лет занимался шахматами (сложно назвать частые походы в спортивную школу на тренировки игрой). Состав спикеров был качественным и состоял из сотрудников Secret Lab, университета Тасмании, и фрилансера. Ребята анонсировали рассмотрение вопросов:

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

Второй день

Второй день для меня начался как обычно с завтрака в отеле Novum Hotel Kronprinz Berlin, отель довольно старый, но уютный и заполненный в основном аборигенами, а не туристами:) Дальше 20 минут прогулки и мы снова в CityCube, который встретил нас толпой людей, для которых конференция началась именно со среды.

Autonomous APIs: Navigation in complex landscapes

Пожалуй рассказ про этот доклад надо начать с разбора название, а оно достаточно хайповое. Кто не слышал про autonomous cars? Вот собственно эту тематику и обыграл автор, указав, что люди на каждом шагу говорят про самодвижущиеся повозки, а сопряжением разных api’шек до сих пор занимаются люди:)

  • generic APIs с интеграциями one-to-many, где один провайдер обеспечивает много consumer’ов
  • harmonized APIs — здесь у нас появляется uber-like посредник, который гармонизирует API провайдеров и предоставляет cosumer’ам единое окн
  • autunomy API — автономные API, в которых люди нужны для того, чтобы задать семантику предметной области, а дальше машины разберутся сами
  1. documented brittle system
  2. automated system
  3. decoupled automated system
  4. autonomous system

Beyond the technical: Succeed at leading a software architecture team

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

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

Честно говоря, в этом докладе нам рассказали много общих слов и мало практической сути. Это стандартный keynote доклад, который без изменения можно было прочитать как год назад, так и в следующем году. В общем, Браян говорил правильные вещи, но ему стоило выйти не в прикиде разработчика (черная футболка и сандали на босу ногу), а в костюме КО.

Next data platform architecture: Distributed data mesh

Дальше на сцену вышла Zhamak Dehghani и рассказала про Data Mesh, которая по мнению экспертов из ThoughtWorks придет на смену озёрам данных:) Доклад был интересным и полезным, но лучше прочитать референсную статью от Zhamak на сайте Мартина Фаулера.

The New Norms of Cloud Native

Этот keynote доклад был очень похож на keynote доклад, который я видел в Барселоне на Kubecon EU 2019. Вот ссылка на версию из Барсы

How do we take architectural decisions in eBay Classifieds Group

Engin Yöyen интересно рассказал о том, как принимаются архитектурные решения. Конечно, он рассказывал с позиции архитектора, который тянет команду к знаниям, но ключевые принципы и практики в eBay Classified Group направлены на самооргонизацию команд. Вот основные ключевые моменты доклада:

  • 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

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

Vladik Khononov интересно рассказал про то, как компания, изначально работавшая по DDD, запускала 5 разных систем. И главное какие они баги словили в каждой из них, а также какие выводы сделали. В общем, это рассказ с позиции выжившего профессионала, который обладает изрядной долей юмора и готов смеяться над собой. Определенно стоит более внимательно пересмотреть этот доклад, т.к. сходу запомнить расположение граблей не получилось.

On launching a distributed system to global markets

Это был довольно интересный доклад от Kat Liu, которая раньше работала в N26 и рассказывала про опыт принятия архитектурных решений при запуске бизнеса N26 в США, когда бизнес в Европе уже был отлажен. В принципе, доклад интересн деталями относительно того, как принимались решения переиспользовать ли наработки или делать независимые приложения (мобильные и бекенд). Довольно неплохо описывается как принимать решение (правда, никакого rocket science здесь нет). Но сама вынесенная проблема кажется излишне простой —как настроить аутентификацию пользователей, если у нас два инстанса приложения и мы не должны ходить для каждого пользователя в оба, а ходить за его данными только в тот бекенд, где они лежат. Итоговая общая табличка для хранения хешированных ключей и номеров шардов, где они расположены очень проста, это по сложности даже не consistent hashing и вот это все:)

The end of second day

На этом программа второго дня закончилась и я отправился писать эту статью:) Во второй части будет последний день конфы и выводы относительно того, насколько полезно ездить на такие мероприятия, если и в России неплохо кормят знаниями и устраивают зрелища:)

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.