Microservices Fundamentals

Web Application or Microservices GO or NOT GOT

https://www.youtube.com/watch?v=FO_qg9ETcT0&list=PLD-mYtebG3X9HaZ1T39-aF4ghEtWy9-v3&index=3

Monolithic

Disadvantages

  1. A single executable file to the whole application. Deployment issues. Regression testings. Performance testings and measures. A single modification causes all these tasks.
  2. Maintain of whole code base. Deployment. Isolation. Debugging. Diagnosis. All these are hard.

Advantages

  1. Easy testing (1 app) by mocking
  2. Easy monitoring (1 app)

Microservices

It is like SOA 2.0.

It is DDD Domain Driven Development.

Individually deploy and mantain

Dedicated purpose of living

It runs own processes (own web container)

Comunicate with other services via light weight way (HTTP)

Scale independently. Scale and deploy as individual services

Use different languages: Spring Boot, Drop Wizard, WS MS for Java

Smaller teams

Y-axis is microservices by function division. Only scale those microservices more demanding and by peak hours.

Microservices design and frameworks

Frameworks:

Spring Boot, Drop Wizard, WS MS for Java. API gateways, governance registry, etc

Design:

Service resilience

Fault tolerance: with proxy, failure mechanism or implementing circuit breaker pattern.

Deployment:

Kubernates framework, Docker, containers

Fullstack team:

Java, API, DBA, QA, UI, fullstack team

Visibility from consumer to backend

Reestructuring team

You build it you own it

Best practices for Microservices / Web Application Developers

https://www.youtube.com/watch?v=Alj5sqsv0QU&index=4&list=PLD-mYtebG3X9HaZ1T39-aF4ghEtWy9-v3

Design

DDD Design Driven Development

References

https://www.youtube.com/watch?v=FO_qg9ETcT0&list=PLD-mYtebG3X9HaZ1T39-aF4ghEtWy9-v3&index=3

results matching ""

    No results matching ""