The Beginning of Tech Savvy Talks vol 1. Monolith Decomposition Patterns
Tech Savvy Talks is a new online series of events organized by Scalefocus bi-weekly, covering various technology topics. Through the events, our colleagues from the Technology teams discuss hot trends and best practices and share knowledge and insights from their expertise.
Besides diving into the depths of various tech-related themes, the Tech Savvy Talks also include live interactive Q&A sessions with the audience.
The events are free and open to anyone interested. They are entirely online and you can register on the Eventbrite platform. Follow the Scalefocus’s profile and be the first to know about the upcoming topics and events.
The launch event was held on Oct 6, 2021 by Vasil Kostadinov, a Senior Software Engineer at Scalefocus with over 6 years of experience in fintech, e-commerce and insurance projects. His contribution to those projects is on the back end, and the primary language he uses is Java.
During the talk, Vasil presented the Monolith decomposition patterns topic and, more explicitly, explained how to decompose а monolith and move towards a microservice architecture.
As Vasil explained:
Micro-services have become a trend for the past few years, and they started being adopted by a lot of teams and in a lot of projects. A lot of people try to do them: some succeed… for others I don’t think things ended up very well. And besides that, microservices look great on your CV.
Agenda of the Tech savvy talk vol.1:
- What is monolith?
- What are the pros and cons of monolithic architecture?
- What is microservice architecture?
- What are the pros and cons of it?
- Rules & guidelines for use
- Patterns & decompose – how to integrate them?
- Accessing the data
About the Monolith?
From an architecture point of view, what we have is a code that resides in a single repository for a single code base, and all of the code gets compiled and packaged as a single deployment unit. That deployment unit runs within a single process.
From a database perspective, we have one database, where all the data is persistent, and each part of the monolith directly accesses it.
About the Microservice architecture
It’s a type of architecture where the system is composed of many independently deployable small services where each service runs within its process. All those services communicate with each other over the network using a well-defined interface and protocols like HTTP and REST, enabling them to be loosely coupled.
Rules & guidelines for use
- Model around business domain
- Group logic business capabilities
- Single responsibility
- No dependencies requiring to deploy multiple services at once
- Loose coupling and evolve independently
Accessing the data
Most of the time, microservices will need some data to perform their actions.
The question is how to get that data.
We have 2 options:
- Use shared database
- Database per service
- Be aware of your real problems
- Weight carefully the pros and cons
- Make sure the price paid is worth it
If we’ve got your interest, make sure to watch the first edition of the Tech savvy talks here, and you’ll find a lot of details about the Monolith decomposition patterns.
Don’t forget to sign up for the following events:
And to spice things up – it’s worth it not only for the exchange of expertise but also for a few other tasty surprises.
We can’t wait to see you.