Please log in to watch this conference skillscast.
As a software development consultant, Matt gets the opportunity to work with many different clients. Over the past few years, his work with clients has quite often involved some form of Monolith to Microservices transition. During this talk, Matt will share the techniques he has found to make this transition a success. One of the most common things he sees when teams are looking to embark on a Monolith to Microservices journey is they are all too eager to ditch their monolith codebase and jump straight into building new shiny Microservices. From his experience, if the current monolith is not well structured and reflective of the domain it is operating in then it’s quite likely the Microservices journey will be a painful one.
In this talk, Matt will argue why he thinks it is important to have a ‘Modular Monolith’ first with the appropriate domain seams modeled. These seams can then form the boundaries for future Microservices. This talk will touch on techniques such as EventStorming and Bounded Context mapping to identify the domain boundaries, as well as some core engineering practices that need to be in place (notably automation of testing and deployment, observability and general architectural governance). Matt will also discuss how to evolve integrations as your monolith evolves — including the often most complex integration of all — the database.
"One of the big takeaways from this talk I would like people to leave with is that often a well structured ‘Modular Monolith’ can be just as good as a set of MicroServices depending on your needs. Something I have come to learn over the years working with clients is that you really can’t shortcut the core things, most notably — Continuous Delivery practices and Domain Modeling. Without these two things, no Microservices journey will be successful. Getting these things ‘right’ often takes time and can be an iterative process. Doing so with a single Monolithic codebase can make that easier."
YOU MAY ALSO LIKE:
- Evolutionary Architecture (SkillsCast recorded in January 2021)
- Microservices From the Trenches. A Real-Life Practical Guide Through the Architecture, Design, Code (SkillsCast recorded in November 2022)
- Surgery on the Living Backbone - Microservice-Transformation of Mission Critical Systems (SkillsCast recorded in November 2022)
Modular Monoliths: How To Power Your Journey Using Continuous Delivery & Domain Modelling
Matt Belcher
After completing his degree in Computer Science, Matt joined a medium-sized online travel company as a Systems Developer. During his time there he got the opportunity to work with a team of consultants on building the first Service-Oriented-Architecture within the company. That was Matt’s first experience working in an Agile manner and following XP practices.
From there, his passion for Agile practices and software craftsmanship grew and a year later he joined ThoughtWorks. During his 8 years there, Matt worked with a large number of clients across many locations, tech stacks, languages and technical architectures. He played numerous roles during his time from Software Developer to Technical Lead.
Matt is now a Principal Craftsperson at Codurance, a global software consultancy where he is passionate about helping Organisations improve their software delivery capabilities, whether it be through embedding good technical practices or establishing a clear technical vision.
In his spare time, Matt enjoys travelling, playing the guitar and keeping fit. He is also currently learning Vietnamese.