Slide 1

Slide 1 text

Playing with Cloud Native Patterns Nebrass Lamouchi

Slide 2

Slide 2 text

Me, Myself & I • Senior Software Engineer at Microsoft • Groundbreaker Awards 2019 Winner • Former de la NetBeans Dream Team • OWASP Project Leader depuis 2013 • Three Books author

Slide 3

Slide 3 text

Agenda • Presentation • What is the need for microservices? • How do we get them ? • How do we make them ?

Slide 4

Slide 4 text

Presentation

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Then ?

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Getting bigger and bigger?!

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Solution: Microservices Separation of concerns Simplicity High performance

Slide 11

Slide 11 text

How to split the application?

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Before

Slide 14

Slide 14 text

After

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Which recipe ?

Slide 18

Slide 18 text

Cloud Patterns • Externalized configuration • Service discovery and registration • Circuit Breaker • Database per service • API gateway • CQRS & Event sourcing • Log aggregation • Distributed tracing • Audit logging • Application metrics • Health check API

Slide 19

Slide 19 text

Externalized configuration

Slide 20

Slide 20 text

Service discovery and registration

Slide 21

Slide 21 text

Circuit Breaker

Slide 22

Slide 22 text

Database per service

Slide 23

Slide 23 text

API gateway

Slide 24

Slide 24 text

CQRS & Event sourcing

Slide 25

Slide 25 text

Log aggregation

Slide 26

Slide 26 text

Distributed tracing

Slide 27

Slide 27 text

Audit logging

Slide 28

Slide 28 text

Application metrics

Slide 29

Slide 29 text

Health check API

Slide 30

Slide 30 text

What about Kubernetes ?

Slide 31

Slide 31 text

What about Kubernetes ? Pattern Kubernetes Externalized configuration ✅ ConfigMaps + Secrets Service discovery and registration ✅ Services Circuit Breaker ✅ Service Mesh (Istio) Database per service ❌ Non-Applicable API gateway ✅ Ingress CQRS & Event sourcing ❌ Non-Applicable Log aggregation ✅ ELK Operator Distributed tracing ✅ Service Mesh (Istio) Audit logging ✅ Service Mesh (Istio) Application metrics ✅ Grafana + Prometheus Health check API ✅ Readiness & Liveness probes

Slide 32

Slide 32 text

« The art of delegation is one of the key skills any entrepreneur must master. » Richard Branson

Slide 33

Slide 33 text

© Copyright Microsoft Corporation. All rights reserved. Thank you J