SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
© 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.

Contenu connexe

Tendances

I Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile PlatformI Love APIs 2015: Implementing an API Tier to Enable a New Mobile Platform
I Love APIs 2015: Implementing an API Tier to Enable a New Mobile PlatformApigee | Google Cloud
 
I Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for DevelopersI Love APIs 2015: End to End Testing: Bug Squashing for Developers
I Love APIs 2015: End to End Testing: Bug Squashing for DevelopersApigee | Google Cloud
 
Executing on API Developer Experience
Executing on API Developer Experience Executing on API Developer Experience
Executing on API Developer Experience SmartBear
 
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop
I Love APIs 2015: Advanced Crash Course in Apigee Edge Workshop Apigee | Google Cloud
 
Digital Transformation: How leaders meet modern customer expectations
Digital Transformation: How leaders meet modern customer expectationsDigital Transformation: How leaders meet modern customer expectations
Digital Transformation: How leaders meet modern customer expectationsApigee | Google Cloud
 
Transforming Your Business Through APIs
Transforming Your Business Through APIsTransforming Your Business Through APIs
Transforming Your Business Through APIsApigee | Google Cloud
 
Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge Apigee | Google Cloud
 
End to End Testing: Bug Squashing for API Developers
End to End Testing: Bug Squashing for API Developers End to End Testing: Bug Squashing for API Developers
End to End Testing: Bug Squashing for API Developers Apigee | Google Cloud
 
What is APIGEE? What are the benefits of APIGEE?
What is APIGEE? What are the benefits of APIGEE?What is APIGEE? What are the benefits of APIGEE?
What is APIGEE? What are the benefits of APIGEE?IQ Online Training
 
Apigee Insights: Data & Context-Driven Actions
Apigee Insights: Data & Context-Driven ActionsApigee Insights: Data & Context-Driven Actions
Apigee Insights: Data & Context-Driven ActionsApigee | Google Cloud
 
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopI Love APIs 2015: Crash Course Foundational Topics in Apigee Edge Workshop
I Love APIs 2015: Crash Course Foundational Topics in Apigee Edge WorkshopApigee | Google Cloud
 
I Love APIs 2015: Apigee and Node.js Building Mock Backends Fast
I Love APIs 2015: Apigee and Node.js Building Mock Backends FastI Love APIs 2015: Apigee and Node.js Building Mock Backends Fast
I Love APIs 2015: Apigee and Node.js Building Mock Backends FastApigee | Google Cloud
 
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD StoryLondon Adapt or Die: Kubernetes, Containers and Cloud - The MoD Story
London Adapt or Die: Kubernetes, Containers and Cloud - The MoD StoryApigee | Google Cloud
 
Building a Digital Products Portfolio for Real Business Results
Building a Digital Products Portfolio for Real Business ResultsBuilding a Digital Products Portfolio for Real Business Results
Building a Digital Products Portfolio for Real Business ResultsApigee | Google Cloud
 
I Love APIs 2015: Scaling Mobile-focused Microservices at Verizon
I Love APIs 2015: Scaling Mobile-focused Microservices at VerizonI Love APIs 2015: Scaling Mobile-focused Microservices at Verizon
I Love APIs 2015: Scaling Mobile-focused Microservices at VerizonApigee | Google Cloud
 
Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture Apigee | Google Cloud
 

Tendances (20)

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

Similaire à Cloud-native Patterns (July 4th, 2019)

Resilient Microservices with Spring Cloud
Resilient Microservices with Spring CloudResilient Microservices with Spring Cloud
Resilient Microservices with Spring CloudVMware Tanzu
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...Srijan Technologies
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...Ludovic Piot
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native BootcampVMware Tanzu
 
Improving Your Company’s Health with Middleware Takeout
Improving Your Company’s Health with Middleware TakeoutImproving Your Company’s Health with Middleware Takeout
Improving Your Company’s Health with Middleware TakeoutVMware Tanzu
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los AngelesVMware Tanzu
 
An introduction to Serverless
An introduction to ServerlessAn introduction to Serverless
An introduction to ServerlessAdrien Blind
 
Best Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
Best Practices for Building Hybrid-Cloud Architectures | Hans JespersenBest Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
Best Practices for Building Hybrid-Cloud Architectures | Hans Jespersenconfluent
 
Using cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUni Systems S.M.S.A.
 
Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open SourceAll Things Open
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architecturesnine
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetessparkfabrik
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...NETWAYS
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootVMware Tanzu
 
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby AnandanPivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby AnandanPivotalOpenSourceHub
 
Cluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards KubernetesCluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards KubernetesQAware GmbH
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSAOracle Korea
 
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)VMware Tanzu
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonVMware Tanzu
 

Similaire à Cloud-native Patterns (July 4th, 2019) (20)

Resilient Microservices with Spring Cloud
Resilient Microservices with Spring CloudResilient Microservices with Spring Cloud
Resilient Microservices with Spring Cloud
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
 
Improving Your Company’s Health with Middleware Takeout
Improving Your Company’s Health with Middleware TakeoutImproving Your Company’s Health with Middleware Takeout
Improving Your Company’s Health with Middleware Takeout
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
An introduction to Serverless
An introduction to ServerlessAn introduction to Serverless
An introduction to Serverless
 
Best Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
Best Practices for Building Hybrid-Cloud Architectures | Hans JespersenBest Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
Best Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
 
Using cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformation
 
Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open Source
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architectures
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
 
The Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian CockcroftThe Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian Cockcroft
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby AnandanPivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
Pivoting Spring XD to Spring Cloud Data Flow with Sabby Anandan
 
Cluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards KubernetesCluster-as-code. The Many Ways towards Kubernetes
Cluster-as-code. The Many Ways towards Kubernetes
 
SpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSASpringBoot and Spring Cloud Service for MSA
SpringBoot and Spring Cloud Service for MSA
 
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
 

Dernier

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Dernier (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

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.