Slide 1

Slide 1 text

Independent Systems Architecture: ISA Creator: INNOQ | http://isa-principles.org

Slide 2

Slide 2 text

Creator: INNOQ | http://isa-principles.org Principles of Microservices

Slide 3

Slide 3 text

Creator: INNOQ | http://isa-principles.org 1 | Modules 2 | Macro / Micro Architecture 3 | Container 4 | Integration & Communication 5 |Authentication & Metadata 6 | Independent Continuous Delivery Pipeline 7 | Standardized Operations 8 | Standards: Interface only 9 | Resilience

Slide 4

Slide 4 text

Creator: INNOQ | http://isa-principles.org Best practices > for microservices > for Self-contained Systems (SCS) http://scs-architecture.org Introduction Why ISA? ! ! !

Slide 5

Slide 5 text

1 | Modules Creator: INNOQ | http://isa-principles.org

Slide 6

Slide 6 text

Creator: INNOQ | http://isa-principles.org > Modules: Old idea > Modularization for a system 1 | Modules

Slide 7

Slide 7 text

Creator: INNOQ | http://isa-principles.org Reuse “Module” ideas: > High cohesion, low coupling, > Separation of concerns, > Single Responsibility … 1 | Modules

Slide 8

Slide 8 text

Creator: INNOQ | http://isa-principles.org > Modules provide interfaces > Access only through interface 1 | Modules

Slide 9

Slide 9 text

Creator: INNOQ | http://isa-principles.org > Information hiding > Microservice must not use other microservices’ internals (e.g. database schemas). 1 | Modules

Slide 10

Slide 10 text

2 | Macro / Micro Architecture Creator: INNOQ / http://isa-principles.org

Slide 11

Slide 11 text

Creator: INNOQ | http://isa-principles.org > Decisions for all modules 2 | Macro / Micro Architecture Macro Architecture

Slide 12

Slide 12 text

Creator: INNOQ | http://isa-principles.org > Decisions per module 2 | Macro / Micro Architecture Micro Architecture

Slide 13

Slide 13 text

Creator: INNOQ | http://isa-principles.org > All modules part of one system > Goal: Minimal Macro Architecture > Macro Architecture stable 2 | Macro / Micro Architecture Why Macro Architecture?

Slide 14

Slide 14 text

3 | Container Creator: INNOQ / http://isa-principles.org

Slide 15

Slide 15 text

Creator: INNOQ | http://isa-principles.org > Modules = containers (or VMs, processes …) 3 | Container

Slide 16

Slide 16 text

Creator: INNOQ | http://isa-principles.org > Decoupling > Independent … – technical decision – scalability – deployment 3 | Container Process, Container, VM

Slide 17

Slide 17 text

4 | Integration & Communication Creator: INNOQ | http://isa-principles.org

Slide 18

Slide 18 text

Creator: INNOQ | http://isa-principles.org > Integrate modules to become a system Synchronous, asynchronous, or UI 4 | Integration & Communication

Slide 19

Slide 19 text

Creator: INNOQ | http://isa-principles.org > Limit options > Just one: not enough 4 | Integration & Communication

Slide 20

Slide 20 text

Creator: INNOQ | http://isa-principles.org > Define technical communication protocol > REST, messaging … 4 | Integration & Communication

Slide 21

Slide 21 text

5 | Authentication & Metadata Creator: INNOQ | http://isa-principles.org

Slide 22

Slide 22 text

Creator: INNOQ | http://isa-principles.org > Standardize metadata e.g. for authentication or tracing > Authorization in each module 5 | Authentication & Metadata

Slide 23

Slide 23 text

6 | Independent Continuous Delivery Pipeline Creator: INNOQ | http://isa-principles.org

Slide 24

Slide 24 text

Creator: INNOQ | http://isa-principles.org > Microservices can only be deployed independently … > ... if pipelines are independent 6 | Independent Continuous Delivery Pipeline

Slide 25

Slide 25 text

7 | Standardize Operations Creator: INNOQ | http://isa-principles.org

Slide 26

Slide 26 text

Creator: INNOQ | http://isa-principles.org > Configuration, log analysis, tracing, monitoring, deployment > Reduce effort 7 | Standardize Operations

Slide 27

Slide 27 text

8 | Standards: Interface only Creator: INNOQ | http://isa-principles.org

Slide 28

Slide 28 text

Creator: INNOQ | http://isa-principles.org > Standardize e.g. configuration … or log interface > Do not standardize the library! 8 | Standards: Interface only

Slide 29

Slide 29 text

9 | Resilience Creator: INNOQ | http://isa-principles.org

Slide 30

Slide 30 text

Creator: INNOQ | http://isa-principles.org > Module still work … if other modules fail 9 | Resilience

Slide 31

Slide 31 text

Creator: INNOQ | http://isa-principles.org > Module still work … if moved somewhere else 9 | Resilience

Slide 32

Slide 32 text

Creator: INNOQ | http://isa-principles.org Independent System Architecture Container Modules Macro / Micro Architecture Independent Continuous Delivery Pipeline Resilience Integration & Communication Authentication & Metadata Standardized Operations Standards: Interface only

Slide 33

Slide 33 text

Creator: INNOQ | http://isa-principles.org COPYRIGHT This presentation is copyrighted under a Creative Commons Attribution-ShareAlike 3.0 / Unported License http://creativecommons.org/licenses/by-sa/3.0/ Creator