After a restful night at a London hotel (I learned my lesson from the last time I came in for a London conference) coffee and breakfast at the Business Design Centre in London, muCon 2019 kicks off. muCon (or µCon) is a Conference on Microservices, DDD & Software Architecture. From what I gather, this year for the first time it is an amalgamation of a DDD and Microservices conference into one. I'm here for three days. At this point, I've gotten into a rhythm of blogging about my Conference Experiences so here we go again!

Day 1

We kick off with an excellent keynote from Michael Feathers which captures various ideologies and principles applied to team and code architecture both at the class level, microservice level and interpersonal individual and team level as well.

As usual, the day is split into tracks, so I can only give experience on where I've been and guidance of which speakers and talks I would look out for in the future.

Following on from the keynote for me was "Microservices from Day One" from Richard Rodger. First-hand experience of building Microservices on a greenfields startup after literally writing a book on Microservices development, a chance to practice what he preached. An interesting takeaway that I liked was to design a message-centric system of components(microservices) and then the transport/routing layer doesn't matter (from a technology point of view). This resonates with me because it aligns nicely with the Ports and Adapters architecture.

Next up, and filling the pre-lunch slot was "Creating an Effective Developer Experience for Cloud-Native Apps" from Daniel Bryant. A great introduction and overview of DevEx, the idea of building a great experience for developers from coding to prod and beyond in the modern world of cloud-native, Kubernetes and Serverless. Whether it is "build or buy", cloud or in-house hosting, the story for developers to build, debug, test, deploy and monitor should be a first-class consideration of developing software.

"The Gordian Knot" from Alberto Brandolini the importance of culture and the influence architecture plays on affecting that culture. Very interesting and a nice perspective on Conway's Law in many ways, and thinking about affecting change.

"Strategic Domain-Driven Design Patterns" from Nick Tune was an interesting discussion on DDD grouping. Definitely a topic I need to read the (blue) book on, literally and figuratively. (Although I am told one does not simply "read" Eric Evans' Domain Drive Design...) Some very high-level patterns and approaches to help with finding groupings in your system.

"Event Driven Collaboration" from Ian Cooper another look at the Reference Data concept, with some practical examples of what and how you might go about implementing this. A revision on the concepts of inside mutable data Vs outside immutable data, events, messages and caching.

The day wound down with a couple of Lightning Talks. A standout for me was "Continuous Visibility, No More Dashboards!" From James Brown on Continuous Visibility (CV). Using Alerts and notifications more, and only selectively add trends and maybe CI statuses to a physical dashboard where space is a premium (but don't forget to add GIfs!).

Day 2

Day 2 kicks off with another leading Keynote: "Getting to DDD: Pragmatic or Principled?" from
Julie Lerman. Julie gave a discussion on the DDD journey, engaging with new adopters, and how building on the concepts with a group slowly can be a great way to bring more people on board, without getting hung up on being too principled or having to be all in with everything DDD at once.

"Preparing for a future Microservices journey"
from Susanne Kaiser presented a journey from custom build through Microservices to Serverless taking all aspects of a hosted piece of software and it's infrastructure concerns transitioning through Build vs Buy, to commoditization.

"Observable Microservices" from Maria Gomez went through the what of observability (logs, alerts and tracing) along with the 'why' for the value it provides to you once your services are in production.

After lunch, David Leitner presented "Micro Frontends – A Strive for Fully Verticalized Systems". A nice definition of MicroFrontends and example architectures to add to your toolbox of "it depends" solutions. Very clearly outlined the when and where the different approaches are applicable. Definitely check out his work if your thinking about verticalized splitting your frontend.

This led into the afternoon Workshop: "Show me the Kubernetes" with Lewis Denham-Parry and Salman Iqbal. They walked us through the demos at github.com/CloudNativeWales/ShowMeTheKubernetes which worked well on a temporarily spun up cluster on Azure, or with a Minikube locally (instructions included in both cases). Further examples were promised so there might be more than the three we went through in the session.

To round out the second day was a keynote from Diana Montalion on Making a Case for Conceptual Integrity. I'm not too proud to admit that I didn't understand the term "conceptual integrity" at the end and couldn't give you the definition. However, the topic was very interesting and the steps discussed to reach the definition given were very useful and interesting in themselves that to me it didn't matter. Maybe I'm lacking the experience at this stage to accurately grok this, and others with more systems consulting experience and exposure did.

Summary

Of course, most if not all of the talks were recorded and appear online (links added where available) but as usual you have missed the hallway conversations by not being here. These are usually the best part of any conference and this has been no exception. One great conversation leads to quoting the statement that never had anyone said or seen a system that would be described as too gold plated, or too well tested. Most systems instead suffer from not being of a good enough quality or lacking in test coverage.

In other conversations being able to share structures and strategies gives insight into what is or isn't working for other teams and companies and gives a relative look at where they are on their journey compared to you with yours. But based on the guidance and experience of others here, we all seem to be heading in a similar direction through SOA to DDD and Microservices.

Stay tuned for a summary of my day 3 experience.