Roman and I recently attended the Architecture Summit in Berlin. From the look-and-feel, we were a little bit afraid at first that it would be too enterprisy for our taste, but we were pleasantly surprised.
The Summit took place from 10-12th September in Berlin and consisted of a general software architecture track and a domain-driven design (DDD) track. Each day was split up into one keynote and two 3-hour workshops. We really enjoyed this format because it allowed us to learn about topics in-depth, instead of just hearing some buzzwords (that’s not to say it doesn’t have a value), and it also fostered discussion between the attendees, as we were often given some exercises to work on together in small groups.
My main goal was to learn more about DDD, so I attended almost all of the DDD track workshops. The organizers did a really good job in selecting the topics because all workshops nicely complemented each other. We started with Essential Domain-driven Design, in which we did an Event Storming session with all attendants and then created context maps in smaller groups. All the while learning about DDD concepts.
Another workshop went in-depth into what Entities Value Objects and Aggregates are. This was followed the next day by a workshop about how to organize the actual code. Of course, all speakers had slightly different opinions about best practices. In my opinion, it was the main advantage of this summit over an in-depth DDD training with one person, as it gave a good introduction, but wasn’t dominated by one person’s opinion.
However, it was targeted to DDD beginners. Some people I talked to during breaks would have liked to know more details since they have already been using DDD for some time or had attended similar workshops in the past.
On the software architecture track, Roman visited the Deep Learning: Essentials and Applications workshop, which was a good recap of modern machine and deep learning industry. The most important takeaways were that various web services for image recognition exist that are being developed by Google and Facebook.
The next two sessions were devoted to Microservices architectures with Kubernetes in practice. In the beginning, the concept of Self-contained-Systems (SCS) was presented. The main idea is to build an architecture of many independent modules which collaborate with each other. SCS is an autonomous web application, where all layers - data processing, business logic, persistent layer, web presentation - are contained inside. Later on more complex systems can be built from such modules in order to avoid big monoliths.
It was followed up by a comprehensive introduction into the topic “Developing microservices with Kubernetes”. The concepts of deployments, services and ingresses were demonstrated in practical samples. The last topic of the session covered asynchronous communication of microservices comparing Apache Kafka and RSS/Atom mechanism of polling data. The talk was oriented to software architects, who want to get a rough overview of the modern landscape.
In summary, we think the Architecture Summit was a great, nicely sized conference, covering relevant topics for software architects. We will definitely attend again.
Credits for cover image go to: Software Architecture Summit.