The development difficulty of an application with many lines of code is well-known. Whenever several teams need to work on the same source code, there are going to be collisions and a waste of time. To deal with these and other problems, teams employ the microservices architectural approach.
In this talk we will discuss microservices, continuous delivery and how teams can work in such setup
2. ABOUT ME
Software Architect @ Levi9
8+ years of Java experience
Passionate about agile methodology and clean code
http://ua.linkedin.com/in/antonudovychenko
http://www.slideshare.net/antonudovychenko
3. Amsterdam
Levi9 HQ
Amsterdam – 2005
25 people
Novi Sad
Serbia
Novi Sad – 2005
320+ people
Zrenjanin
Serbia
Zrenjanin– 2014
30+ people
Iasi
Romania
Iasi – 2007
80+ people
Kiev
Ukraine
Kiev – 2008
130+ people
http://www.levi9.com/
4. AGENDA
• Monolith development
• Reflections about Scale cube
• Microservices to the rescue
• Spotify Scrum
• Employ Continuous delivery
• Q&A
5.
6. MONOLITH DEVELOPMENT
• Widely known and described
• Simple development
• Straightforward testing
• Easy deployment
Benefits:
7. MONOLITH DEVELOPMENT
• Grows to be tightly coupled
• Difficult to make changes
• Obstacle for scaling
• Complex to analyze
• Frightens developers
• Hard to change technology stack
Disadvantages:
8. MONOLITH DEVELOPMENT
• Grows to be tightly coupled
• Difficult to make changes
• Obstacle for scaling
• Complex to analyze
• Frightens developers
• Hard to change technology stack
Disadvantages:
11. REFLECTIONS ABOUT SCALE CUBE
Y axis – functional
decomposition
Scale by splitting
different things
X axis – horizontal duplication
Scale by cloning
12. REFLECTIONS ABOUT SCALE CUBE
Y axis – functional
decomposition
Scale by splitting
different things
X axis – horizontal duplication
Scale by cloning
Near infinite scale
Starting point
18. MICROSERVICES TO THE RESCUE
• Scalability
• Independent deployments
• Polyglot services
• Easier to understand a service
• Decoupling
• Fast development
Benefits:
19. MICROSERVICES TO THE RESCUE
• Distribution performance
• Eventual consistency
• Network security
• Orchestration complexity
• Monitoring and testing
• Code duplication
Disadvantages:
20.
21. CONWAY’S LAW
Organizations which design systems ... are constrained
to produce designs which are copies of the
communication structures of these organizations
Melvin Conway