Content-type: text/html Downes.ca ~ Stephen's Web ~ Principles for Microservice Design: Think IDEALS, Rather than SOLID

Stephen Downes

Knowledge, Learning, Community

We've previously discussed the trend toward distributed infrastructure based on microservices. This article offers a useful contrast with the previous object oriented (OO) paradigm (and thus, offers a technical-level contrast between learning objects, properly so-called, and next generation learning resources). The big different (if I may interpret loosely) is that in OO the parts combine to create a single unified whole (which is why reuse is some important), while in microservices, the parts are loosely joined and may support multiple services (which is why access is important). The ideal in object oriented program is Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion (SOLID). The proposed alternative here is Interface segregation, Deployability, Event-driven, Availability over consistency, Loose coupling, Single responsibility (IDEALS). This article covers each of these items in a lot of detail and is well-worth a read for a good technically-specific overview.

Today: 6 Total: 22 [Direct link] [Share]


Stephen Downes Stephen Downes, Casselman, Canada
stephen@downes.ca

Copyright 2024
Last Updated: Nov 15, 2024 08:22 a.m.

Canadian Flag Creative Commons License.

Force:yes