automated application containerization
TRANSCRIPT
![Page 1: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/1.jpg)
Automated Application ContainerizationJourney to OpenShift with RHAMT
Zohaib Khan Marc ZottnerApp Modernization Lead AMM Program ManagerRed Hat - NAPS Red Hat - [email protected] [email protected]@zeebluejay
2018/05/08
![Page 2: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/2.jpg)
● Containerization: Why and What?
● Automating the approach
● Next steps
AGENDA
Image source: Marc Zottner
![Page 3: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/3.jpg)
WHAT IS CONTAINERIZATION?
![Page 4: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/4.jpg)
WHAT IS CONTAINERIZATION?
Packaging of a configured application and all its dependenciesinto a light, portable, cloud-ready sandbox.
Physical host Virtual host Container
![Page 5: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/5.jpg)
NEW POSSIBILITIES
SINGLE CONCERN HIGH OBSERVABILITY LIFECYCLE CONFORMANCE
IMAGE IMMUTABILITY PROCESS DISPOSABILITY SELF-CONTAINMENT
![Page 6: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/6.jpg)
NEW WAYS TO DELIVER
SELF SERVICE BLUE GREEN DEPLOYMENTS CANARY RELEASES
A/B TESTING END-TO-END AUTOMATION ROLLING UPGRADES
![Page 7: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/7.jpg)
ECONOMICSCh
ange
vel
ocity
Number of hurdles eliminated
Initial effort to see visible change
Inflection point
Accelerated value delivery
![Page 8: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/8.jpg)
1) Not every application fits into a container!
2) Containers are not only for elite-apps.
3) Conducted transformationsmust be driven by business value.
BEST KEPT SECRETS
D f .
Image source: Marc Zottner
![Page 9: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/9.jpg)
REPURCHASE (Drop & Shop)
Decommission end-of-life application.
Keep and don’t touch for now.RETAIN
RETIRE
Low
High
Tran
sfor
mat
ion
Effo
rts
/ Com
plex
ity
REHOST (Lift & Shift)
REFACTOR (Extend / Rewrite)
REPLATFORM (Lift & Reshape)
OPTIONS FOR CONTAINERIZATION
Change the underlying platform (runtime, framework, middleware, operating system).
Redesign code to take advantage of thenew platform (extend, strangle, rewrite).
Package existing application in a containerwith as few changes as possible.
Replace by Commercial off-the-shelf(COTS) or Software-as-as-Service (SaaS).
ExistingApplication
![Page 10: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/10.jpg)
FULL-AUTOMATED APPROACH
![Page 11: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/11.jpg)
CONTAINERIZATION JOURNEY
1.
Portfolio discovery and inventory
2.
Readinessassessment
3.
Automated Deployments
4.
Importapplications
5.
Transformapplications
6.
Validate, promote,decommission
![Page 12: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/12.jpg)
CONTAINERIZATION JOURNEY
1.
Portfolio discovery and inventory
2.
Readinessassessment
3.
Automated Deployments
4.
Importapplications
5.
Transformapplications
6.
Validate, promote,decommission
![Page 13: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/13.jpg)
1. PORTFOLIO DISCOVERY & INVENTORY
HOW?
Use your favourite spreadsheet editor!
Automated
Manual
WHAT?
Identify and list existing assets (applications, infrastructure) in a central inventory.
Use some tools to automate the discovery process:● Agent(less) / Port & packet scan / SaaS or on-premise● Self written (e.g. with Ansible) vs. commercial offerings (e.g. CloudScape)● Use existing tools (CMDB, SOE, infrastructure as a code, CI/CD, app repository)
Image source: https://flic.kr/p/b1Sjh2
![Page 14: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/14.jpg)
1. PORTFOLIO DISCOVERY & INVENTORY
Create an exhaustive list (spreadsheet) of all applications (plan, governance, estimates)
Relevant for prioritizationPlanning and scopeInternal application classification……..
Owners could be further split between ... technical lead / business owner / test owner / external providerCustom group for similar applicationsEXAMPLE
![Page 15: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/15.jpg)
CONTAINERIZATION JOURNEY
1.
Portfolio discovery and inventory
2.
Readinessassessment
3.
Automated Deployments
4.
Importapplications
5.
Transformapplications
6.
Validate, promote,decommission
![Page 16: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/16.jpg)
● Questionnaire-based frameworks● Automated code analysis tool
(e.g. RHAMT for Java applications)
2. READINESS ASSESSMENT
HOW?
Conduct interviews, workshops, code & document reviews (all levels).
Automated
Manual
WHAT?
1. Group similar applications based on their business & technical characteristics
2. Assess container-readiness
3. Identify the right transformationbased on business value
4. Estimate efforts
![Page 17: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/17.jpg)
2. READINESS ASSESSMENTGROUPING APPLICATIONS
Store Sustain ExecuteConnectView
Embedded frameworks
RESTJerseyUnirest
…
MVCSpring-MVC
StrutsWicketGWT
MarkupHTMLCSSJS
Cachingehcache
infinispan
Object MappingHibernate
Hibernate OGMEclipse Link
Logging log4j
SecurityESAPI
TestJUnit / ...
Inversion of Control Spring / AspectJ
Rules & Processes Drools / JBPM / iLog
IntegrationCamel / Teiid
3rd partyLiferay / Oracle Forms / ...
Web ServiceAxisCXF
XFire
Java EE technologies
Messaging _JMS queue _
JMS topic _JMS con. factory _
HTTPJAX-RSJAX-WS
Bean____Stateless (SLSB) _Stateful (SFSB) _Message (MDB) _Managed Bean _
OtherJCAJNIMailRMI
Persistence _Persistence units _
JPA entities _JPA named queries _
Database _JDBC datasource _
JDBC XA datasource _
RichappletJNLP
Web JSFJSP
Servletweb.xml
WebSocketSecurity
Security realm
ClusteringJPA / Web session / EJB
TransactionsJTA
ProcessingBatch
CDIJSON-P
![Page 18: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/18.jpg)
Processes○ Monitoring, alerting, log & configuration management
Dependencies○ OS & hardware○ Licensing and vendor support (3rd party components)
CONTAINER-READINESS FACTORS
Software architecture○ Monolith vs. Modular○ Coupling (loose vs. tight)○ State management○ Communication protocols○ CPU, IO, storage, connectivity needs○ Compliance, security, availability, resiliency requirements
SCOPING A TRANSFORMATION
● Business criticality, usage, user base● Application lifecycle (age)● Expected business value & efforts
Image source: https://flic.kr/p/bdizD8
2. READINESS ASSESSMENT
![Page 19: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/19.jpg)
2. READINESS ASSESSMENTTOOLING SUPPORT
TOOLING SUPPORT
Red Hat Application Migration Toolkit
Catalyze large scale application modernizations and migrations● Automate code analysis● Support effort estimation● Accelerate code migration● Free & Open Source
IBM WebSphere AS
Oracle WebLogic Server
JBoss EAP upgrades
Cloud readiness,containerization
Pluggable: your own rules
Java EEupgrades
Eclipse plugin
Command line interface
Web console
![Page 20: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/20.jpg)
2. READINESS ASSESSMENTTOOLING SUPPORT
Download the Toolkit on https://developers.redhat.com/products/rhamt/overview/
![Page 21: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/21.jpg)
DEMO
![Page 22: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/22.jpg)
![Page 23: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/23.jpg)
![Page 24: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/24.jpg)
2. READINESS ASSESSMENTRESULTS & PRIORITIZATION
Cont
aine
rRe
adin
ess
Business value
Done!
In progress
Not started
Out-of-scope!
Level-of-EffortsApp F
App AApp B
App E
App C
App D
Containerization status
Cont
aine
r-re
ady
Cont
aine
r-al
ien
Low High
![Page 25: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/25.jpg)
CONTAINERIZATION JOURNEY
1.
Portfolio discovery and inventory
2.
Readinessassessment
3.
Automated Deployments
4.
Importapplications
5.
Transformapplications
6.
Validate, promote,decommission
![Page 26: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/26.jpg)
3. AUTOMATED DEPLOYMENTS
WHAT?● Design the new platform (MVP, requirements)● Document architecture decisions.● Build the full-ecosystem
HOW?
Adapt push-button infrastructure (reference architecture)● All needed stack to start building solutions on day one● Robust IaaS, PaaS, DevOps toolchain & AppDev services● Fully-automated deployment
https://www.redhat.com/en/explore/my-open-innovation-lab-stack
Automated
![Page 27: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/27.jpg)
CONTAINERIZATION JOURNEY
1.
Portfolio discovery and inventory
2.
Readinessassessment
3.
Automated Deployments
4.
Importapplications
5.
Transformapplication code
6.
Validate, promote,decommission
![Page 28: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/28.jpg)
WHAT?
Bridge existing and new platforms● Import assets of the existing application lifecycle
(source code, configuration, repositories, processes)● Reduce manual migration gaps
HOW?
● Automate import of all applications (no code change)○ Provide a “deploy-to-new-platform” button to devs○ Pre-generate templates and configuration
● Enable users (templates, guides)
4. IMPORT APPLICATIONS Automated
Image source: https://www.flickr.com/photos/sg09/8401320130/
![Page 29: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/29.jpg)
CONTAINERIZATION JOURNEY
1.
Portfolio discovery and inventory
2.
Readinessassessment
3.
Automated Deployments
4.
Importapplications
5.
Transformapplications
6.
Validate, promote,decommission
![Page 30: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/30.jpg)
WHAT?
Update code & configuration to containerize an application according the chosen transformation.
5. TRANSFORM APPLICATIONS Manual
1.Image choice,
initial configuration
3.Get application
running in acontainer
5.Test & Promote
2.Pre-emptive
code changes(e.g. RHAMT)
4.Optional changes
(refactor, strangle)
HOW?
Step-by-step approach with well-defined scope & activities. As few changes as necessary.
Automated
![Page 31: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/31.jpg)
CONTAINERIZATION JOURNEY
1.
Portfolio discovery and inventory
2.
Readinessassessment
3.
Automated Deployments
4.
Importapplications
5.
Transformapplications
6.
Validate, promote,decommission
![Page 32: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/32.jpg)
WHAT?
● Development Workflow from git push to deployment● Approvals, Checks, Sign-offs, Audit trails etc.● Predictable, measurable and repeatable methods
HOW?
● Automated testing● CI/CD pipeline (S2I)● Automated Software Supply Chain● A platform that gives you most of it OOTB
6. VALIDATE, PROMOTE, DECOMMISSION Automated
![Page 33: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/33.jpg)
INTEGRATEDIMAGE
REGISTRY
OPENSHIFTCLUSTER
OPENSHIFT CI/CD PIPELINE (JENKINS)
INTEGRATEDIMAGEREGISTRY
OPENSHIFTCLUSTER
NON-PROD
DEPLOYMENT PIPELINES
PROMOTETO TEST
ARTIFACT REPOSITORYDEVELOPER GIT SERVER
IMAGE BUILD & DEPLOY
DEV TEST
PROMOTETO UAT
UAT
GOLIVE?
PROMOTETO PROD
RELEASE MANAGER
PROD
☒ ☑
![Page 34: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/34.jpg)
THE REAL CHALLENGE
... ...
![Page 35: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/35.jpg)
CONTAINERIZATION JOURNEY
1.
Portfolio discovery and inventory
2.
Readinessassessment
3.
Automated Deployments
4.
Importapplications
5.
Transformapplications
6.
Validate, promote,decommission
![Page 36: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/36.jpg)
DESIGN
Solve & documenttypical issues
Pilotapplications
DISCOVER SCALE
FACTORY with ITERATIONS
CONTAINERIZATION JOURNEY AT SCALE!
Portfolio discovery and inventory
Readinessassessment
Automateddeployments
Importapplications
Transformapplications
Validate, promote,decommission
Plan rollout
![Page 37: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/37.jpg)
NEXT STEPS
![Page 38: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/38.jpg)
https://developers.redhat.com/resources/#!type=book
FURTHER READINGS
![Page 39: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/39.jpg)
... and lots more ….
HEAD TO DISCOVERY ZONE!
![Page 40: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/40.jpg)
THANK YOUplus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHat
Zohaib Khan Marc ZottnerApp Modernization Lead AMM Program ManagerRed Hat - NAPS Red Hat - [email protected] [email protected]@zeebluejay
![Page 41: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/41.jpg)
CONTAINERIZATION IN PRACTICE
Assessment
Applicationdevelopment
Infrastructureoperations
Plan
Containerizepilot applicationsProof of concepts
Parallel Dev/Ops workstreamsDevs don’t need to wait for
the final infrastructure (OCP CDK)
Automate import(apps & conf)
Design & build new infrastructure
Secure & accelerate populationof the new platform
![Page 42: Automated Application Containerization](https://reader031.vdocuments.site/reader031/viewer/2022021106/6205719e2be7a334a965604f/html5/thumbnails/42.jpg)
WHY IS OPENSHIFT THE BEST PLATFORM?THE FOUR Cs
COMPREHENSIVECLOUDCUSTOMERSCODE
Strong partnerships with cloud providers, ISVs,
CCSPs.
We have an extensive container catalog of
certified partner images.
Our comprehensive portfolio of container products and
services includes developer tools, security, application
services, storage, & management.
Red Hat is a leading Kubernetes developer & contributor with Google1.
We make container development easy,
reliable, & more secure.
Most reference customers running in production.
We have years of experience running OpenShift Online &
OpenShift Dedicated services.
Kubernetes commits
Source: [1] Stackalytics, Contribution by Companies. (Release: All, Project type: Kubernetes, Module: kubernetes, Metric: Commits) Retrieved: March 2, 2018.