© Copyright 2019 Pivotal Software, Inc. All rights Reserved.
Mohamed Ramdani: Senior Platform Architect
04 Juillet 2019
Moderniser le legacy JEE
avec les containers
et les microservices:
patterns and anti-patterns
Platform
Run modern apps Run containerized
workloads
Run scale-to-0
functions
Ecosystem of Pivotal
and partner services
Multi-cloud vSphere Openstack AWS
Google
Cloud
Azure
Platform security
and automation
Innovative engineering of extensive automation and go-fast-to-stay-safe approach
Pivotal
Application Service
Pivotal
Container Service
Pivotal
Function Service
Pivotal
Marketplace
Pivotal Cloud Foundry is a unified cloud-native platform.
Most Existing Custom Apps Will Run on PCF
But, Why? Why Migrate to Pivotal Cloud Foundry?
FREEDOM
To Run Your App on Any Cloud
AUTOMATION
To Lower Your Ops Cost and
Increase Your Velocity
RESILIENCY
Auto-Scale, Blue/green
Deployments and Health Mgmt.
GOVERNANCE
Common Set of
Developer-Self-Serviced
Frameworks
VISIBILITY
End to End Logging, Monitoring
and Auditability
SPEED
Move Cycle Time from Months
to Weeks to Days or Hours
Two Approaches - Replatform and Modernize
APP
APP
APP
µService
µService
µService
APP
APP
APP
APPLICATION REPLATFORMING APPLICATION MODERNIZATION
The “Push” Approach The “Pull” Approach
1. Push the app
2. See what fails
3. Write a test
4. Get the tests to pass
5. Write down your recipes
1. Build new features as microservices
2. Find the seams
3. Write tests
4. Refactor code around seams
5. Get your tests to pass
APP
APP
Pivotal
Application Service
Pivotal
Container Service
What We Believe
• Plan Just Enough to Start
• Start With “One Thing”
• Break Big Things into Small Things
• Automate Everything You Can
• Build Skills by Pairing and Doing
• Let Real Work Inform Strategy
• Monoliths Aren’t Inherently Bad
Java | .NET | NodeJS
Pivotal Application
Service (PAS)
Elastic | Packaged Software | Spark
Pivotal Container
Service (PKS)
>cf push >kubectl run
Pivotal Services
Marketplace
Pivotal and
Partner Products
Public Cloud
Services
Customer
Managed
Services
OpenServiceBrokerAPI
vSphere
Azure &
Azure StackGoogle CloudAWSOpenstack
Fully Automated
Path to Production
Quantified
Business-Centric
Outcomes
Pivotal
Quick iteration of small, frequent releases; fast feedback and adjustment
YOU build the containerWE build the container
JEE Development & Deployment Model
● One monolithic server runtime/cluster hosting many applications
● Applications packaged according to standards
● Standards defined by 34 individual specifications
○ Which are a proper fit for implementing cloud native apps
● JEE Web Profile apps are the best candidates to move to the cloud
Software & Support for OpenJDK, Spring, and Tomcat – for any enterprise
Pivotal’s Java™ Experts Support 24/7 Simple & Fair Pricing
with & without PCF
New for 2019 – Comprehensive support for all your Java™ workloads...
The value of a platform for your legacy apps
Container Orchestration
Services Ecosystem
Multi Cloud
Infrastructure
Automation
Elastic Scale
High Availability
CD Pipeline
Monitoring & Mgmt
Self-Service/RBAC
App & Platform Zero Downtime Upgrades
App & Platform Security
Java/.Net Microservices Support
Logs, Metrics & Tracing
Packaging & Ent. Support
Dev/Prod Parity
Technical debt
creation if you
do it yourself
Business Value Creation
Decide what you want to “own” from responsibility perspective
DIY k8s or container stack
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
Platform
Provided
App
Team
provided
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
Platform
Provided
App
Team
Provided
Embedded OS
OS Image
Runtime Layer
Service Brokerage
Application Layer
App
Team
Provided
https://content.pivotal.io/blog/5-confessions-of-a-platform-builder
Buildpacks - a definition
• Single tool-chain to detect, stage and run any application
• Reduce dev technical/security debt with buildpacks. Devs build
apps, buildpacks build/maintain rest of the stack.
– Buildpacks can provide an appropriate runtime and additional libraries for the apps
to be run if needed.
– Buildpacks package app and runtime into a single runnable artifact. The Platform
then runs this within a new Linux container.
– Platform managed rootfs is mounted in every container when using buildpacks as
opposed to dev’s creating/maintaining own Docker images with their choice of
Linux.
• Helps devs be cloud native by adopting 12 factor guidelines
Cloud Native Buildpack
● PCF has a concept of buildpacks to create container for you
● Cloud Native Buildpacks v3 (CNB) are more modular, portable, and easier
to work with with & without PCF PAS.
● CNB is a CNCF project resulting of joint partnership with Heroku & Pivotal
CNB helps containerize your legacy with better governance
for both PCF PAS and PCF
Running with Buildpack for your legacy apps
Open-source, JEE Full Profile App Server for Cloud Foundry
- IBM WebSphere Liberty
- TomEE Buildpack
- JBoss Buildpack
- Java Buildpack
Developer Interactions
Platform buildpacks
provide standard runtime*
Platform provides fixed OS
container image
Developer brings
customized app
Developer brings runtime
container image
Developer brings container
OS image
Developer brings
customized app
Buildpack Container Image
* Devs may bring a custom buildpack
Platform provides fixed
host OS Kernel
Platform provides fixed
host OS Kernel
Pivotal Patched,
pre-approved
by
security
team
s
for use
Enables
non-standard
w
orkflow
s
but requires
approval by
security
team
s
and
to
be
patched
m
anually.
Migration Strategies
Demo time
Transforming how the world builds software
© Copyright 2019 Pivotal Software, Inc. All rights Reserved.

Moderniser le legacy JEE avec les containers et les microservices: patterns and anti-patterns

  • 1.
    © Copyright 2019Pivotal Software, Inc. All rights Reserved. Mohamed Ramdani: Senior Platform Architect 04 Juillet 2019 Moderniser le legacy JEE avec les containers et les microservices: patterns and anti-patterns
  • 2.
    Platform Run modern appsRun containerized workloads Run scale-to-0 functions Ecosystem of Pivotal and partner services Multi-cloud vSphere Openstack AWS Google Cloud Azure Platform security and automation Innovative engineering of extensive automation and go-fast-to-stay-safe approach Pivotal Application Service Pivotal Container Service Pivotal Function Service Pivotal Marketplace Pivotal Cloud Foundry is a unified cloud-native platform.
  • 3.
    Most Existing CustomApps Will Run on PCF But, Why? Why Migrate to Pivotal Cloud Foundry? FREEDOM To Run Your App on Any Cloud AUTOMATION To Lower Your Ops Cost and Increase Your Velocity RESILIENCY Auto-Scale, Blue/green Deployments and Health Mgmt. GOVERNANCE Common Set of Developer-Self-Serviced Frameworks VISIBILITY End to End Logging, Monitoring and Auditability SPEED Move Cycle Time from Months to Weeks to Days or Hours
  • 4.
    Two Approaches -Replatform and Modernize APP APP APP µService µService µService APP APP APP APPLICATION REPLATFORMING APPLICATION MODERNIZATION The “Push” Approach The “Pull” Approach 1. Push the app 2. See what fails 3. Write a test 4. Get the tests to pass 5. Write down your recipes 1. Build new features as microservices 2. Find the seams 3. Write tests 4. Refactor code around seams 5. Get your tests to pass APP APP Pivotal Application Service Pivotal Container Service
  • 5.
    What We Believe •Plan Just Enough to Start • Start With “One Thing” • Break Big Things into Small Things • Automate Everything You Can • Build Skills by Pairing and Doing • Let Real Work Inform Strategy • Monoliths Aren’t Inherently Bad
  • 6.
    Java | .NET| NodeJS Pivotal Application Service (PAS) Elastic | Packaged Software | Spark Pivotal Container Service (PKS) >cf push >kubectl run Pivotal Services Marketplace Pivotal and Partner Products Public Cloud Services Customer Managed Services OpenServiceBrokerAPI vSphere Azure & Azure StackGoogle CloudAWSOpenstack Fully Automated Path to Production Quantified Business-Centric Outcomes Pivotal Quick iteration of small, frequent releases; fast feedback and adjustment YOU build the containerWE build the container
  • 7.
    JEE Development &Deployment Model ● One monolithic server runtime/cluster hosting many applications ● Applications packaged according to standards ● Standards defined by 34 individual specifications ○ Which are a proper fit for implementing cloud native apps ● JEE Web Profile apps are the best candidates to move to the cloud
  • 8.
    Software & Supportfor OpenJDK, Spring, and Tomcat – for any enterprise Pivotal’s Java™ Experts Support 24/7 Simple & Fair Pricing with & without PCF New for 2019 – Comprehensive support for all your Java™ workloads...
  • 9.
    The value ofa platform for your legacy apps Container Orchestration Services Ecosystem Multi Cloud Infrastructure Automation Elastic Scale High Availability CD Pipeline Monitoring & Mgmt Self-Service/RBAC App & Platform Zero Downtime Upgrades App & Platform Security Java/.Net Microservices Support Logs, Metrics & Tracing Packaging & Ent. Support Dev/Prod Parity Technical debt creation if you do it yourself Business Value Creation
  • 10.
    Decide what youwant to “own” from responsibility perspective DIY k8s or container stack Embedded OS OS Image Runtime Layer Service Brokerage Application Layer Platform Provided App Team provided Embedded OS OS Image Runtime Layer Service Brokerage Application Layer Platform Provided App Team Provided Embedded OS OS Image Runtime Layer Service Brokerage Application Layer App Team Provided https://content.pivotal.io/blog/5-confessions-of-a-platform-builder
  • 11.
    Buildpacks - adefinition • Single tool-chain to detect, stage and run any application • Reduce dev technical/security debt with buildpacks. Devs build apps, buildpacks build/maintain rest of the stack. – Buildpacks can provide an appropriate runtime and additional libraries for the apps to be run if needed. – Buildpacks package app and runtime into a single runnable artifact. The Platform then runs this within a new Linux container. – Platform managed rootfs is mounted in every container when using buildpacks as opposed to dev’s creating/maintaining own Docker images with their choice of Linux. • Helps devs be cloud native by adopting 12 factor guidelines
  • 12.
    Cloud Native Buildpack ●PCF has a concept of buildpacks to create container for you ● Cloud Native Buildpacks v3 (CNB) are more modular, portable, and easier to work with with & without PCF PAS. ● CNB is a CNCF project resulting of joint partnership with Heroku & Pivotal CNB helps containerize your legacy with better governance for both PCF PAS and PCF
  • 13.
    Running with Buildpackfor your legacy apps Open-source, JEE Full Profile App Server for Cloud Foundry - IBM WebSphere Liberty - TomEE Buildpack - JBoss Buildpack - Java Buildpack
  • 14.
    Developer Interactions Platform buildpacks providestandard runtime* Platform provides fixed OS container image Developer brings customized app Developer brings runtime container image Developer brings container OS image Developer brings customized app Buildpack Container Image * Devs may bring a custom buildpack Platform provides fixed host OS Kernel Platform provides fixed host OS Kernel Pivotal Patched, pre-approved by security team s for use Enables non-standard w orkflow s but requires approval by security team s and to be patched m anually.
  • 15.
  • 16.
  • 17.
    Transforming how theworld builds software © Copyright 2019 Pivotal Software, Inc. All rights Reserved.