SlideShare uma empresa Scribd logo
1 de 73
Baixar para ler offline
WelcomeClick to edit Master subtitle style
Migrating a Java platform to the
cloud
With Java- SpringBoot and PCF
@rbraam6/20/2019
Roy Braam
Context
@Rabobank
On-prem environment
Linux box
Portal Framework
Shared libraries (API's)
AppApp
App
App App
App
AppPlugins App
IBM Websphere Application Server
/*
2008 - 2019
2 mln
Logins / day
3000
Req. / second
150+
Teams
400+
Applications
Very stable and controlled environment.
Why do we need to move to a new one?
Move on
Ageing technology
Scalability limits
DevOps teams
Time to market
IBM Websphere Application Server
Linux box
Edge Service
AppApp
App
App App
App
App App
User
Profile
Page Render
User
Preference
State
Store
VCM
Gateway
/* Portal Framework
Plugins
Shared libraries (API's)
Edge Service
User
Profile
App
App
App
AppApp
Page Render
App
App
/*
User
Preference
State
Store
VCM
Gateway
Simplicity
MyApp
Azure public cloud
Pivotal Cloud Foundry
Container Container
MyAppMyApp
Routingcf push myApp
cf scale myApp -i 2
Provide migration paths
Reduce time to marketKeeping the shop open
Similar functionalities
'Secondary objectives'
DevOps in control
PCF
Pivotal Cloud Foundry
PCF & RaboBank
Public cloud
Preferred solution for application workloads
No containerization by teams
Promise simplicity
Teams build, platform runs it
Independent teams
Large scale (~300 teams)
Maintainable (3-6 operators)
CF Application Runtime
Cloud Foundry Application Runtime User Interfaces
Router
Cloud Controller
Diegocell Diegocell
Garden Garden
cf CLI
GUI Application Manager
cf push myApp
cf scale myApp -i 2
$
$
What can go wrong !?
Cultural change
and change is hard...
With freedom comes responsibility.
Freedom makes a huge requirement of every
human being.
For the person who is unwilling to grow up,
the person who does not want to carry his
own weight, this is a frightening prospect.
Eleanor Roosevelt
With freedom comes responsibility.
Freedom makes a huge requirement of every
DevOps team.
For the team who is unwilling to grow up, the
team who does not want to carry its own
weight, this is a frightening prospect.
Some of our favourite experiences/quotes
“We need certificates to connect to these on-
premises services, can you please send your
certificates to us?“
“In my (stateless) microservice I want to store
a file on the running instance, how can I
access it and serve it to a customer in the next
request?”
“So, every team can deploy their own service
to production. Why do we want that, it sounds
very insecure!
Why do we want this microservice /
independent team thing again?”
“I'm told that in a Microservice environment I
should spin up an instance per
thread/request. How can I configure the
autoscaler to do that”
Help
Cloud/PCF seminars
Microservice Guild
Weekly 'Walk-in cloud'
Enablement teams
Tooling for automation
Confluence Questions
Chat rooms for Q&A
Documentation (opinionated)
EdgeService strategy
Living on the Edge
Edge Service?
EdgeService
Domain X
Domain Y
Domain Z
Microservice-D
Microservice-E
Microservice-A
Microservice-C
Microservice-B
<headers>
<headers>
<headers>
<headers>
<headers>
domain : banking
context : /api/balance
userType : customer
authLevel: 2-factor
service : balance
Balance
service
User registry
Edge
service
URL
registry
banking.rabobank.com
/api/balance
authenticate
dispatch
balance.pcf-apps.rabobank.nl
/refresh
Edge Service
Edge Service
URL
registry
Config
Server
Edge
service
Edge
service
Edge
service
Team
URL
Design
Authority
Edge
service
User Authorization URL Governance Red Button Hiding endpoints
CSRF Protection Circuit Breaking Cache headers
Edge Service
A/B Routing
Single point of failure?
Actually, we don't...
Edge
ServiceEdge
ServiceEdge
ServiceEdge
Service
Edge
ServiceEdge
ServiceEdge
ServiceEdge
Service
API Service calls
Client Logging
Developers are human
Prevent URL
Protect from overload
Edge Service implementation
First implementation
2017 - 2018
Zuul 1
Spring Boot 1.5.x (MVC)
Spring Cloud Zuul
Hystrix
Config Server
Micrometer
Second implementation
2019 - now
Spring Boot 2.x (WebFlux)
Spring Cloud Gateway
Hystrix (and others)
Config Server
Micrometer
Why refactoring within a year
Scale in requests
Number of routes
Memory of hystrix circuits
Thread pools (thread per request)
Performance
Zuul 1 in maintenance mode
Why Spring Cloud Gateway
+ Zuul 2 not yet open sourced
+ Spring Core Team: SCG the next thing
+ Good integration with PCF
- Not (yet) proven technology
Own routing 'domain'
- id: "distribution-agreement"
type: "SERVICE"
routes:
- target-host: "distribution-agreement"
external-hosts:
- "bankieren"
- "api"
- target-host: "distribution-agreement-verificatie"
external-hosts:
- "bankieren-verificatie"
path-patterns:
- external: "/customer/distribution-agreement"
internal: "/"
allowed-methods:
- "GET"
allowed-users:
- type: "CUSTOMER"
level: 2
Lessons learned
Be patient with new solutions
Reactive is more resilient
Reactive is as easy as.... Reactive
Test, test and test
Monitor
Canary release
Share your story
Accept doing things twice
Automation
Infra as code
CF in Azure
On-premise
PCF-productionTeam
VM
Concourse
GIT
team-space
JIRA
Infrastructure as code
PR
CI/CD
Deliver! Deliver! Deliver!
Edge Service
User Profile
Customer name
ROCS pipeline library
Jenkins pipeline as code
ROCS pipeline library - Example
ROCS pipeline library - Example
https://martinfowler.com/bliki/BlueGreenDeployment.html - March 2010
Blue APP
Green APP
Blue APP
Green APP
CF prod in Azure
Blue green deployment - zero downtime
Automates
Build
Deployments of apps
Creation of services
SM9 (auditing)
Blue-Green
Smoke tests
Notifications to different channels
Four eyes principle
Testing strategies
How to test a microservice?
#0
#0
#1
master
develop
feature x #2 #3 #4
#6
#7
#5
PR
PR
Testing strategies - our git flow
feature x Config
Server
Redis Stub Service A Stub Service B
Edge
service
Testing strategies - feature branch
develop
Config
Server
Redis Stub Service A Stub Service B
Edge
service
Testing strategies - develop branch
master
Stub Service A Stub Service B
Edge
service
Testing strategies - master branch
Customer
name
Edge
service
CF in AzureCF in Azure
Active - Active
Extreme testing - Chaos Harry
Bloopers
Learning the hard way
05-05-2017 10:09
Platform update - VM
Cloud Foundry Application Runtime
Router
Cloud Controller
Diegocell Diegocell
Garden Garden
Diegocell
Garden
Diegocell
Garden
Cloud Foundry Application Runtime
Platform update - Instance
Router
Cloud Controller
Diegocell
Garden
Diegocell
Garden
Diegocell
Garden
Edge Service Config
Cloud Foundry Application Runtime
Router
Cloud Controller
Diegocell Diegocell
Garden Garden
Cloud Foundry Services
On-premises
Config Server
GIT
Actions
Platform health check
Packaged fallback config
Always expect a restart
Be resillience
Also set low request thresholds
Lessons learned
Lessons learned
Microservice is hard, easy and fast
Independent
Own your service
Release early, deploy often
Automate everything
Learning on the job
Fun
Get help
Culture change
Be resilient
Next challenges
What is next
Next...
Page rendering
A/B Testing
Canary releases
Service-mesh with Istio
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF

Mais conteúdo relacionado

Mais procurados

Java micro-services
Java micro-servicesJava micro-services
Java micro-servicesJames Lewis
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App ServicesDamir Dobric
 
Agile Development From A Developers Perspective
Agile Development From A Developers PerspectiveAgile Development From A Developers Perspective
Agile Development From A Developers PerspectiveRichard Banks
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Kim Clark
 
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a CometDDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a CometRichard Banks
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Chris Richardson
 
성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택uEngine Solutions
 
SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!Sam Basu
 
Real time web applications with SignalR (BNE .NET UG)
Real time web applications with SignalR (BNE .NET UG)Real time web applications with SignalR (BNE .NET UG)
Real time web applications with SignalR (BNE .NET UG)brendankowitz
 
REST and Microservices
REST and MicroservicesREST and Microservices
REST and MicroservicesShaun Abram
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETMarcin Tyborowski
 
Beginning Microservices with .NET & RabbitMQ
Beginning Microservices with .NET & RabbitMQBeginning Microservices with .NET & RabbitMQ
Beginning Microservices with .NET & RabbitMQPaul Mooney
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .NetRichard Banks
 
Microservices architecture examples
Microservices architecture examplesMicroservices architecture examples
Microservices architecture examplesChanny Yun
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developersDaniel Krook
 

Mais procurados (20)

Java micro-services
Java micro-servicesJava micro-services
Java micro-services
 
sMash_for_zOS-users
sMash_for_zOS-userssMash_for_zOS-users
sMash_for_zOS-users
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App Services
 
Agile Development From A Developers Perspective
Agile Development From A Developers PerspectiveAgile Development From A Developers Perspective
Agile Development From A Developers Perspective
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a CometDDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
DDD Sydney 2011 - Getting out of Sync with IIS and Riding a Comet
 
Metaworks4 intro
Metaworks4 introMetaworks4 intro
Metaworks4 intro
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
 
성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택
 
An introduction to Cloud Foundry
An introduction to Cloud FoundryAn introduction to Cloud Foundry
An introduction to Cloud Foundry
 
SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!
 
Real time web applications with SignalR (BNE .NET UG)
Real time web applications with SignalR (BNE .NET UG)Real time web applications with SignalR (BNE .NET UG)
Real time web applications with SignalR (BNE .NET UG)
 
REST and Microservices
REST and MicroservicesREST and Microservices
REST and Microservices
 
Api Management with Service Mesh
Api Management with Service MeshApi Management with Service Mesh
Api Management with Service Mesh
 
Clean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NETClean up this mess - API Gateway & Service Discovery in .NET
Clean up this mess - API Gateway & Service Discovery in .NET
 
Beginning Microservices with .NET & RabbitMQ
Beginning Microservices with .NET & RabbitMQBeginning Microservices with .NET & RabbitMQ
Beginning Microservices with .NET & RabbitMQ
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
Microservices architecture examples
Microservices architecture examplesMicroservices architecture examples
Microservices architecture examples
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 

Semelhante a Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF

Developing Applications with a Micro Service Architecture - Chris Richardson
Developing Applications with a Micro Service Architecture - Chris RichardsonDeveloping Applications with a Micro Service Architecture - Chris Richardson
Developing Applications with a Micro Service Architecture - Chris RichardsonJAXLondon2014
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewChip Childers
 
Spring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasSpring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasVMware Tanzu
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...confluent
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonVMware Tanzu
 
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)DOCOMO Innovations, Inc.
 
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
 
Service Provider Architectures for Tomorrow by Chow Khay Kid
Service Provider Architectures for Tomorrow by Chow Khay KidService Provider Architectures for Tomorrow by Chow Khay Kid
Service Provider Architectures for Tomorrow by Chow Khay KidMyNOG
 
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...Vadym Kazulkin
 
VMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO MagazineVMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO MagazineAl Sargent
 
Spring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application ServiceSpring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application ServiceVMware Tanzu
 
Azure Overview Csco
Azure Overview CscoAzure Overview Csco
Azure Overview Cscorajramab
 
[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
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREAraf Karsh Hamid
 
Overview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integrationOverview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integrationBizTalk360
 
Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Chris Richardson
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathonaaronwso2
 
Building event-driven (Micro)Services with Apache Kafka Ecosystem
Building event-driven (Micro)Services with Apache Kafka EcosystemBuilding event-driven (Micro)Services with Apache Kafka Ecosystem
Building event-driven (Micro)Services with Apache Kafka EcosystemGuido Schmutz
 

Semelhante a Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF (20)

Developing Applications with a Micro Service Architecture - Chris Richardson
Developing Applications with a Micro Service Architecture - Chris RichardsonDeveloping Applications with a Micro Service Architecture - Chris Richardson
Developing Applications with a Micro Service Architecture - Chris Richardson
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
 
Spring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasSpring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour Dallas
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - Boston
 
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
 
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
 
Service Provider Architectures for Tomorrow by Chow Khay Kid
Service Provider Architectures for Tomorrow by Chow Khay KidService Provider Architectures for Tomorrow by Chow Khay Kid
Service Provider Architectures for Tomorrow by Chow Khay Kid
 
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
FaaS or not to FaaS. Visible and invisible benefits of the Serverless paradig...
 
VMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO MagazineVMware vFabric - Webinar with CIO Magazine
VMware vFabric - Webinar with CIO Magazine
 
Spring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application ServiceSpring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application Service
 
Azure Overview Csco
Azure Overview CscoAzure Overview Csco
Azure Overview Csco
 
[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...
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Overview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integrationOverview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integration
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)Developing applications with a microservice architecture (svcc)
Developing applications with a microservice architecture (svcc)
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon
 
Cloud APIs Overview Tucker
Cloud APIs Overview   TuckerCloud APIs Overview   Tucker
Cloud APIs Overview Tucker
 
Building event-driven (Micro)Services with Apache Kafka Ecosystem
Building event-driven (Micro)Services with Apache Kafka EcosystemBuilding event-driven (Micro)Services with Apache Kafka Ecosystem
Building event-driven (Micro)Services with Apache Kafka Ecosystem
 

Mais de Roy Braam

Happy Developers write better code
Happy Developers write better codeHappy Developers write better code
Happy Developers write better codeRoy Braam
 
End-2-End test environments, a dead End road
End-2-End test environments, a dead End roadEnd-2-End test environments, a dead End road
End-2-End test environments, a dead End roadRoy Braam
 
What being a Sensei taught me about improving
What being a Sensei taught me about improvingWhat being a Sensei taught me about improving
What being a Sensei taught me about improvingRoy Braam
 
End-to-End test architectures, a dead End road
End-to-End test architectures, a dead End roadEnd-to-End test architectures, a dead End road
End-to-End test architectures, a dead End roadRoy Braam
 
End-to-End test architectures, a dead End road
End-to-End test architectures, a dead End roadEnd-to-End test architectures, a dead End road
End-to-End test architectures, a dead End roadRoy Braam
 
Easily find your conference pictures using the power of the cloud
Easily find your conference pictures using the power of the cloudEasily find your conference pictures using the power of the cloud
Easily find your conference pictures using the power of the cloudRoy Braam
 
End-to-End test environments, a dead End road
End-to-End test environments, a dead End roadEnd-to-End test environments, a dead End road
End-to-End test environments, a dead End roadRoy Braam
 

Mais de Roy Braam (7)

Happy Developers write better code
Happy Developers write better codeHappy Developers write better code
Happy Developers write better code
 
End-2-End test environments, a dead End road
End-2-End test environments, a dead End roadEnd-2-End test environments, a dead End road
End-2-End test environments, a dead End road
 
What being a Sensei taught me about improving
What being a Sensei taught me about improvingWhat being a Sensei taught me about improving
What being a Sensei taught me about improving
 
End-to-End test architectures, a dead End road
End-to-End test architectures, a dead End roadEnd-to-End test architectures, a dead End road
End-to-End test architectures, a dead End road
 
End-to-End test architectures, a dead End road
End-to-End test architectures, a dead End roadEnd-to-End test architectures, a dead End road
End-to-End test architectures, a dead End road
 
Easily find your conference pictures using the power of the cloud
Easily find your conference pictures using the power of the cloudEasily find your conference pictures using the power of the cloud
Easily find your conference pictures using the power of the cloud
 
End-to-End test environments, a dead End road
End-to-End test environments, a dead End roadEnd-to-End test environments, a dead End road
End-to-End test environments, a dead End road
 

Último

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 

Último (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 

Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF

Notas do Editor

  1. GOOD MORNING EVERYONE How many of you have worked in a Bank? Production and bank regulation - Public cloud - Old on-prem env. takes 4 ours with a lot of automation - Here we are, multiple times a day, 10 minutes - Demonstrated internal conf. 1 hour production - Looking back, what, bank/tech - Thanks, lots of quality talks to choose
  2. - Solution Architect for teams responsible for the core backend services in the online platform -
  3. From, what, to
  4. - Realy focussing on moving to the cloud
  5. On prem, nothing special Own portal impl Modular monolith Our teams responsible for orange blocks We monitor and serve it
  6. - 11y served us well - Almost no disruptance
  7. Aging Technology: Topics during conferences. Could not choose fitting technologie Scaling: Lots of effort to scale PCF: Per microservice and on platform level DevOps: Not only say we are doing devops Deploy independent to production. When we deploy no other team can do it Need to be fast Deliver!
  8. From this, to: This
  9. Explain EdgeService later Orange is ROCS On the ROCS, shaken not Stirred (dr. No 1962)
  10. Let the platform run it Focus on building functionality Fintan Ryan: Senior research Director and analyst new platform ~30teams. !!!(10 min)
  11. Some secundary subjects
  12. 10 min Let me first describe PCF a bit.
  13. Putting it in the public cloud (Got adobted as a Rabobank Strategy) Keep it simple Focus on delivering functionality Independent teams
  14. Brief overview of PCF runtime Router for traffic Cloud Controller for communicating with CF Diegocells each on separate cloud VM When an app is deployed, route is created and the Router knows where to find the instances
  15. 15 min Not only tech change, also cult.
  16. What can go wrong
  17. We use this quote a lot Autobiograpy "you learn by living(1960)" Devops teams
  18. What is cost of freedom, moving away controlled env.
  19. And a lot more...
  20. Don't take this personal if your qoute is in here Not going to say which ones are my own...
  21. It's like passport border control
  22. Stateless Instances, rolling upgrades.
  23. Security intake.
  24. Teams asking for help
  25. (15 minutes)
  26. 20 min One of the things we did from the start is implement an EdgeService strategy Common Edgeservice strategy
  27. It is a seperation between outside and inside. Directing inbound trafic to the correct components - inspect and judge traffic - Do things ones, and pass information in headers to downstream services - Implement security and authorization
  28. From outside not able to connect to health endpoints Some intake on urls, automate.
  29. Takes less than 5 minutes to update
  30. User Authorization: Check if the (logged in) user is allowed to access a service with the requested HTTP methods Governance: multiple departments, multiple business domains, but the same web domain. Where we want governance on the exposed API's Red button: An emergengy button to disable inbound traffic to a certain service and minimize damage. Circuit Breaking per route. Breathing space and fail fast. Control over the endpoints to expose Setting default headers when not set, for example caching. Cross Site Reference Forcery Rate limit
  31. You are talking about independent teams etc. Why are you introducing a single piont of failure?
  32. - Not 1 instance but multiple (currently 4) - Not 1 application deployed, but isolated environments for flows - And those are also scaled - Multiple regions and/or availability zones
  33. - Because developers are human and might forget something I know, everybody in this room never makes mistakes, but there is also a world outside this room
  34. - Everybody thinks about URL naming right? - Nice, full rest urls, with resource names and HTTP Methods etc. - Separation between URL design and implementation - Good rules cross domains. - Governance on the URLs we expose as the domain of the bank - Following the URL API guildelines from the Rabobank. - Automated as much as possible
  35. - Circuitbreaker to allow broken services to recover - Rate limit Stop traffic to service when disfunctions (red-button) This reduces time to market along with automation
  36. 30 minutes
  37. Only left the configuration and test cases intact.
  38. We did a lot of tests, also future expectations Microservices are like toilet paper
  39. Vice President Strategy Pivotal
  40. Realy simple service
  41. Lessons learned going from zuul to SCG
  42. 35 - 40 minutes We can only go to production within one hour if we abuse automation
  43. Panzer team is only 3 people to manage all the pcf environments! Less then 15 m later we have access
  44. 40 minutes
  45. Duplication initially and we knew we had to remove it later Then we created ROCS pipeline library!!!! Rabobank Online Cloud Services Or Core as some might call it… Community driven library
  46. Each change in production needs to be registered in our ticketing system (SM9) and that is mandatory. We took a lot of effort to automate this part. Withoutdown time will be explained in the next slide
  47. Verification route is available in a production environment All interactions are made through Jenkins pipeline using a functional account With this we can deploy fast to production, but what about the quality of what we deliver?
  48. From nothing to production in one hour is possible due to PCF in the public cloud - 15m Edge Service to be able to expose our features to the customers through an automated process - 15m DONE ONCE After the initial set up you only need the CI/CD that takes us 10minutes
  49. Presented this a year ago on a big internal seminar @ Rabobank
  50. 45minutes Testing will allow us to increase quality )
  51. Why we have two PR’s? I will explain in the next slides
  52. - Stub all dependencies - Test in ISOLATION - No dependency on infrastructure or network
  53. Draw two pcf foundations and how we stop one region and things should still continue working We do this quite often and everything runs fine but sometimes applications fail 50% or never work since they deployed them manually
  54. 50 minutes
  55. 60 minutes
  56. From nothing to production in one hour is possible due to PCF in the public cloud - 15m Edge Service to be able to expose our features to the customers through an automated process - 15m DONE ONCE After the initial set up you only need the CI/CD that takes us 10minutes
  57. - Mention Service Mesh - ISTIO?