MICROSERVICES ARCHITECTURE

LET'S BUILD TOGETHER

https://rocka.co

xergioalex

Sergio A. Florez

TECH LEAD && FULL STACK DEVELOPER

LET'S BUILD TOGETHER

DIVIDE AND CONQUER

LET'S BUILD TOGETHER

LET'S BUILD TOGETHER

DIVIDE AND CONQUER

LET'S BUILD TOGETHER

Microservice is that it does one thing and it does it very well.

LET'S BUILD TOGETHER

It’s autonomous: self-contained unit of functionality. A unique location (URL) identifies it.

LET'S BUILD TOGETHER

It’s isolated, so we can modify it, test it and deploy it without impacting other areas of the solution

LET'S BUILD TOGETHER

It’s elastic. Can be scaled independently of other services.

Vertical

Escaling

Horizontal

Escaling

LET'S BUILD TOGETHER

It’s resilient. Is fault tolerant and highly available.

LET'S BUILD TOGETHER

It’s responsive,  it responds to requests in a reasonable amount of time.

LET'S BUILD TOGETHER

It’s message oriented. Rely on asynchronous message-passing to establish a boundary between components.

LET'S BUILD TOGETHER

It’s programmable. Thanks to API’s for access by developers and administrators and Applications are composed from multiple microservices.

LET'S BUILD TOGETHER

It’s automated, the lifecycle of a microservice is managed through automation that includes dev, build, test, staging, production and distribution.

LET'S BUILD TOGETHER

Are Microservices the silver bullet for all your problems?

NO

LET'S BUILD TOGETHER

Scalable

PROS

CONS

Network latency increased by the messages interchange.

Reduce deployment costs

Deployment and testing complexity increase exponentially based on the number of interaction between services.

LET'S BUILD TOGETHER

Can be developed by a small team.

PROS

CONS

Too fine grained microservices may create an overhead that outweighs its utility.

Team only has to be aware of the business logic that represents the service and its interactions.

Message formats, restrictions, and interactions knowledge is needed.

LET'S BUILD TOGETHER

Continuous deployment.

PROS

CONS

Must pay lot of attention in versioning because of the interaction with older version of other services.

Use the technology you prefer to create it.

Transactional operations that goes through the boundaries of many microservices increase the logic complexity.

LET'S BUILD TOGETHER

LET'S BUILD TOGETHER

LET'S BUILD TOGETHER

LET'S BUILD TOGETHER

LET'S BUILD TOGETHER

LET'S BUILD TOGETHER

LET'S BUILD TOGETHER

LET'S BUILD TOGETHER

LET'S BUILD TOGETHER

LET'S BUILD TOGETHER

Links

 

LET'S BUILD TOGETHER

Docker

https://www.docker.com/

 

Docker Compose

https://docs.docker.com/compose/

 

Github GraphQL API

https://developer.github.com/v4/

 

Docker Machine

https://docs.docker.com/machine/

 

 

 

 

 

Links

 

LET'S BUILD TOGETHER

LET'S BUILD TOGETHER

https://rocka.co

xergioalex

Sergio A. Florez

TECH LEAD && FULL STACK DEVELOPER

Made with Slides.com