1. The document discusses the benefits of a microservice architecture including separating development and releases, decentralized data management, improved testability, and scalability.
2. It describes how a monolithic architecture can have hundreds of developers working on a single codebase and database, while microservices allow smaller independent teams to work on their own services and data.
3. Microservices also improve testability by isolating domains and allowing reliable automated testing of individual services without interference from other parts of the system.
5. DB
DB
DB
DB
Big DB
5
Decentralized data management
Big
PHP
Monolith
Team
Team
Team
TeamTeam
Nice
PHP
App
GO
API
GO
API
GO
API
GO
API
GO
API
GO
API
Team
Team
Team
TeamTeam
Team
Shared
libs and
clients
Hundreds of devs
Single all-purpose DB cluster Every service has own storage
Hard to scaleLots of data Easy to join data
Loose data ownership
Hard to join data
Strict data ownership
Less data Easier to scale
9. 9
Development
•Extract monolith features
as microservices
•Expose API spec/docs
•Strong typing client libs
for communication
•Service is implemented
on top of reusable framework
•Infrastructure (cache, db, etc)
is unified, accessed with
shared libs
•Each service has own roadmap
and schedule
•Automated Semantic Versioning
Service
Auto-generated client libs
API spec/docs
Resources of
unified infrastructure
Developers
Shared libs
High-level framework
13. 13
Transport
• Protocol
• JSON
• REST
• JSON-RPC
• Binary
• gRPC
• Round-robin P2P and load balancers
• Dynamic nodes list
High compatibility
High performance
Human-readable
Non human-readable Less traffic
More traffic
Avg performance
Lower compatibility
19. 19
Microservices help us to
Support
Optimize
Increase
Improve
fast business growth
tech team efforts and efficiency
reliability of new features delivery
transparency of the whole system
20. 20
Join the team!
26 nationalities
GO / Java / PHP
220 Employees
Hackathons
Happy FridaysTech Talks
Training Programs
Technology Driven Company Questions?