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

PDF
LINE Bot API with Armeria
PDF
A journey from Java EE to cloud-native microservices - Rabobank, JUG meetup
PDF
Migrating Rabobank Online from Monoliths to Microservices with Pivotal Cloud ...
PDF
SpringOne Platform 2018 Rabobank keynote
PDF
Cloud-Native Roadshow - Solace - Denver
PPTX
BizTalk on App Services
PDF
Cloud- Native Roadshow NYC - Solace
PPTX
APIdays Helsinki 2019 - Beyond REST: GraphQL API Management with Amit Acharya...
LINE Bot API with Armeria
A journey from Java EE to cloud-native microservices - Rabobank, JUG meetup
Migrating Rabobank Online from Monoliths to Microservices with Pivotal Cloud ...
SpringOne Platform 2018 Rabobank keynote
Cloud-Native Roadshow - Solace - Denver
BizTalk on App Services
Cloud- Native Roadshow NYC - Solace
APIdays Helsinki 2019 - Beyond REST: GraphQL API Management with Amit Acharya...

What's hot (17)

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

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

PPTX
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
PDF
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
PDF
Trends at JavaOne 2016: Microservices, Docker and Cloud-Native Middleware
PPTX
Microservices approach for Websphere commerce
PPTX
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
PPTX
Breaking the Monolith
PPT
IBM Cloud UCC Talk, 8th December 2020 - Cloud Native, Microservices, and Serv...
PPTX
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
PDF
Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...
PDF
Cloud Native Middleware Microservices - 10 Lessons Learned
PDF
Platform as a Service - Cloud Foundry and IBM Bluemix
PDF
Talk Oracle Code One 2019
PDF
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
PPTX
Nab 2017 a journey to the future of cloud-native media micro-services - was...
PDF
PaaSing a Java EE 6 Application at Geecon 2012
PDF
GIDS 2012: PaaSing a Java EE Application
PPTX
"The Cloud Native Enterprise is Coming"
PDF
Leverage An Intelligent Application Infrastructure for Competitive Advantage.
PDF
Cloudy in Indonesia: Java and Cloud
PDF
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Trends at JavaOne 2016: Microservices, Docker and Cloud-Native Middleware
Microservices approach for Websphere commerce
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Breaking the Monolith
IBM Cloud UCC Talk, 8th December 2020 - Cloud Native, Microservices, and Serv...
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...
Cloud Native Middleware Microservices - 10 Lessons Learned
Platform as a Service - Cloud Foundry and IBM Bluemix
Talk Oracle Code One 2019
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Nab 2017 a journey to the future of cloud-native media micro-services - was...
PaaSing a Java EE 6 Application at Geecon 2012
GIDS 2012: PaaSing a Java EE Application
"The Cloud Native Enterprise is Coming"
Leverage An Intelligent Application Infrastructure for Competitive Advantage.
Cloudy in Indonesia: Java and Cloud
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
Ad

Recently uploaded (20)

PPTX
chapter8-180915055454bycuufucdghrwtrt.pptx
PPTX
Effective_Handling_Information_Presentation.pptx
PPTX
Non-Verbal-Communication .mh.pdf_110245_compressed.pptx
PPTX
The spiral of silence is a theory in communication and political science that...
PPT
First Aid Training Presentation Slides.ppt
PDF
oil_refinery_presentation_v1 sllfmfls.pdf
PPTX
_ISO_Presentation_ISO 9001 and 45001.pptx
PPTX
Anesthesia and it's stage with mnemonic and images
PPTX
The Effect of Human Resource Management Practice on Organizational Performanc...
PPTX
Tour Presentation Educational Activity.pptx
PPTX
BIOLOGY TISSUE PPT CLASS 9 PROJECT PUBLIC
PPTX
Hydrogel Based delivery Cancer Treatment
DOC
学位双硕士UTAS毕业证,墨尔本理工学院毕业证留学硕士毕业证
PPTX
Introduction to Effective Communication.pptx
PPTX
lesson6-211001025531lesson plan ppt.pptx
PPTX
English-9-Q1-3-.pptxjkshbxnnxgchchxgxhxhx
PDF
Swiggy’s Playbook: UX, Logistics & Monetization
PPTX
Introduction-to-Food-Packaging-and-packaging -materials.pptx
PPTX
INTERNATIONAL LABOUR ORAGNISATION PPT ON SOCIAL SCIENCE
PPTX
Impressionism_PostImpressionism_Presentation.pptx
chapter8-180915055454bycuufucdghrwtrt.pptx
Effective_Handling_Information_Presentation.pptx
Non-Verbal-Communication .mh.pdf_110245_compressed.pptx
The spiral of silence is a theory in communication and political science that...
First Aid Training Presentation Slides.ppt
oil_refinery_presentation_v1 sllfmfls.pdf
_ISO_Presentation_ISO 9001 and 45001.pptx
Anesthesia and it's stage with mnemonic and images
The Effect of Human Resource Management Practice on Organizational Performanc...
Tour Presentation Educational Activity.pptx
BIOLOGY TISSUE PPT CLASS 9 PROJECT PUBLIC
Hydrogel Based delivery Cancer Treatment
学位双硕士UTAS毕业证,墨尔本理工学院毕业证留学硕士毕业证
Introduction to Effective Communication.pptx
lesson6-211001025531lesson plan ppt.pptx
English-9-Q1-3-.pptxjkshbxnnxgchchxgxhxhx
Swiggy’s Playbook: UX, Logistics & Monetization
Introduction-to-Food-Packaging-and-packaging -materials.pptx
INTERNATIONAL LABOUR ORAGNISATION PPT ON SOCIAL SCIENCE
Impressionism_PostImpressionism_Presentation.pptx

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