We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Split Up! Fighting the Monolith

Formal Metadata

Title
Split Up! Fighting the Monolith
Title of Series
Part Number
153
Number of Parts
169
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Patrick Mühlbauer - Split Up! Fighting the Monolith Having to deal with a monolith, an application which became far to big over the time, can be quite bothersome. On the other hand if you split it up and have to deal with lots of smaller components, you might end up in dependency hell. But not only the splitting of the monolith and the management of the dependencies afterwards can be a problem, but also the packaging of you python components itself. ----- Do you know this situation, where you and your team are facing this big monolith? An application which has grown far too big over the years. Every time when you make a change, you have to fear the code might break at a totally different place, because lots of things are closely intertwined. But what to do if you are at such a point? Maybe you start thinking about microservices but then questions like "Are they really the right thing for us?" and "How do we get there?" arise. In my talk I will show you how we are dealing with our monolith. A collection of multiple python packages without clear boundaries, forming the actual application - all living in a single monorepo. I will talk about how we split up the whole thing, making it more flexible for us and also easier to use individual components by other teams. All this, of course, comes with a price: You have to think more about the dependencies between you components. You have to think about how you can efficiently test everything, making sure your final application is still working correctly. Don't loosing yourself in dependency hell and packaging all components correctly becomes quite a challenge. This talk will: - show you bad patterns to avoid, so that you don't end up in the above situation in the first place - give you ideas what to consider when tackling your monolith - explain how to package your python components and how to mange your dependencies