Tags

, , , , , , , , , , , , , , , ,

Last week I was fortunate enough to have the opportunity to present at the Software Architecture Summit as part of the Bucharest Tech Week conference. My presentation, Monoliths in a Microservice World, was all new content that, by chance, worked well, bringing together a number of points made by other speakers. The presentation aimed at the challenges of adopting Microservices and whether Monoliths had a place in modern IT, and for those of us not fortunate enough to be working for one of the poster children for microservices like Netflix, Amazon, etc, how we can get our existing monoliths playing nicely with microservices.

The conference may not have the size of Devoxx (yet), but it certainly had quality with presenters from globally recognized organizations such as Google (Abdelkfettah Sghiouar), Thoughtworks (Arne Lapõnin), Vodafone (IT Services business unit – _VOIS – Stefan Ciobanu), Bosch, as well as subsidiaries of companies like DXC (Luxsoft) and rapid growth SaaS vendor LucaNet.

As a presenter, you’re always wanting to walk the tightrope of being at the biggest conferences to maximize reach for your message while at the same time wanting the experience to be friendly and personable, which often means slightly smaller conferences. The Software Architecture Summit balanced that really well; rather than lots of smaller breakout sessions, the conference focussed on a single auditorium for a large number of attendees, with presentation slots varying in length depending upon the subject matter. If a session didn’t interest you, then there were plenty of exhibitors to talk with – although, from what I saw, the auditorium was full during the sessions, reflecting the interest in the content.

“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.” – John F. Woods

Quote of the conference – as cited by @DevPaco (Paco van Beckhoven)

The conference organizers (Universum) certainly put in the effort to ensure the presenters were looked after. It is the little touches that really make the difference, such as taking care of logistics which can be as simple as organizing airport transfers. A letter of thanks will be waiting for you at the hotel after the event, organizing a meal for the presenters at a local restaurant and so on.

on Monoliths & Microservices

MY presentation is below, but we can summarize the core themes with the following points:

  • Monoliths are as valid as microservices in the right conditions – we need to make the effort to understand the conditions needed and which approach addresses our needs.
  • Microservices are, without a doubt, an amplifier – if your engineering and organization practices, processes, and culture are in the right place, then microservice technologies will return dividends. But without those, then, the gains will be minimal or even potentially harmful.
  • If you want to have monoliths and microservices cohabit (and possibly enable a less painful transition), then there are a range of techniques, strategies, and tools that can help. For example
    • Using service mesh and proxies (e.g., Istio, Linkerd) to hide the monolith
    • Use API Gateways and messaging brokers for East-West abstraction and anti-corruption layers
    • Adopting strategies such as micro-kernel and plugin frameworks (OSGi Felix, Celix).
    • Adopt containerization – monoliths don’t care, and services like OCI Container Instances are simpler to work with but still have some of the benefits of K8s).
    • Services such as open-source solutions such as Verrazzano provide tooling to make K8s environments easy to manage and to package and deploy monoliths built with technologies such as WebLogic alongside microservices.
  • Microservices and monoliths are architectural strategies, and we should be employing the right one to meet our business needs – technology, for technology’s sake, isn’t what will keep us employed.

Based on comments at the conference and on social media – it looks like the content was well received.