Breaking down a Python based Monolith application to micro-services based application

PyCon 2017

Neependra Khare, CloudYuga

Febin K G, Software Developer

Monolith and Micro-services

Image Ref: http://martinfowler.com/articles/microservices.html

Benefits of Micro-services • No language or technology lock-in 
 • Easy Deployment 
 • Updating and Scaling
 • No cascading failure
 • The ability to reuse

Breaking down the Monolith to Micro-services • No thumb rule, which works all the time
 • If you have complex Monolith • Not advisable to re-write from scratch • Carve out one piece at a time
 • Split the monolith based on business logic,

front-end and data access


• Recommended to have local database for individual service • For inter-service database access use event driven communication
 • If you need functionality while breaking the monolith, implement it as

micro-service


Monolith Application

MySQL Database

Catalogue

User

Cart

Orders

Payment

Isolating Payment as a Microservice

Catalogue

User

Cart

Orders

MySQL Database

API Calls

MongoDB

Payment

Isolating Orders as a Microservice

MySQL Database

Catalogue

User

Cart

API Calls

MongoDB

Payment

API Calls

Orders

MongoDB

Isolating Cart as a Microservice MySQL Database

Catalogue

User

API Calls

MongoDB

Cart

Payment

API Calls

API Calls

Orders

MongoDB

MongoDB

Isolating User as a Microservice MySQL Database

Catalogue

API Calls

AP

MongoDB

IC

Payment

User

MongoDB

Cart

MongoDB

all

s

API Calls

API Calls

Orders

MongoDB

Final Application Frontend

Catalogue

Cart

User

Orders

Payment

MongoDB

MongoDB

MongoDB

MongoDB

MongoDB

Q&A

Thanks

Microservices-2.pdf

Page 4 of 12. Breaking down the Monolith to Micro-services. • No thumb rule, which works all the time. • If you have complex Monolith. • Not advisable to re-write from scratch. • Carve out one piece at a time. • Split the monolith based on business logic, front-end and data access. • Recommended to have local database for ...

139KB Sizes 11 Downloads 93 Views

Recommend Documents

No documents