SlideShare a Scribd company logo
#jspring
Vincent Oostindië - 31-05-2018
A journey from Java EE to
Cloud Native microservices
Rabobank Internet Banking versus
Rabobank Online, web and app
2
Rabobank’s Online Platform 2008 - 2018
3
Load
Balancer
deployment unit
Linux box
Linux box
WAS / Linux
deployment unit
Linux box
Linux box
WAS / Linux
Simple setup
Session state
Sticky load balancing
Multiple domains & sites
Independent units & boxes
Easily scales horizontally
Linux
Rabobank’s Online Platform 2008 - 2018
4
IBM WebSphere Application Server
App
Shared Libraries (API’s)
App App App
Portal Framework App App
Plugins
/*
Everything in-JVM: super fast
Portlets
Page rendering
In parallel
Services
Endpoint mapping
Access control
User profile
User preferences
Throttling
Monitoring
Generic functionality
It’s been a great ride so far…
5
7
Deployment units
400+
Applications
2100
TPS, easily
2 mln
Logons per day
And very few significant disturbances!
…but the time has come to move on!
6
3 main drivers
Scalability limits DevOpsAging technology
Our future is in microservices, but…
7
…how are we going to
scale out?
deploy
run
monitor
operate
We need a microservices platform!
8
2016 2017
Research
Build our own
PaaS
Proof of Concept
Selection
Implementation
late 2015 01-01-2018
We’ve selected Pivotal Cloud Foundry
9(Oh, and by the way, it runs in public cloud)
As the microservices platform for the Rabobank as a whole
Lessons learned
10
We’re not in the
platform business
Developers come first Pick the right abstraction
On picking the right abstraction
11
Abstraction
Flexibility
Containers
Apps
VM’s
Functions We believe that 84.962% of
the DevOps teams, building
microservices, should
operate on this level.
Public Cloud
Pivotal Cloud Foundry
container
Our promise: simplicity
12
MyApp
cf push myApp
cf scale myApp -i 2 MyApp
container
MyApp
myapp.pcf-apps.rabobank.nl
How to migrate the Online Platform?
13
Two distinct tracks
Linux box
IBM WebSphere Application Server
App
Shared Libraries (API’s)
App App App
Portal Framework App App
Plugins
Apps
Portal Framework
Migrating apps step 1 of 2:
Logical services in separate EARs
14
EAR 1
Portal Framework
Transactions Accounts Payments
EAR 2
Addresses Orders
Portal Framework
Transaction
Service
Account
Service
Payment
Order Service
Credit Card
Service
Address
Service
15
Portal Framework
Transaction
Service
Account
Service
Payment
Order Service
Credit Card
Service
Address
Service
Migrating apps step 2 of 2:
Creating real microservices on PCF
Transaction
Service
Account
Service
Payment
Order
Service
Credit Card
Service
Address
Service
Real team autonomy! But also: many new challenges…
Migrating the portal framework:
Breaking down the monolith
16
Access control
Throttling
Monitoring
Page rendering
Portlets
Services
User profile
User preferences
Endpoint
mapping
…
…
…
…
…
…
…
Migrating the portal framework:
Breaking down the monolith
17
Proxy
Trash
Library
Microservice
Internet access / Security layer / Single-sign on / API management
The Rabobank Online Cloud Services
18
Public web Secure web APIs
Pivotal Cloud Foundry
Edge routing
User preferences
User & product
services
Virtual channel
monitoring
Employee
services
Page rendering Session store
Apps Internal web
Edge routing
19
URL
governance
Defense in
depth
CSRF
protection
Red button
procedure
User
authentication
Expose the externally accessible parts of services through
governed external URLs, but only if it is safe to do so
Edge routing
20
BalanceEdge router
External
Internal
/actuator
lookup
URL
registry
User registry
authenticate
/api/balance: balance
balance: customer, level 2
…
balance: enabled
bankieren.rabobank.nl
/api/balance balance.pcf-apps.rabobank.nl
forward
Edge router technology stack
21
Proud to be part!
22
70+
Teams
600+
Instances
And growing fast!
As of May 2018
Please rate this session
in the J-Spring app
#jspring

More Related Content

What's hot

Cloud-Native Roadshow - Solace - Atlanta
Cloud-Native Roadshow - Solace - AtlantaCloud-Native Roadshow - Solace - Atlanta
Cloud-Native Roadshow - Solace - Atlanta
VMware Tanzu
 
Solace Messaging for Open Data Movement
Solace Messaging for Open Data MovementSolace Messaging for Open Data Movement
Solace Messaging for Open Data Movement
VMware Tanzu
 
A Lap Around the Windows Azure AppFabric
A Lap Around the Windows Azure AppFabricA Lap Around the Windows Azure AppFabric
A Lap Around the Windows Azure AppFabric
Wade Wegner
 
Web services for remote portlets v01
Web services for remote portlets v01Web services for remote portlets v01
Web services for remote portlets v01
prabakaranbrick
 
Why Integrate using an API? | MuleSoft
Why Integrate using an API? | MuleSoftWhy Integrate using an API? | MuleSoft
Why Integrate using an API? | MuleSoft
Bui Kiet
 
Development using anypointstudio
Development using anypointstudioDevelopment using anypointstudio
Development using anypointstudio
himajareddys
 
TUG Presentation - 1/25/17
TUG Presentation - 1/25/17TUG Presentation - 1/25/17
TUG Presentation - 1/25/17
Grey Wolf Systems
 
apidays LIVE Jakarta - REST the events: REST APIs for Event-Driven Architectu...
apidays LIVE Jakarta - REST the events: REST APIs for Event-Driven Architectu...apidays LIVE Jakarta - REST the events: REST APIs for Event-Driven Architectu...
apidays LIVE Jakarta - REST the events: REST APIs for Event-Driven Architectu...
apidays
 
Mule sap connector
Mule sap connectorMule sap connector
Mule sap connector
Son Nguyen
 
Unmeshing the service mesh
Unmeshing the service meshUnmeshing the service mesh
Unmeshing the service mesh
CodeValue
 
Managing Egress with Istio
Managing Egress with IstioManaging Egress with Istio
Managing Egress with Istio
Solo.io
 
Managing microservices with Istio Service Mesh
Managing microservices with Istio Service MeshManaging microservices with Istio Service Mesh
Managing microservices with Istio Service Mesh
Rafik HARABI
 
Integration with SAP using Mule ESB
Integration with SAP using Mule ESBIntegration with SAP using Mule ESB
Integration with SAP using Mule ESB
Sanjeet Pandey
 
Case Study: ParkMobile Builds for Scale with Kubernetes, Gloo and AWS Cloud
Case Study: ParkMobile Builds for Scale with Kubernetes, Gloo and AWS CloudCase Study: ParkMobile Builds for Scale with Kubernetes, Gloo and AWS Cloud
Case Study: ParkMobile Builds for Scale with Kubernetes, Gloo and AWS Cloud
Solo.io
 
Mule api and service management
Mule api and service managementMule api and service management
Mule api and service management
D.Rajesh Kumar
 
Best practices for multi saa s integrations
Best practices for multi saa s integrationsBest practices for multi saa s integrations
Best practices for multi saa s integrations
D.Rajesh Kumar
 
Mule execution
Mule executionMule execution
Mule execution
Praneethchampion
 

What's hot (17)

Cloud-Native Roadshow - Solace - Atlanta
Cloud-Native Roadshow - Solace - AtlantaCloud-Native Roadshow - Solace - Atlanta
Cloud-Native Roadshow - Solace - Atlanta
 
Solace Messaging for Open Data Movement
Solace Messaging for Open Data MovementSolace Messaging for Open Data Movement
Solace Messaging for Open Data Movement
 
A Lap Around the Windows Azure AppFabric
A Lap Around the Windows Azure AppFabricA Lap Around the Windows Azure AppFabric
A Lap Around the Windows Azure AppFabric
 
Web services for remote portlets v01
Web services for remote portlets v01Web services for remote portlets v01
Web services for remote portlets v01
 
Why Integrate using an API? | MuleSoft
Why Integrate using an API? | MuleSoftWhy Integrate using an API? | MuleSoft
Why Integrate using an API? | MuleSoft
 
Development using anypointstudio
Development using anypointstudioDevelopment using anypointstudio
Development using anypointstudio
 
TUG Presentation - 1/25/17
TUG Presentation - 1/25/17TUG Presentation - 1/25/17
TUG Presentation - 1/25/17
 
apidays LIVE Jakarta - REST the events: REST APIs for Event-Driven Architectu...
apidays LIVE Jakarta - REST the events: REST APIs for Event-Driven Architectu...apidays LIVE Jakarta - REST the events: REST APIs for Event-Driven Architectu...
apidays LIVE Jakarta - REST the events: REST APIs for Event-Driven Architectu...
 
Mule sap connector
Mule sap connectorMule sap connector
Mule sap connector
 
Unmeshing the service mesh
Unmeshing the service meshUnmeshing the service mesh
Unmeshing the service mesh
 
Managing Egress with Istio
Managing Egress with IstioManaging Egress with Istio
Managing Egress with Istio
 
Managing microservices with Istio Service Mesh
Managing microservices with Istio Service MeshManaging microservices with Istio Service Mesh
Managing microservices with Istio Service Mesh
 
Integration with SAP using Mule ESB
Integration with SAP using Mule ESBIntegration with SAP using Mule ESB
Integration with SAP using Mule ESB
 
Case Study: ParkMobile Builds for Scale with Kubernetes, Gloo and AWS Cloud
Case Study: ParkMobile Builds for Scale with Kubernetes, Gloo and AWS CloudCase Study: ParkMobile Builds for Scale with Kubernetes, Gloo and AWS Cloud
Case Study: ParkMobile Builds for Scale with Kubernetes, Gloo and AWS Cloud
 
Mule api and service management
Mule api and service managementMule api and service management
Mule api and service management
 
Best practices for multi saa s integrations
Best practices for multi saa s integrationsBest practices for multi saa s integrations
Best practices for multi saa s integrations
 
Mule execution
Mule executionMule execution
Mule execution
 

Similar to J-Spring 2018 - A journey from Java EE to Cloud Native microservices

Enabling Mainframe Assets for API Economy with z?OS Connect EE
Enabling Mainframe Assets for API Economy with z?OS Connect EEEnabling Mainframe Assets for API Economy with z?OS Connect EE
Enabling Mainframe Assets for API Economy with z?OS Connect EE
Katarzyna Wanat
 
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
David Strebel
 
apidays LIVE Australia 2020 - Move to the next generation API ecosystem by lo...
apidays LIVE Australia 2020 - Move to the next generation API ecosystem by lo...apidays LIVE Australia 2020 - Move to the next generation API ecosystem by lo...
apidays LIVE Australia 2020 - Move to the next generation API ecosystem by lo...
apidays
 
Startups without Servers
Startups without ServersStartups without Servers
Startups without Servers
Amazon Web Services
 
From nothing to production in 1 hour
From nothing to production in 1 hourFrom nothing to production in 1 hour
From nothing to production in 1 hour
Roy Braam
 
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
WSO2
 
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
DevOps for Enterprise Systems
 
Lightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend Fast Data Platform
Lightbend Fast Data Platform
Lightbend
 
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
Chip Childers
 
Node Summit 2016: Web App Architectures
Node Summit 2016:  Web App ArchitecturesNode Summit 2016:  Web App Architectures
Node Summit 2016: Web App Architectures
Chris Bailey
 
Evolving big microservice architectures
Evolving big microservice architecturesEvolving big microservice architectures
Evolving big microservice architectures
Nikolay Stoitsev
 
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for zz Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
nick_garrod
 
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCFMigrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Roy Braam
 
Microservizi e container Docker in produzione: strumenti e consigli
Microservizi e container Docker in produzione: strumenti e consigliMicroservizi e container Docker in produzione: strumenti e consigli
Microservizi e container Docker in produzione: strumenti e consigli
Amazon Web Services
 
agile microservices @scaibo
agile microservices @scaiboagile microservices @scaibo
agile microservices @scaibo
Ciro Donato Caiazzo
 
Fast Data – Fast Cars: Wie Apache Kafka die Datenwelt revolutioniert
Fast Data – Fast Cars: Wie Apache Kafka die Datenwelt revolutioniertFast Data – Fast Cars: Wie Apache Kafka die Datenwelt revolutioniert
Fast Data – Fast Cars: Wie Apache Kafka die Datenwelt revolutioniert
confluent
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
Ram Vijapurapu
 
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
VMware Tanzu
 
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
confluent
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
confluent
 

Similar to J-Spring 2018 - A journey from Java EE to Cloud Native microservices (20)

Enabling Mainframe Assets for API Economy with z?OS Connect EE
Enabling Mainframe Assets for API Economy with z?OS Connect EEEnabling Mainframe Assets for API Economy with z?OS Connect EE
Enabling Mainframe Assets for API Economy with z?OS Connect EE
 
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
12 Factor Apps and Cloud Foundry - Twin Cities Code Camp
 
apidays LIVE Australia 2020 - Move to the next generation API ecosystem by lo...
apidays LIVE Australia 2020 - Move to the next generation API ecosystem by lo...apidays LIVE Australia 2020 - Move to the next generation API ecosystem by lo...
apidays LIVE Australia 2020 - Move to the next generation API ecosystem by lo...
 
Startups without Servers
Startups without ServersStartups without Servers
Startups without Servers
 
From nothing to production in 1 hour
From nothing to production in 1 hourFrom nothing to production in 1 hour
From nothing to production in 1 hour
 
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
 
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
z/OS Connect - Overview at the "z Systems Agile Enterprise Development Confer...
 
Lightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend Fast Data Platform
Lightbend Fast Data Platform
 
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
 
Node Summit 2016: Web App Architectures
Node Summit 2016:  Web App ArchitecturesNode Summit 2016:  Web App Architectures
Node Summit 2016: Web App Architectures
 
Evolving big microservice architectures
Evolving big microservice architecturesEvolving big microservice architectures
Evolving big microservice architectures
 
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for zz Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
 
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCFMigrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
 
Microservizi e container Docker in produzione: strumenti e consigli
Microservizi e container Docker in produzione: strumenti e consigliMicroservizi e container Docker in produzione: strumenti e consigli
Microservizi e container Docker in produzione: strumenti e consigli
 
agile microservices @scaibo
agile microservices @scaiboagile microservices @scaibo
agile microservices @scaibo
 
Fast Data – Fast Cars: Wie Apache Kafka die Datenwelt revolutioniert
Fast Data – Fast Cars: Wie Apache Kafka die Datenwelt revolutioniertFast Data – Fast Cars: Wie Apache Kafka die Datenwelt revolutioniert
Fast Data – Fast Cars: Wie Apache Kafka die Datenwelt revolutioniert
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
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
 
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
 

Recently uploaded

Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
khadija278284
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
Faculty of Medicine And Health Sciences
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
eCommerce Institute
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
amekonnen
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
gharris9
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
Howard Spence
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Sebastiano Panichella
 
2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
Frederic Leger
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Rosie Wells
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Sebastiano Panichella
 
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AwangAniqkmals
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
gharris9
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Access Innovations, Inc.
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Dutch Power
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
faizulhassanfaiz1670
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
Sebastiano Panichella
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
kkirkland2
 
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
SkillCertProExams
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Dutch Power
 

Recently uploaded (19)

Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
 
2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
 
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
 
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
 

J-Spring 2018 - A journey from Java EE to Cloud Native microservices

  • 1. #jspring Vincent Oostindië - 31-05-2018 A journey from Java EE to Cloud Native microservices
  • 2. Rabobank Internet Banking versus Rabobank Online, web and app 2
  • 3. Rabobank’s Online Platform 2008 - 2018 3 Load Balancer deployment unit Linux box Linux box WAS / Linux deployment unit Linux box Linux box WAS / Linux Simple setup Session state Sticky load balancing Multiple domains & sites Independent units & boxes Easily scales horizontally
  • 4. Linux Rabobank’s Online Platform 2008 - 2018 4 IBM WebSphere Application Server App Shared Libraries (API’s) App App App Portal Framework App App Plugins /* Everything in-JVM: super fast Portlets Page rendering In parallel Services Endpoint mapping Access control User profile User preferences Throttling Monitoring Generic functionality
  • 5. It’s been a great ride so far… 5 7 Deployment units 400+ Applications 2100 TPS, easily 2 mln Logons per day And very few significant disturbances!
  • 6. …but the time has come to move on! 6 3 main drivers Scalability limits DevOpsAging technology
  • 7. Our future is in microservices, but… 7 …how are we going to scale out? deploy run monitor operate
  • 8. We need a microservices platform! 8 2016 2017 Research Build our own PaaS Proof of Concept Selection Implementation late 2015 01-01-2018
  • 9. We’ve selected Pivotal Cloud Foundry 9(Oh, and by the way, it runs in public cloud) As the microservices platform for the Rabobank as a whole
  • 10. Lessons learned 10 We’re not in the platform business Developers come first Pick the right abstraction
  • 11. On picking the right abstraction 11 Abstraction Flexibility Containers Apps VM’s Functions We believe that 84.962% of the DevOps teams, building microservices, should operate on this level.
  • 12. Public Cloud Pivotal Cloud Foundry container Our promise: simplicity 12 MyApp cf push myApp cf scale myApp -i 2 MyApp container MyApp myapp.pcf-apps.rabobank.nl
  • 13. How to migrate the Online Platform? 13 Two distinct tracks Linux box IBM WebSphere Application Server App Shared Libraries (API’s) App App App Portal Framework App App Plugins Apps Portal Framework
  • 14. Migrating apps step 1 of 2: Logical services in separate EARs 14 EAR 1 Portal Framework Transactions Accounts Payments EAR 2 Addresses Orders Portal Framework Transaction Service Account Service Payment Order Service Credit Card Service Address Service
  • 15. 15 Portal Framework Transaction Service Account Service Payment Order Service Credit Card Service Address Service Migrating apps step 2 of 2: Creating real microservices on PCF Transaction Service Account Service Payment Order Service Credit Card Service Address Service Real team autonomy! But also: many new challenges…
  • 16. Migrating the portal framework: Breaking down the monolith 16 Access control Throttling Monitoring Page rendering Portlets Services User profile User preferences Endpoint mapping … … … … … … …
  • 17. Migrating the portal framework: Breaking down the monolith 17 Proxy Trash Library Microservice
  • 18. Internet access / Security layer / Single-sign on / API management The Rabobank Online Cloud Services 18 Public web Secure web APIs Pivotal Cloud Foundry Edge routing User preferences User & product services Virtual channel monitoring Employee services Page rendering Session store Apps Internal web
  • 19. Edge routing 19 URL governance Defense in depth CSRF protection Red button procedure User authentication Expose the externally accessible parts of services through governed external URLs, but only if it is safe to do so
  • 20. Edge routing 20 BalanceEdge router External Internal /actuator lookup URL registry User registry authenticate /api/balance: balance balance: customer, level 2 … balance: enabled bankieren.rabobank.nl /api/balance balance.pcf-apps.rabobank.nl forward
  • 22. Proud to be part! 22 70+ Teams 600+ Instances And growing fast! As of May 2018
  • 23. Please rate this session in the J-Spring app #jspring