Microservices Learning Notes

Microservice is a recently popular architecture and evolution of  SOA.

The notion is first brought up by Martin Fowler. See his microservices resource guide.

What is Microservices?


Sam Newman: small independently deployable services that work together modeled around a business domain.

Why use microservice?

Improved autonomy, ship more quickly, scale your application/teams

How to migrate?

Strangler patter. Break down monolithic system.

synchronous vs asynchronous communication as inter service communication

Publications on introduction of microservices:

AWS’s on microservices

Microsoft on microservices

Pivotal on microservices

A good overview of microserivces concepts and practice  in Java by IBM

Designing and Deploying Microservices – free comprehensive ebook by Nginx


A step by step implementation of microserivces in Spring Boot and Cloud


How to migrate to microservices?

Migrating to Cloud-Native Application Architectures by Matt Stine  Free ebook

Decompose services. How big is big? How small is small?

Microservices vs SOA

  1. Microservices vs. SOA
  2. Microservices vs. SOA – Is There Any Difference at All?
  3. Microservices, SOA, and APIs: Friends or enemiess

Microservices: fine grained SOA. SOA encourages sharing, microservices minimizes sharing.

The cons of microservices

  1. Microservices vs. Monolithic Architectures: Pros, Cons, and How Cloud Foundry (PaaS) Can Help
  2. Microservices – Not a free lunch!
  3. The Hidden Costs Of Microservices

Not a free lunch:

  1. Overhead. Deploy lots of services, messaging, monitoring
  2. Devops skills, release automation
  3. Implicit interfaces
  4. Duplication of effort.
  5. Distributed system complexity
  6. Asynchronicity is difficult
  7. Testability challenges
  8. Encourage big design up front

Best practices of Microservices

  1. Pattern: Microservice Architecture by Chris Richardson 
  2. Microservices antipatterns and pitfalls by Mark Richards
  3. Microservice Architecture: All the Best Practices You Need to Know
  4. Best Practices for Building a Microservice Architecture

Microservices related platform, technologies, tools

awesome-microservices  from Github

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s