SlideShare a Scribd company logo
© Copyright 2019 Pivotal Software, Inc. All rights Reserved.
Cloud-native
Patterns
Didier Burkhalter Alexandre Roman
Platform Architect Platform Architect
@didierDIB @Alexandre_Roman
July 4th, 2019
Welcome to this session!
Didier Burkhalter
Platform Architect, Pivotal
@didierDIB
Alexandre Roman
Platform Architect, Pivotal
@Alexandre_Roman
Cover w/ Image
Agenda
■ Cloud-native patterns overview
■ Apply these patterns to your apps
■ Demo
■ Q+A during the lunch ;)
Cloud-native patterns overview
A map for Cloud-native patterns
Stateless
DDD /
Bounded
context / fine
grain
12 factors
Circuit
breaker
Client LB
YP / Service
Registry
asynchronous
API first
API gateway
event driven
disposable
(12X)
chaos
engineering
CI/CD
Small iterations
Continuous refactoring
instant scale up
/ scale down
site reliability
engineering
Continuous
update / patch
Vault
External
config’s
Contract
Data services
abstractions
anti fragile
/
resiliency
product centric observability
SLO / SLI
Design
Security
Behavior
Team
Distributed
Architectures
Value via
communication
A map for Cloud-native patterns
12 factors
Circuit
breaker
Client LB
YP / Service
Registry
asynchronous
API gateway
event driven
disposable
(12X)
chaos
engineering
CI/CD
Small iterations
Continuous refactoring
instant scale up
/ scale down
site reliability
engineering
Continuous
update / patch
Vault
External
config’s
Contract
Data services
abstractions
anti fragile
/
resiliency
product centric observability
SLO / SLI
Design
Security
Behavior
Team
Distributed
Architectures
Value via
communication
Stateless
DDD /
Bounded
context / fine
grain
How to apply these patterns to your apps?
Demo app architecture
API Gateway
Spring Cloud Gateway
Frontend UI
Spring Boot + Vue.js
Users API
Spring Cloud
Connections API
Spring Cloud
Feeds API
Spring Cloud
Search API
Spring Cloud
Posts API
Spring Cloud
Service Discovery
Netflix Eureka
httpshttps
Cloud-native patterns in action
yatc.cfapps.io
API first
API as a product
➔ Design fine-grained APIs
◆ Balance between chatty and coarse-grained APIs
➔ Apply domain driven design, embrace bounded context principles
➔ Distributed architecture: a way to scale out your application workloads
➔ Composability: build your app from component parts
➔ Hide your microservices implementation using Spring Cloud Gateway
◆ Keep your public API stable, handle breaking changes with care
API gateway and Service discovery in action
API Gateway
Spring Cloud Gateway
Frontend UI
Spring Boot + Vue.js
Users API
Spring Cloud
Connections API
Spring Cloud
Feeds API
Spring Cloud
Search API
Spring Cloud
Posts API
Spring Cloud
Service Discovery
Netflix Eureka
httpshttps
Service discovery
Know where you are
➔ Leverage Spring Cloud to locate your services
◆ Pluggable DiscoveryClient extensions: Consul, Kubernetes, Netflix Eureka
➔ Think dynamic, not static: you may scale out your app (more instances), or scale to zero
➔ Build with resilience in mind: apply circuit breaker pattern
◆ You don’t know when a service is down
➔ Spring Cloud provides a high level platform abstraction
◆ WebClient / RestTemplate nicely fit with Netflix OSS, Resilience4j, Kubernetes
Scaling out your app
API Gateway
Spring Cloud Gateway
Frontend UI
Spring Boot + Vue.js
Users API
Spring Cloud
Connections API
Spring Cloud
Feeds API
Spring Cloud
Search API
Spring Cloud
Posts API
Spring Cloud
Service Discovery
Netflix Eureka
httpshttps
Me doing chaos monkey in production
Chaos engineering
“Organize” the chaos, Murphy’s law is coming! Or … Failure is normal !
➔ Disposability: get help from both your design and platform features
◆ Kill your app and wait for “scream”
◆ Let the platform recover your app and analyse what happens
◆ Scale out your app, kill a container and analyze what happens
➔ Test often, test early, break often, break early (tested last week …)
◆ Functional tests are not enough: the datacenter will burn
◆ More time to enhance your design
➔ Never trust the network
◆ “It was DNS” or the Load balancer or …
Observability & monitoring
Improved measures optimize mission effectiveness:
give sense, collect sense, shared sense
➔ Leverage out-of-the-box non-functional instruments
◆ Just add Spring Boot Actuator and Micrometer Prometheus Exporter
➔ Use tailored tools to scrape metrics
◆ Prometheus, Datadog, Dynatrace, Application Insights, Wavefront, etc.
➔ Create ad-hoc dashboards depending on who’s viewing it
◆ Build your own dashboard using Grafana
Exposing app metrics
API gateway
Spring Cloud Gateway
Frontend UI
Spring Boot + Vue.js
httpshttps
Prometheus
Database
Grafana
Dashboard
Demo
Monitoring apps with Prometheus/Grafana
Monitoring apps with Prometheus/Grafana
Monitoring gateway with Prometheus/Grafana
Spring Cloud Sleuth & .Net Core - OpenTracing combined
Cloud-native patterns seen as a “mille-feuille”
Methodology
Learn the necessary practices to
build modern software
Tools
Build with products focused on
developer productivity
Platform
Run every app, on every cloud,
on a unified platform
Cloud-native
software
Pivotal Labs and
Services
Pivotal Cloud Foundry
Best-in-class products
Your teams
Pivotal
Culture
Continually improve and deliver
customer success
Resources
Resources
➔ The 12 Factor App manifesto: 12factor.net
➔ Google Site Reliability Engineering: landing.google.com/sre/books
➔ Error budget: www.youtube.com/watch?v=lXPmh9Ap114
➔ How Improved Measures Optimize Mission Effectiveness white-paper
➔ Get the app source code: github.com/alexandreroman/yatc
➔ Chaos Monkey for Spring Boot codecentric.github.io/chaos-monkey-spring-boot
Tirage au sort - Des Google Nest Hub Charbon à gagner
Remplissez le formulaire d’évaluation avant 15h30
Transforming how the world builds software
© Copyright 2019 Pivotal Software, Inc. All rights Reserved.

More Related Content

PDF
Pivotal + Apigee Workshop (June 4th, 2019)
PPTX
Apigee Edge Overview and Roadmap
PDF
Apigee Edge: Intro to Microgateway
PDF
Deep Dive: Strategic Importance of BaaS
PPTX
How to Manage Microservices and APIs with Apigee and Istio
PDF
London Adapt or Die: Opening Keynot
PPTX
Adapt or Die: Serverless Microservices
PDF
Webcast: Deep-Dive Apigee Edge Microgateway
Pivotal + Apigee Workshop (June 4th, 2019)
Apigee Edge Overview and Roadmap
Apigee Edge: Intro to Microgateway
Deep Dive: Strategic Importance of BaaS
How to Manage Microservices and APIs with Apigee and Istio
London Adapt or Die: Opening Keynot
Adapt or Die: Serverless Microservices
Webcast: Deep-Dive Apigee Edge Microgateway

What's hot (20)

PDF
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
PDF
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
PPTX
Executing on API Developer Experience
PDF
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
PPTX
Digital Transformation: How leaders meet modern customer expectations
PPTX
Apigee Products Overview
PPTX
Transforming Your Business Through APIs
PPTX
Node.js - Extending the Programmability of Apigee Edge
PDF
End to End Testing: Bug Squashing for API Developers
PPTX
What is APIGEE? What are the benefits of APIGEE?
PPTX
Apigee Insights: Data & Context-Driven Actions
PDF
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
PDF
I Love APIs 2015: Apigee and Node.js Building Mock Backends Fast
PPTX
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
PPTX
Webcast: Apigee Edge Product Demo
PDF
A Checklist for Every API Call
PDF
Building a Digital Products Portfolio for Real Business Results
PDF
I Love APIs 2015: Scaling Mobile-focused Microservices at Verizon
PPTX
API Management and Kubernetes
PDF
Using containerization to enable your microservice architecture
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
Executing on API Developer Experience
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
Digital Transformation: How leaders meet modern customer expectations
Apigee Products Overview
Transforming Your Business Through APIs
Node.js - Extending the Programmability of Apigee Edge
End to End Testing: Bug Squashing for API Developers
What is APIGEE? What are the benefits of APIGEE?
Apigee Insights: Data & Context-Driven Actions
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Apigee and Node.js Building Mock Backends Fast
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
Webcast: Apigee Edge Product Demo
A Checklist for Every API Call
Building a Digital Products Portfolio for Real Business Results
I Love APIs 2015: Scaling Mobile-focused Microservices at Verizon
API Management and Kubernetes
Using containerization to enable your microservice architecture
Ad

Similar to Cloud-native Patterns (July 4th, 2019) (20)

PDF
Lattice: A Cloud-Native Platform for Your Spring Applications
PDF
Building Cloud Native Architectures with Spring
PPTX
"The Cloud Native Enterprise is Coming"
PDF
Cloud-native Data: Every Microservice Needs a Cache
PDF
The Beginner’s Guide To Spring Cloud
PDF
The Cloud Native Journey
PDF
Adopting the Cloud
PDF
Cloud-Native-Data with Cornelia Davis
PDF
Cloud-native Data
PDF
Cloud Native In-Depth
PDF
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
PPTX
Cloud to hybrid edge cloud evolution Jun112020.pptx
PDF
How to Architect and Develop Cloud Native Applications
PPTX
The Cloud Native Journey
PDF
Cloud Native Java Microservices
PPTX
The Cloud Native Journey with Simon Elisha
PPTX
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
PDF
The Need of Cloud-Native Application
PDF
Sre With Java Microservices Patterns For Reliable Microservices In The Enterp...
PPTX
Operating a High Velocity Large Organization with Spring Cloud Microservices
Lattice: A Cloud-Native Platform for Your Spring Applications
Building Cloud Native Architectures with Spring
"The Cloud Native Enterprise is Coming"
Cloud-native Data: Every Microservice Needs a Cache
The Beginner’s Guide To Spring Cloud
The Cloud Native Journey
Adopting the Cloud
Cloud-Native-Data with Cornelia Davis
Cloud-native Data
Cloud Native In-Depth
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud to hybrid edge cloud evolution Jun112020.pptx
How to Architect and Develop Cloud Native Applications
The Cloud Native Journey
Cloud Native Java Microservices
The Cloud Native Journey with Simon Elisha
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
The Need of Cloud-Native Application
Sre With Java Microservices Patterns For Reliable Microservices In The Enterp...
Operating a High Velocity Large Organization with Spring Cloud Microservices
Ad

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Cloud computing and distributed systems.
PDF
Electronic commerce courselecture one. Pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Empathic Computing: Creating Shared Understanding
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Advanced IT Governance
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
Approach and Philosophy of On baking technology
NewMind AI Weekly Chronicles - August'25 Week I
Spectral efficient network and resource selection model in 5G networks
Cloud computing and distributed systems.
Electronic commerce courselecture one. Pdf
Unlocking AI with Model Context Protocol (MCP)
Empathic Computing: Creating Shared Understanding
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Advanced IT Governance
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
NewMind AI Monthly Chronicles - July 2025
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
The AUB Centre for AI in Media Proposal.docx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
GamePlan Trading System Review: Professional Trader's Honest Take
Advanced methodologies resolving dimensionality complications for autism neur...
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Understanding_Digital_Forensics_Presentation.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”

Cloud-native Patterns (July 4th, 2019)

  • 1. © Copyright 2019 Pivotal Software, Inc. All rights Reserved. Cloud-native Patterns Didier Burkhalter Alexandre Roman Platform Architect Platform Architect @didierDIB @Alexandre_Roman July 4th, 2019
  • 2. Welcome to this session! Didier Burkhalter Platform Architect, Pivotal @didierDIB Alexandre Roman Platform Architect, Pivotal @Alexandre_Roman
  • 3. Cover w/ Image Agenda ■ Cloud-native patterns overview ■ Apply these patterns to your apps ■ Demo ■ Q+A during the lunch ;)
  • 5. A map for Cloud-native patterns Stateless DDD / Bounded context / fine grain 12 factors Circuit breaker Client LB YP / Service Registry asynchronous API first API gateway event driven disposable (12X) chaos engineering CI/CD Small iterations Continuous refactoring instant scale up / scale down site reliability engineering Continuous update / patch Vault External config’s Contract Data services abstractions anti fragile / resiliency product centric observability SLO / SLI Design Security Behavior Team Distributed Architectures Value via communication
  • 6. A map for Cloud-native patterns 12 factors Circuit breaker Client LB YP / Service Registry asynchronous API gateway event driven disposable (12X) chaos engineering CI/CD Small iterations Continuous refactoring instant scale up / scale down site reliability engineering Continuous update / patch Vault External config’s Contract Data services abstractions anti fragile / resiliency product centric observability SLO / SLI Design Security Behavior Team Distributed Architectures Value via communication Stateless DDD / Bounded context / fine grain
  • 7. How to apply these patterns to your apps?
  • 8. Demo app architecture API Gateway Spring Cloud Gateway Frontend UI Spring Boot + Vue.js Users API Spring Cloud Connections API Spring Cloud Feeds API Spring Cloud Search API Spring Cloud Posts API Spring Cloud Service Discovery Netflix Eureka httpshttps
  • 9. Cloud-native patterns in action yatc.cfapps.io
  • 10. API first API as a product ➔ Design fine-grained APIs ◆ Balance between chatty and coarse-grained APIs ➔ Apply domain driven design, embrace bounded context principles ➔ Distributed architecture: a way to scale out your application workloads ➔ Composability: build your app from component parts ➔ Hide your microservices implementation using Spring Cloud Gateway ◆ Keep your public API stable, handle breaking changes with care
  • 11. API gateway and Service discovery in action API Gateway Spring Cloud Gateway Frontend UI Spring Boot + Vue.js Users API Spring Cloud Connections API Spring Cloud Feeds API Spring Cloud Search API Spring Cloud Posts API Spring Cloud Service Discovery Netflix Eureka httpshttps
  • 12. Service discovery Know where you are ➔ Leverage Spring Cloud to locate your services ◆ Pluggable DiscoveryClient extensions: Consul, Kubernetes, Netflix Eureka ➔ Think dynamic, not static: you may scale out your app (more instances), or scale to zero ➔ Build with resilience in mind: apply circuit breaker pattern ◆ You don’t know when a service is down ➔ Spring Cloud provides a high level platform abstraction ◆ WebClient / RestTemplate nicely fit with Netflix OSS, Resilience4j, Kubernetes
  • 13. Scaling out your app API Gateway Spring Cloud Gateway Frontend UI Spring Boot + Vue.js Users API Spring Cloud Connections API Spring Cloud Feeds API Spring Cloud Search API Spring Cloud Posts API Spring Cloud Service Discovery Netflix Eureka httpshttps
  • 14. Me doing chaos monkey in production
  • 15. Chaos engineering “Organize” the chaos, Murphy’s law is coming! Or … Failure is normal ! ➔ Disposability: get help from both your design and platform features ◆ Kill your app and wait for “scream” ◆ Let the platform recover your app and analyse what happens ◆ Scale out your app, kill a container and analyze what happens ➔ Test often, test early, break often, break early (tested last week …) ◆ Functional tests are not enough: the datacenter will burn ◆ More time to enhance your design ➔ Never trust the network ◆ “It was DNS” or the Load balancer or …
  • 16. Observability & monitoring Improved measures optimize mission effectiveness: give sense, collect sense, shared sense ➔ Leverage out-of-the-box non-functional instruments ◆ Just add Spring Boot Actuator and Micrometer Prometheus Exporter ➔ Use tailored tools to scrape metrics ◆ Prometheus, Datadog, Dynatrace, Application Insights, Wavefront, etc. ➔ Create ad-hoc dashboards depending on who’s viewing it ◆ Build your own dashboard using Grafana
  • 17. Exposing app metrics API gateway Spring Cloud Gateway Frontend UI Spring Boot + Vue.js httpshttps Prometheus Database Grafana Dashboard
  • 18. Demo
  • 19. Monitoring apps with Prometheus/Grafana
  • 20. Monitoring apps with Prometheus/Grafana Monitoring gateway with Prometheus/Grafana
  • 21. Spring Cloud Sleuth & .Net Core - OpenTracing combined
  • 22. Cloud-native patterns seen as a “mille-feuille” Methodology Learn the necessary practices to build modern software Tools Build with products focused on developer productivity Platform Run every app, on every cloud, on a unified platform Cloud-native software Pivotal Labs and Services Pivotal Cloud Foundry Best-in-class products Your teams Pivotal Culture Continually improve and deliver customer success
  • 24. Resources ➔ The 12 Factor App manifesto: 12factor.net ➔ Google Site Reliability Engineering: landing.google.com/sre/books ➔ Error budget: www.youtube.com/watch?v=lXPmh9Ap114 ➔ How Improved Measures Optimize Mission Effectiveness white-paper ➔ Get the app source code: github.com/alexandreroman/yatc ➔ Chaos Monkey for Spring Boot codecentric.github.io/chaos-monkey-spring-boot
  • 25. Tirage au sort - Des Google Nest Hub Charbon à gagner Remplissez le formulaire d’évaluation avant 15h30
  • 26. Transforming how the world builds software © Copyright 2019 Pivotal Software, Inc. All rights Reserved.