Preparing For a Future Microservices Journey Susanne Kaiser - - PowerPoint PPT Presentation

preparing for a future microservices journey
SMART_READER_LITE
LIVE PREVIEW

Preparing For a Future Microservices Journey Susanne Kaiser - - PowerPoint PPT Presentation

Preparing For a Future Microservices Journey Susanne Kaiser Independent Tech Consultant @suksr CTO at Just Software @JustSocialApps #VoxxedMicroservices @suksr #VoxxedMicroservices @suksr #VoxxedMicroservices @suksr Source:


slide-1
SLIDE 1

Preparing For a Future Microservices Journey

CTO at Just Software @JustSocialApps Susanne Kaiser Independent Tech Consultant @suksr

slide-2
SLIDE 2

@suksr #VoxxedMicroservices

slide-3
SLIDE 3

@suksr #VoxxedMicroservices

slide-4
SLIDE 4

@suksr #VoxxedMicroservices Source: http://www.thomasthwaites.com

slide-5
SLIDE 5

@suksr #VoxxedMicroservices

slide-6
SLIDE 6

@suksr #VoxxedMicroservices Source: http://www.thomasthwaites.com

slide-7
SLIDE 7

@suksr #VoxxedMicroservices

slide-8
SLIDE 8

@suksr #VoxxedMicroservices

slide-9
SLIDE 9

Data Store

@suksr #VoxxedMicroservices

slide-10
SLIDE 10

Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-11
SLIDE 11

API Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-12
SLIDE 12

API API API Service Discovery

  • 1. Register
  • 3. Connect
  • 2. Discover

Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-13
SLIDE 13

API API API Service Discovery Load-Balancer Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-14
SLIDE 14

API API API Service Discovery Load-Balancer API Timeout-Handling Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-15
SLIDE 15

API API API Service Discovery Load-Balancer API Timeout-Handling Retries Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-16
SLIDE 16

API API API Service Discovery Load-Balancer API Timeout-Handling Retries Idempotency Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-17
SLIDE 17

API API API Service Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Idempotency Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-18
SLIDE 18

API API API Service Discovery Load-Balancer API Timeout-Handling Retries Bulk- Heads Circuit Breaker Idempotency Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-19
SLIDE 19

API API API Service Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Circuit Breaker Idempotency Message Broker Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-20
SLIDE 20

API API API Service Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Circuit Breaker Idempotency Message Broker API-Gateway Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-21
SLIDE 21

API API API Service Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Idempotency Message Broker API-Gateway Circuit Breaker Config-Mngmt. Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-22
SLIDE 22

API API API Service Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Idempotency Message Broker API-Gateway Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks Hardware O/S Virtualization Container Runtime

@suksr #VoxxedMicroservices

slide-23
SLIDE 23

API API API Service Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Idempotency Message Broker API-Gateway Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM

Checkout Test Build

CI/CD Pipeline

Deploy

Hardware O/S Virtualization Container Runtime

slide-24
SLIDE 24

API API API Service Discovery Load-Balancer API Timeout-Handling Retries Bulk- heads Idempotency Message Broker API-Gateway Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM

Checkout Test Build

CI/CD Pipeline

Deploy

Hardware O/S Virtualization Container Runtime Backup Recovery

slide-25
SLIDE 25

µService

@suksr #VoxxedMicroservices

slide-26
SLIDE 26

Hardware Data Store API API-Gateway Service Discovery Load-Balancer Message Broker Timeout-Handling Retries Idempotency Bulkheads Circuit Breaker Config-Mngmt. Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM O/S Virtualization Container Runtime

Checkout Test Build

CI/CD Pipeline

Deploy

µService Backup Recovery

@suksr #VoxxedMicroservices

slide-27
SLIDE 27

Hardware Data Store API API-Gateway Service Discovery Load-Balancer Message Broker Timeout-Handling Retries Idempotency Bulkheads Circuit Breaker Configuration Monitoring Log Aggreation Metrics Distributed Tracing Health Checks SCM O/S Virtualization Container Runtime

Checkout Test Build

CI/CD Pipeline

Deploy

µService

Team

Structure Skillset Size

Strategy

New Features Timeline / Milestones

Legacy

Maintenance effort Runtime environment Backup Recovery

@suksr #VoxxedMicroservices

slide-28
SLIDE 28

Source: http://www.thomasthwaites.com/folio5/wp-content/uploads/2010/10/Toaster_Project1-PhotoCredit-Daniel_Alexanderx630.jpg

@suksr #VoxxedMicroservices Source: http://www.thomasthwaites.com

slide-29
SLIDE 29

How can a small team handle infrastructure complexities and deliver business value?

@suksr #VoxxedMicroservices

slide-30
SLIDE 30

Business Domain Focus Visible Business Value

@suksr #VoxxedMicroservices

slide-31
SLIDE 31

Build the things that differentiate you, offload the things that don’t.

Core Domain Distinguishes your organization competitively from all others Subdomain Subdomain @suksr #VoxxedMicroservices

slide-32
SLIDE 32

Build the things that differentiate you Offload the things that don’t

@suksr #VoxxedMicroservices

slide-33
SLIDE 33

Build the things that differentiate you Offload the things that don’t

@suksr #VoxxedMicroservices

slide-34
SLIDE 34

Hardware O/S Virtualization Container Runtime

Managed Services

O/S Orchestration Data Store µService

Offload by getting common building blocks managed

slide-35
SLIDE 35

Cloud Native

Managed by YOU Managed by Platform Hardware O/S Virtualization Container Runtime O/S Orchestration µService Container Runtime µService Service Discovery Load Balancer Config-Mngmt. Monitoring Log Aggreation Health Checks Recovery Scaling

w/ Container Orchestration

@suksr #VoxxedMicroservices

slide-36
SLIDE 36

Cloud Native

Managed by YOU Managed by Platform Hardware O/S Virtualization Container Runtime O/S Orchestration µService Container Runtime µService Service Discovery Load Balancer Config-Mngmt. Monitoring Log Aggreation Health Checks Recovery Scaling

w/ Container Orchestration

Message Broker Data Store Backup API-Gateway

@suksr #VoxxedMicroservices

slide-37
SLIDE 37

Kubernetes

Primitives

Container Runtime µService

Pod ReplicaSet Deployment StatefulSet Service Volume ConfigMap Secret PersistentVolumeClaim CronJob Job DaemonSet Replication Controller Ingress Horizontal Pod AutoScaler Endpoint + a lot more @suksr #VoxxedMicroservices

slide-38
SLIDE 38

Cloud Native Citizen Principles

Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam

Single Concern

Reusabilty Replacability @suksr #VoxxedMicroservices

slide-39
SLIDE 39

Cloud Native Citizen Principles

Single Concern

Reusage Replacability

High Observability

Process Health Readiness Liveliness Metrics Tracing Logs Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam @suksr #VoxxedMicroservices

slide-40
SLIDE 40

Cloud Native Citizen Principles

Single Concern

Reusage Replacability

High Observability

Process Health Readiness Liveliness Metrics Tracing Logs

Life-Cycle Conformance

SIGTERM SIGKILL PreStop PostStart Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam @suksr #VoxxedMicroservices

slide-41
SLIDE 41

Cloud Native Citizen Principles

Single Concern

Reusage Replacability

High Observability

Process Health Readiness Liveliness Metrics Tracing Logs

Life-Cycle Conformance

SIGTERM SIGKILL PreStop PostStart

Image Immutability

Dev Test Prod Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam @suksr #VoxxedMicroservices

slide-42
SLIDE 42

Cloud Native Citizen Principles

Single Concern

Reusage Replacability

High Observability

Process Health Readiness Liveliness Metrics Tracing Logs

Life-Cycle Conformance

SIGTERM SIGKILL PreStop PostStart

Image Immutability

Dev Test Prod

Self-Containment

Build Time Configuration Storage Runtime Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam @suksr #VoxxedMicroservices

slide-43
SLIDE 43

Cloud Native Citizen Principles

Single Concern

Reusage Replacability

High Observability

Process Health Readiness Liveliness Metrics Tracing Logs

Life-Cycle Conformance

SIGTERM SIGKILL PreStop PostStart

Image Immutability

Dev Test Prod

Process Disposability

Start/Stop

Self-Containment

Build Time Configuration Storage Runtime Externalized State Small Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam @suksr #VoxxedMicroservices

slide-44
SLIDE 44

Cloud Native Citizen Principles

Single Concern

Reusage Replacability

High Observability

Process Health Readiness Liveliness Metrics Tracing Logs

Life-Cycle Conformance

SIGTERM SIGKILL PreStop PostStart

Image Immutability

Dev Test Prod

Process Disposability Self-Containment

Build Time Configuration Storage Runtime

Runtime Confinement

Memory CPU Container Size Start/Stop Externalized State Small Based on Red Hat’s Whitepaper “Principles of container-based application design” by Bilgin Ibryam @suksr #VoxxedMicroservices

slide-45
SLIDE 45

Separation Of Concerns

Service Discovery Load-Balancer Circuit Breaker Timeouts Retries Bulkheads

Application Networking Concerns Business Logic

@suksr #VoxxedMicroservices

slide-46
SLIDE 46

Separation Of Concerns

Service Discovery Load-Balancer Circuit Breaker Timeout Retries Bulkheads Kubernetes / Service Mesh Proxy Proxy

Business Logic Service Mesh Application Networking Concerns

@suksr #VoxxedMicroservices

slide-47
SLIDE 47

Service Mesh

Primitives

Container Runtime µService

Pod ReplicaSet Deployment StatefulSet Service Volume ConfigMap Secret PersistentVolumeClaim CronJob Job DaemonSet Replication Controller Ingress Horizontal Pod AutoScaler Endpoint + a lot more Sidecar Proxy Pilot Mixer Control Plane Data Plane Auth @suksr #VoxxedMicroservices

slide-48
SLIDE 48

Hardware O/S Virtualization Container Runtime O/S Orchestration Data Store µService Hardware O/S Virtualization Container Runtime O/S Orchestration Data Store Function Managed by YOU Managed by Third Party Unit of Work

@suksr #VoxxedMicroservices

slide-49
SLIDE 49

Serverless

Function Event

Event-Driven Workflow

Hardware Data Store O/S Virtualization Container Runtime

Fully Managed By Third Party Ephemeral Function Pay-per-Execution Auto-Scaling Characteristics

@suksr #VoxxedMicroservices

slide-50
SLIDE 50

Serverless

Functions

listCustomers

One function per endpoint and action

API

getCustomer createCustomer updateCustomer deleteCustomer

API-Gateway

GET /customers GET /customers/{id} POST /customers PUT /customers/{id} DELETE /customers/{id} CustomerService @suksr #VoxxedMicroservices

slide-51
SLIDE 51

Serverless

Example Image Processing

  • Backend API
  • Data Processing
  • Format Conversion
  • Encoding
  • Integrating of 3rd Party Services

@suksr #VoxxedMicroservices File Storage (S3) File Storage (S3) Create Thumbnail Update Search Service Notification Service (SNS) Write Log Log Service (CloudWatch)

Compute as glue

Additional Use Cases

slide-52
SLIDE 52

Serverless

AWS Primitives

Lambda API Gateway SNS SQS DynamoDB Step Functions Core AWS Serverless Building Blocks S3 Kinesis CloudWatch Cognito @suksr #VoxxedMicroservices IAM and more

slide-53
SLIDE 53

Be aware of ...

@suksr #VoxxedMicroservices

New primitives

Cognitive load

slide-54
SLIDE 54

Build the things that differentiate you, offload the things that don’t

@suksr #VoxxedMicroservices

slide-55
SLIDE 55

@suksr #VoxxedMicroservices

slide-56
SLIDE 56

Susanne Kaiser Independent Tech Consultant @suksr CTO at Just Software @JustSocialApps