Header Image

Applying Design Principles to Microservices

When designing code, we use specific design principles: SOLID, GRASP, or the UNIX philosophy. Do these still apply to microservices?

In this talk, we will explore these sets of design principles and the effects they have when applied to microservices. Specifically, we will look at obtaining:

  • low coupling
  • high cohesion
  • Single Responsibility Principle
  • Open Closed Principle
  • Encapsulation
  • Alan Kay’s original vision for OOP and how it applies to microservices
  • the UNIX idea of small programs with a single goal that communicate through text interfaces

We will see how from these principles we can learn interesting things:

  • how most programming languages are using class-oriented programming rather than object-oriented programming
  • how microservices follow Alan Kay’s vision of objects that respond to messages
  • why low coupling is necessary when dealing with a large number of microservices, if we want to optimize for change
  • how microservices can and should take advantage of Conway’s law
  • how encapsulation means that each microservice should have its own database
  • finally, how all these lead to a system that has eventual consistency due to the CAP theorem

 

April 8 @ 09:00
09:00 — 09:45 (45′)

Room A

Alex Bolboaca