@kemalelmizan
IDSW.dev
17 Nov 2024

What Comes After Microservices? - Matt Ranney
Modules or Objects?
| Model | modules, components, connectors, ports, component assemblies, styles, invariants, responsibility allocations, design decisions, rationales, protocols, quality attributes, and models (e.g., security policies, concurrency models) |
| Code | packages, classes, methods, variables, functions, procedures, statements |
Just Enough
Software
Architecture: Model-code gap
- George Fairbanks
collection of independent components, located on networked systems, that communicate and coordinate their actions by passing messages to achieve a common objective

Service-level Fault Injection Testing, ACM SoCC 2021
-
Christopher Meiklejohn
Resilient Microservice Applications, by Design, and without the Chaos - Christopher Meiklejohn
you're not creating microservices,
you're creating a distributed monolith
Scenario: e-commerce platform with these services
want to create a reporting tool that gathers these data:
SELECT u.*, o.*, p.*, i.*
FROM Users u
JOIN Orders o ON u.UserId = o.UserId
JOIN OrderItems oi ON o.OrderId = oi.OrderId
JOIN Products p ON oi.ProductId = p.ProductId
JOIN Inventory i ON p.ProductId = i.ProductId;
... make sure to use indexes and query to replica DB for optimization
unoptimized solution in microservices:


4,000 developers and at least 440 different companies contribution
In a similar way to Linux, modern monolithic applications are often chosen when:
This deck is available online at http://kemal.elmizan.com/modular-monolith