SlideShare ist ein Scribd-Unternehmen logo
1 von 73
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
Richard Banks
 
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
 

Was ist angesagt? (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
 

Ähnlich wie 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 Richardson
JAXLondon2014
 
Azure Overview Csco
Azure Overview CscoAzure Overview Csco
Azure Overview Csco
rajramab
 

Ähnlich wie 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
 

Mehr von Roy Braam

Mehr von 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
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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...
 

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

Hinweis der Redaktion

  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?