SlideShare a Scribd company logo
1 of 26
Download to read offline
Learn how to Leverage
Kubernetes to Support 12
Factor for Enterprise Apps
Dr.	Brad	Topol
IBM	Distinguished	Engineer
@bradtopol
Michael	Elder
IBM	Distinguished	Engineer
@mdelder
Let’s deploy
our apps on
the cloud!
2© 2019 IBM Corporation
Why?
3© 2019 IBM Corporation
1.Cloud has evolved as a strategy for
disruption driven by continuous
delivery.
2.Cloud elasticity enables microservices
architectures to scale out quickly, but
also roll new updates out at immense
speeds.
3.Data becomes the fuel for business
innovation.
4.AI becomes the catalyst to turn data
into brilliant user experiences.
5.Profit! Or really, reduce overall cost.
4
What is a
12-factor
app?
https://12factor.net/
• “12-Factor” is a software
methodology for building
scalable microservice
applications
• Originally created by Heroku
• Best practices designed to
enable applications to be built
with portability, resilience,
and scalability when deployed
to the web
5
I. Codebase
One codebase tracked in revision control,manydeploys
II. Dependencies
Explicitlydeclare and isolate dependencies
III. Config
Store config in the environment
IV. Backing services
Treat backing services as attached resources
V. Build, release, run
Strictlyseparate build and run stages
VI. Processes
Execute the app as one or more stateless processes
VII. Port binding
Export services via port binding
VIII. Concurrency
Scale out via the process model
IX. Disposability
Maximize robustness with fast startup and graceful shutdown
X. Dev/prod parity
Keep development, staging,and production as similar as
possible
XI. Logs
Treat logs as event streams
XII. Admin processes
Run admin/management tasks as one-off processes
Why
12 factor
apps?
https://12factor.net/
• Make it easier to run, scale, and
deploy applications
• Keep parity between development
and production
• Provide strict separation between
build, release, and run stages
I. Codebase
One codebase tracked in
revision control, many deploys
II. Dependencies
Explicitly declare and isolate
dependencies
III. Config
Store config in the environment
IV. Backing services
Treat backing services as
attached resources
V. Build, release, run
Strictly separate build and run
stages
VI. Processes
Execute the app as one or more
stateless processes
VII. Port binding
Export services via port binding
VIII. Concurrency
Scale out via the process model
IX. Disposability
Maximize robustness with fast
startup and graceful shutdown
X. Parity between dev & prod
Keep development, staging,
and production as similar as
possible
XI. Logs
Treat logs as event streams
XII. Admin processes
Run admin/management tasks
as one-off processes
Code Deploy Operate
7
I. Codebase
One codebase tracked in
revision control, many deploys
V. Build, release, run
Strictly separate build and run
stages
X. Parity between dev & prod
Keep development, staging,
and production as similar as
possible
Code Factors Mapped to Kubernetes
Container images built from
Dockerfiles + Kubernetes
Declarative YAML based
deployment
Using same container images
and Kubernetes YAML objects
in both dev and production
Continuous Delivery and
leveraging Kubernetes support
for deploying updates
8
II. Dependencies
Explicitly declare and isolate
dependencies
III. Config
Store config in the environment
IV. Backing services
Treat backing services as
attached resources
VI. Processes
Execute the app as one or more
stateless processes
VII. Port binding
Export services via port binding
Deploy Factors Mapped to Kubernetes
Container
Secret
Service
ConfigMap
Persistent
Volume
Pod
IX. Disposability (Pods)
Maximize robustness with fast
startup and graceful shutdown
Common Services
(logging, monitoring,
audit, etc)
VIII. Concurrency
Scale out via the process model
XI. Logs
Treat logs as event streams
XII. Admin processes
Run admin/management tasks
as one-off processes
Operate Factors Mapped to Kubernetes
Deployment
(ReplicaSet)
Stateles
s
Stateless
StatefulSet
Stateful
Job
Batch
DaemonSet
System
Job
Batch
An
app
to
talk
about
10
Code factors for our app
11
# Application to deploy
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: watson-conversation-app
spec:
replicas: 2 # tells deployment to run 2 pods matching the
template
template: # create pods using pod definition in this template
metadata:
labels:
app: watson-conversation-app
tier: frontend
spec:
containers:
- name: watson-conversation-app
image: mycluster.icp:8500/default/conversation-
simple:alt
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: WORKSPACE_ID
valueFrom:
configMapKeyRef:
name: car-dashboard-config
key: workspace_id
- name: CONVERSATION_SERVICE_CAR
valueFrom:
secretKeyRef:
name: binding-conversation-service-car
key: binding
1.Container Images are built
from Dockerfiles. Kubernetes
Deployments, etc are
managed as YAML (Factor #I)
2.Having a strong artifact-driven
model makes it easier to follow
a Continuous Delivery lifecycle
(Factor #V)
3.Using the same images and
YAML objects make it easier for
dev teams to match what’s
running in production
(Factor #X)
Deploy factors for our app
12
1.ConfigMaps and Secrets can be
managed in source repositories or
built dynamically via commands
(Factor #III)
2.Our container image runs as a
container process in a Pod with other
containers (Factor #VI)
3.A collection of Pods can expose or
consume Services via port bindings
(Factor #IV & Factor #VII)
Pod
(SingleIP Address)
Volume
Volume
container
container
container
Volume
Secret
ConfigMap
Operate factors for our app
1.A Deployment includes a
ReplicaSet which declares the
desired availability policy(Factor
#VIII)
2.If a Pod fails, Kubernetes will
attempt to recover it via
restarting the Pod or scheduling
it to a new node (Factor #IX)
3.Running our app as a container
makes it possible to capture all
logs, metrics, and other
management functions in a
consistent way (Factor #XII)
Great, but 95%
of my workloads
do not fit 12-
factor! 14
Code factors for middleware
15
1.Helm Charts are an open way
to package 12-factor apps, but
also middleware like IBM MQ
Series (F#I)
2.Providing a catalog of Helm
Charts either from the
community or your internal
teams makes it easier to build
production-like environments
(F#V)
3.Just like apps, build these into
Continuous Delivery pipelines
for canary testing your
upgrades of critical supporting
services
• IBM MQ Series is a leading
provider of messaging services
for enterprise apps;
• Great example of a critical
component that isn’t 12-factor
Deploy factors for middleware
16
1.Secrets used to configure credentials
and TLS certificates (F#III)
2.MQ built as a container image that
runs as a container process in a Pod
(F#VI)
3.Admin console, app messaging ports,
and metrics ports exposed via
Services with port bindings (F#IV &
F#VII)
MQ
(SingleIP Address)
Volume
mq
Secret
Service
Operate factors for middleware
1.A StatefulSetthat declares the
desired availability policyfor MQ;
a database might scale out
replicas or prepare
primary/secondary failover
(F#VIII)
2.Recovered Pods re-mount the
same PersistentVolumes (F#IX)
3.All Pods can have logs, metrics,
or other management details
captured automatically by your
Kubernetes provider (F#XII)
Continuous Integration & Delivery
18
1.Exposing all of your datacenter via
container images with a Kubernetes
orchestrator will take time for full
maturity
2.Potential to dramaticallysimplify
delivery of services and ongoing
operations with built-in control
planes for running containers
3.Start NOW to leverage these same
features designed for 12-factor apps
to expose more production-like
environments (F#V) for your
devs/LOBs
Enough
talking,
let’s see it
LIVE! 19
Leverage the IBM Cloud Garage
Method to change how you work.
20
Provides an in-depth collectionof
practices, tutorials, and
architectures to help you on this
journey.
Completely open forum for learning
at your own pace.
We offer hands-onguidance and
services, if needed.
Defined
Practices
Business
Benefits
Technical
Benefits
ibm.com/cloud/garage>
Find IBM Cloud Garages worldwide
21
AUSTIN COPENHAGEN DUBAI LONDON MELBOURNE
MUNICH NEW YORK NICE SANFRANCISCO SÃOPAULO
SINGAPORE TOKYO TORONTO
Get your hands in the code
22
developer.ibm.com/patterns>
232323
Free Community
Edition
Try Kubernetes with
IBM Cloud Private
ibm.biz/Try-IBMCloudPrivate>
24
Learn
more in
our new
book!
Now available
online
compliments of
IBM (see
above)!
Come see us to
get it signed!
ibm.biz/BdYA4i>
25
Get a
copy of
these
slides
26

More Related Content

What's hot

Introduction to IBM Cloud Private - April 2018
Introduction to IBM Cloud Private - April 2018Introduction to IBM Cloud Private - April 2018
Introduction to IBM Cloud Private - April 2018Michael Elder
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?Michael Elder
 
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM CloudDevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM CloudMichael Elder
 
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...Michael Elder
 
Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)
Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)
Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)Yong Feng
 
Accelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateAccelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateMichael Elder
 
Tap into a Private Cloud as a Service to Accelerate Hybrid Success
Tap into a Private Cloud as a Service to Accelerate Hybrid SuccessTap into a Private Cloud as a Service to Accelerate Hybrid Success
Tap into a Private Cloud as a Service to Accelerate Hybrid SuccessDenny Muktar
 
Accelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateAccelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateMichael Elder
 
L105704 ibm-cloud-private-z-cairo-v1902a
L105704 ibm-cloud-private-z-cairo-v1902aL105704 ibm-cloud-private-z-cairo-v1902a
L105704 ibm-cloud-private-z-cairo-v1902aTony Pearson
 
IBM Private Cloud Platform - Setting Foundation for Hybrid (JUKE, 2015)
IBM Private Cloud Platform - Setting Foundation for Hybrid (JUKE, 2015)IBM Private Cloud Platform - Setting Foundation for Hybrid (JUKE, 2015)
IBM Private Cloud Platform - Setting Foundation for Hybrid (JUKE, 2015)Denny Muktar
 
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...Hendrik van Run
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds - UrbanCod...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds - UrbanCod...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds - UrbanCod...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds - UrbanCod...Michael Elder
 
IBM Cloud: Architecture for Disruption
IBM Cloud: Architecture for DisruptionIBM Cloud: Architecture for Disruption
IBM Cloud: Architecture for DisruptionJürgen Ambrosi
 
Planning Cloud Migrations: It's all about the destination
Planning Cloud Migrations: It's all about the destinationPlanning Cloud Migrations: It's all about the destination
Planning Cloud Migrations: It's all about the destinationArvind Viswanathan
 
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...Michael Elder
 
Mastering Application Integration Challenges in Hybrid Cloud Environments
Mastering Application Integration Challenges in Hybrid Cloud EnvironmentsMastering Application Integration Challenges in Hybrid Cloud Environments
Mastering Application Integration Challenges in Hybrid Cloud EnvironmentsSam Garforth
 
IBM Bluemix Dedicated – GitHub Enterprise
IBM Bluemix Dedicated – GitHub EnterpriseIBM Bluemix Dedicated – GitHub Enterprise
IBM Bluemix Dedicated – GitHub EnterpriseIBM DevOps
 
IBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEIBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEFilipe Miranda
 

What's hot (20)

Introduction to IBM Cloud Private - April 2018
Introduction to IBM Cloud Private - April 2018Introduction to IBM Cloud Private - April 2018
Introduction to IBM Cloud Private - April 2018
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?
 
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM CloudDevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
 
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...
 
Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)
Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)
Client Deployment of IBM Cloud Private (Think 2019 Session 5964A)
 
Accelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateAccelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud Private
 
Tap into a Private Cloud as a Service to Accelerate Hybrid Success
Tap into a Private Cloud as a Service to Accelerate Hybrid SuccessTap into a Private Cloud as a Service to Accelerate Hybrid Success
Tap into a Private Cloud as a Service to Accelerate Hybrid Success
 
Accelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateAccelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud Private
 
L105704 ibm-cloud-private-z-cairo-v1902a
L105704 ibm-cloud-private-z-cairo-v1902aL105704 ibm-cloud-private-z-cairo-v1902a
L105704 ibm-cloud-private-z-cairo-v1902a
 
IBM Private Cloud Platform - Setting Foundation for Hybrid (JUKE, 2015)
IBM Private Cloud Platform - Setting Foundation for Hybrid (JUKE, 2015)IBM Private Cloud Platform - Setting Foundation for Hybrid (JUKE, 2015)
IBM Private Cloud Platform - Setting Foundation for Hybrid (JUKE, 2015)
 
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds - UrbanCod...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds - UrbanCod...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds - UrbanCod...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds - UrbanCod...
 
IBM Cloud: Architecture for Disruption
IBM Cloud: Architecture for DisruptionIBM Cloud: Architecture for Disruption
IBM Cloud: Architecture for Disruption
 
Planning Cloud Migrations: It's all about the destination
Planning Cloud Migrations: It's all about the destinationPlanning Cloud Migrations: It's all about the destination
Planning Cloud Migrations: It's all about the destination
 
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
 
Mastering Application Integration Challenges in Hybrid Cloud Environments
Mastering Application Integration Challenges in Hybrid Cloud EnvironmentsMastering Application Integration Challenges in Hybrid Cloud Environments
Mastering Application Integration Challenges in Hybrid Cloud Environments
 
IBM Bluemix Dedicated – GitHub Enterprise
IBM Bluemix Dedicated – GitHub EnterpriseIBM Bluemix Dedicated – GitHub Enterprise
IBM Bluemix Dedicated – GitHub Enterprise
 
IBM Bluemix Overview
IBM Bluemix OverviewIBM Bluemix Overview
IBM Bluemix Overview
 
IBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEIBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONE
 
Bluemix
BluemixBluemix
Bluemix
 

Similar to Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps

Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling CloudsElevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling CloudsMichael Elder
 
D-DAY 2015 Hybrid Cloud IBM
D-DAY 2015 Hybrid Cloud IBMD-DAY 2015 Hybrid Cloud IBM
D-DAY 2015 Hybrid Cloud IBMDEVOPS D-DAY
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Phil Estes
 
IBM Cloud UCC Talk, 22nd November 2017
IBM Cloud UCC Talk, 22nd November 2017IBM Cloud UCC Talk, 22nd November 2017
IBM Cloud UCC Talk, 22nd November 2017Michael O'Sullivan
 
IBM Cloud Paris Meetup - 20180628 - IBM Cloud Private
IBM Cloud Paris Meetup - 20180628 - IBM Cloud PrivateIBM Cloud Paris Meetup - 20180628 - IBM Cloud Private
IBM Cloud Paris Meetup - 20180628 - IBM Cloud PrivateIBM France Lab
 
Build12 factorappusingmp
Build12 factorappusingmpBuild12 factorappusingmp
Build12 factorappusingmpEmily Jiang
 
The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor appRavi Okade
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootVMware Tanzu
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?Michael Elder
 
fiu-cloud-hackathon-lec1-v6
fiu-cloud-hackathon-lec1-v6fiu-cloud-hackathon-lec1-v6
fiu-cloud-hackathon-lec1-v6Kirill Osipov
 
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South CoastPlatform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South CoastRobert Nicholson
 
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixPlatform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixDavid Currie
 
Pivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystemPivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystemKarthikeyanSambandam2
 
Developing and Deploying Microservices to IBM Cloud Private
Developing and Deploying Microservices to IBM Cloud PrivateDeveloping and Deploying Microservices to IBM Cloud Private
Developing and Deploying Microservices to IBM Cloud PrivateShikha Srivastava
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on BluemixRam Vennam
 
Move existing middleware to the cloud
Move existing middleware to the cloudMove existing middleware to the cloud
Move existing middleware to the cloudArthur De Magalhaes
 
Kube con china_2019_7 missing factors for your production-quality 12-factor apps
Kube con china_2019_7 missing factors for your production-quality 12-factor appsKube con china_2019_7 missing factors for your production-quality 12-factor apps
Kube con china_2019_7 missing factors for your production-quality 12-factor appsShikha Srivastava
 

Similar to Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps (20)

IBM Cloud Paks - IBM Cloud
IBM Cloud Paks - IBM CloudIBM Cloud Paks - IBM Cloud
IBM Cloud Paks - IBM Cloud
 
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling CloudsElevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
 
D-DAY 2015 Hybrid Cloud IBM
D-DAY 2015 Hybrid Cloud IBMD-DAY 2015 Hybrid Cloud IBM
D-DAY 2015 Hybrid Cloud IBM
 
Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?Containerize, PaaS, or Go Serverless!?
Containerize, PaaS, or Go Serverless!?
 
IBM Cloud UCC Talk, 22nd November 2017
IBM Cloud UCC Talk, 22nd November 2017IBM Cloud UCC Talk, 22nd November 2017
IBM Cloud UCC Talk, 22nd November 2017
 
IBM Cloud Paris Meetup - 20180628 - IBM Cloud Private
IBM Cloud Paris Meetup - 20180628 - IBM Cloud PrivateIBM Cloud Paris Meetup - 20180628 - IBM Cloud Private
IBM Cloud Paris Meetup - 20180628 - IBM Cloud Private
 
Docker12 factor
Docker12 factorDocker12 factor
Docker12 factor
 
Build12 factorappusingmp
Build12 factorappusingmpBuild12 factorappusingmp
Build12 factorappusingmp
 
The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor app
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?
 
fiu-cloud-hackathon-lec1-v6
fiu-cloud-hackathon-lec1-v6fiu-cloud-hackathon-lec1-v6
fiu-cloud-hackathon-lec1-v6
 
Docker Datacenter - CaaS
Docker Datacenter - CaaSDocker Datacenter - CaaS
Docker Datacenter - CaaS
 
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South CoastPlatform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
 
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixPlatform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM Bluemix
 
Pivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystemPivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystem
 
Developing and Deploying Microservices to IBM Cloud Private
Developing and Deploying Microservices to IBM Cloud PrivateDeveloping and Deploying Microservices to IBM Cloud Private
Developing and Deploying Microservices to IBM Cloud Private
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on Bluemix
 
Move existing middleware to the cloud
Move existing middleware to the cloudMove existing middleware to the cloud
Move existing middleware to the cloud
 
Kube con china_2019_7 missing factors for your production-quality 12-factor apps
Kube con china_2019_7 missing factors for your production-quality 12-factor appsKube con china_2019_7 missing factors for your production-quality 12-factor apps
Kube con china_2019_7 missing factors for your production-quality 12-factor apps
 

More from Michael Elder

Introducing github.com/open-cluster-management – How to deliver apps across c...
Introducing github.com/open-cluster-management – How to deliver apps across c...Introducing github.com/open-cluster-management – How to deliver apps across c...
Introducing github.com/open-cluster-management – How to deliver apps across c...Michael Elder
 
CTO Forum - Rethink Technology Agile Keynote
CTO Forum - Rethink Technology Agile KeynoteCTO Forum - Rethink Technology Agile Keynote
CTO Forum - Rethink Technology Agile KeynoteMichael Elder
 
UrbanCode Deploy DevOps Best Practices
UrbanCode Deploy  DevOps Best PracticesUrbanCode Deploy  DevOps Best Practices
UrbanCode Deploy DevOps Best PracticesMichael Elder
 
DevOps for IBM Commerce
DevOps for IBM CommerceDevOps for IBM Commerce
DevOps for IBM CommerceMichael Elder
 
How to Adopt Docker Within Your Enterprise Using IBM UrbanCode Deploy (Interc...
How to Adopt Docker Within Your Enterprise Using IBM UrbanCode Deploy (Interc...How to Adopt Docker Within Your Enterprise Using IBM UrbanCode Deploy (Interc...
How to Adopt Docker Within Your Enterprise Using IBM UrbanCode Deploy (Interc...Michael Elder
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Michael Elder
 
Turning up the HEAT with IBM MobileFirst for iOS Apps (Interconnect 2016)
Turning up the HEAT with IBM MobileFirst for iOS Apps (Interconnect 2016)Turning up the HEAT with IBM MobileFirst for iOS Apps (Interconnect 2016)
Turning up the HEAT with IBM MobileFirst for iOS Apps (Interconnect 2016)Michael Elder
 
Turning up the HEAT with IBM MobileFirst for iOS Apps
Turning up the HEAT with IBM MobileFirst for iOS AppsTurning up the HEAT with IBM MobileFirst for iOS Apps
Turning up the HEAT with IBM MobileFirst for iOS AppsMichael Elder
 
Continuously Design your Continuous Deployment
Continuously Design your Continuous DeploymentContinuously Design your Continuous Deployment
Continuously Design your Continuous DeploymentMichael Elder
 
Improving Software Delivery with Software Defined Environments (IBM Interconn...
Improving Software Delivery with Software Defined Environments (IBM Interconn...Improving Software Delivery with Software Defined Environments (IBM Interconn...
Improving Software Delivery with Software Defined Environments (IBM Interconn...Michael Elder
 
Industry Perspective: DevOps - What it Means for the Average Business
Industry Perspective: DevOps - What it Means for the Average BusinessIndustry Perspective: DevOps - What it Means for the Average Business
Industry Perspective: DevOps - What it Means for the Average BusinessMichael Elder
 
DevOps in Practice: When does "Practice" Become "Doing"?
DevOps in Practice: When does "Practice" Become "Doing"?DevOps in Practice: When does "Practice" Become "Doing"?
DevOps in Practice: When does "Practice" Become "Doing"?Michael Elder
 

More from Michael Elder (12)

Introducing github.com/open-cluster-management – How to deliver apps across c...
Introducing github.com/open-cluster-management – How to deliver apps across c...Introducing github.com/open-cluster-management – How to deliver apps across c...
Introducing github.com/open-cluster-management – How to deliver apps across c...
 
CTO Forum - Rethink Technology Agile Keynote
CTO Forum - Rethink Technology Agile KeynoteCTO Forum - Rethink Technology Agile Keynote
CTO Forum - Rethink Technology Agile Keynote
 
UrbanCode Deploy DevOps Best Practices
UrbanCode Deploy  DevOps Best PracticesUrbanCode Deploy  DevOps Best Practices
UrbanCode Deploy DevOps Best Practices
 
DevOps for IBM Commerce
DevOps for IBM CommerceDevOps for IBM Commerce
DevOps for IBM Commerce
 
How to Adopt Docker Within Your Enterprise Using IBM UrbanCode Deploy (Interc...
How to Adopt Docker Within Your Enterprise Using IBM UrbanCode Deploy (Interc...How to Adopt Docker Within Your Enterprise Using IBM UrbanCode Deploy (Interc...
How to Adopt Docker Within Your Enterprise Using IBM UrbanCode Deploy (Interc...
 
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
 
Turning up the HEAT with IBM MobileFirst for iOS Apps (Interconnect 2016)
Turning up the HEAT with IBM MobileFirst for iOS Apps (Interconnect 2016)Turning up the HEAT with IBM MobileFirst for iOS Apps (Interconnect 2016)
Turning up the HEAT with IBM MobileFirst for iOS Apps (Interconnect 2016)
 
Turning up the HEAT with IBM MobileFirst for iOS Apps
Turning up the HEAT with IBM MobileFirst for iOS AppsTurning up the HEAT with IBM MobileFirst for iOS Apps
Turning up the HEAT with IBM MobileFirst for iOS Apps
 
Continuously Design your Continuous Deployment
Continuously Design your Continuous DeploymentContinuously Design your Continuous Deployment
Continuously Design your Continuous Deployment
 
Improving Software Delivery with Software Defined Environments (IBM Interconn...
Improving Software Delivery with Software Defined Environments (IBM Interconn...Improving Software Delivery with Software Defined Environments (IBM Interconn...
Improving Software Delivery with Software Defined Environments (IBM Interconn...
 
Industry Perspective: DevOps - What it Means for the Average Business
Industry Perspective: DevOps - What it Means for the Average BusinessIndustry Perspective: DevOps - What it Means for the Average Business
Industry Perspective: DevOps - What it Means for the Average Business
 
DevOps in Practice: When does "Practice" Become "Doing"?
DevOps in Practice: When does "Practice" Become "Doing"?DevOps in Practice: When does "Practice" Become "Doing"?
DevOps in Practice: When does "Practice" Become "Doing"?
 

Recently uploaded

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 

Recently uploaded (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 

Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps

  • 1. Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps Dr. Brad Topol IBM Distinguished Engineer @bradtopol Michael Elder IBM Distinguished Engineer @mdelder
  • 2. Let’s deploy our apps on the cloud! 2© 2019 IBM Corporation
  • 3. Why? 3© 2019 IBM Corporation 1.Cloud has evolved as a strategy for disruption driven by continuous delivery. 2.Cloud elasticity enables microservices architectures to scale out quickly, but also roll new updates out at immense speeds. 3.Data becomes the fuel for business innovation. 4.AI becomes the catalyst to turn data into brilliant user experiences. 5.Profit! Or really, reduce overall cost.
  • 4. 4 What is a 12-factor app? https://12factor.net/ • “12-Factor” is a software methodology for building scalable microservice applications • Originally created by Heroku • Best practices designed to enable applications to be built with portability, resilience, and scalability when deployed to the web
  • 5. 5 I. Codebase One codebase tracked in revision control,manydeploys II. Dependencies Explicitlydeclare and isolate dependencies III. Config Store config in the environment IV. Backing services Treat backing services as attached resources V. Build, release, run Strictlyseparate build and run stages VI. Processes Execute the app as one or more stateless processes VII. Port binding Export services via port binding VIII. Concurrency Scale out via the process model IX. Disposability Maximize robustness with fast startup and graceful shutdown X. Dev/prod parity Keep development, staging,and production as similar as possible XI. Logs Treat logs as event streams XII. Admin processes Run admin/management tasks as one-off processes Why 12 factor apps? https://12factor.net/ • Make it easier to run, scale, and deploy applications • Keep parity between development and production • Provide strict separation between build, release, and run stages
  • 6. I. Codebase One codebase tracked in revision control, many deploys II. Dependencies Explicitly declare and isolate dependencies III. Config Store config in the environment IV. Backing services Treat backing services as attached resources V. Build, release, run Strictly separate build and run stages VI. Processes Execute the app as one or more stateless processes VII. Port binding Export services via port binding VIII. Concurrency Scale out via the process model IX. Disposability Maximize robustness with fast startup and graceful shutdown X. Parity between dev & prod Keep development, staging, and production as similar as possible XI. Logs Treat logs as event streams XII. Admin processes Run admin/management tasks as one-off processes Code Deploy Operate
  • 7. 7 I. Codebase One codebase tracked in revision control, many deploys V. Build, release, run Strictly separate build and run stages X. Parity between dev & prod Keep development, staging, and production as similar as possible Code Factors Mapped to Kubernetes Container images built from Dockerfiles + Kubernetes Declarative YAML based deployment Using same container images and Kubernetes YAML objects in both dev and production Continuous Delivery and leveraging Kubernetes support for deploying updates
  • 8. 8 II. Dependencies Explicitly declare and isolate dependencies III. Config Store config in the environment IV. Backing services Treat backing services as attached resources VI. Processes Execute the app as one or more stateless processes VII. Port binding Export services via port binding Deploy Factors Mapped to Kubernetes Container Secret Service ConfigMap Persistent Volume Pod
  • 9. IX. Disposability (Pods) Maximize robustness with fast startup and graceful shutdown Common Services (logging, monitoring, audit, etc) VIII. Concurrency Scale out via the process model XI. Logs Treat logs as event streams XII. Admin processes Run admin/management tasks as one-off processes Operate Factors Mapped to Kubernetes Deployment (ReplicaSet) Stateles s Stateless StatefulSet Stateful Job Batch DaemonSet System Job Batch
  • 11. Code factors for our app 11 # Application to deploy apiVersion: extensions/v1beta1 kind: Deployment metadata: name: watson-conversation-app spec: replicas: 2 # tells deployment to run 2 pods matching the template template: # create pods using pod definition in this template metadata: labels: app: watson-conversation-app tier: frontend spec: containers: - name: watson-conversation-app image: mycluster.icp:8500/default/conversation- simple:alt resources: requests: cpu: 100m memory: 100Mi env: - name: WORKSPACE_ID valueFrom: configMapKeyRef: name: car-dashboard-config key: workspace_id - name: CONVERSATION_SERVICE_CAR valueFrom: secretKeyRef: name: binding-conversation-service-car key: binding 1.Container Images are built from Dockerfiles. Kubernetes Deployments, etc are managed as YAML (Factor #I) 2.Having a strong artifact-driven model makes it easier to follow a Continuous Delivery lifecycle (Factor #V) 3.Using the same images and YAML objects make it easier for dev teams to match what’s running in production (Factor #X)
  • 12. Deploy factors for our app 12 1.ConfigMaps and Secrets can be managed in source repositories or built dynamically via commands (Factor #III) 2.Our container image runs as a container process in a Pod with other containers (Factor #VI) 3.A collection of Pods can expose or consume Services via port bindings (Factor #IV & Factor #VII) Pod (SingleIP Address) Volume Volume container container container Volume Secret ConfigMap
  • 13. Operate factors for our app 1.A Deployment includes a ReplicaSet which declares the desired availability policy(Factor #VIII) 2.If a Pod fails, Kubernetes will attempt to recover it via restarting the Pod or scheduling it to a new node (Factor #IX) 3.Running our app as a container makes it possible to capture all logs, metrics, and other management functions in a consistent way (Factor #XII)
  • 14. Great, but 95% of my workloads do not fit 12- factor! 14
  • 15. Code factors for middleware 15 1.Helm Charts are an open way to package 12-factor apps, but also middleware like IBM MQ Series (F#I) 2.Providing a catalog of Helm Charts either from the community or your internal teams makes it easier to build production-like environments (F#V) 3.Just like apps, build these into Continuous Delivery pipelines for canary testing your upgrades of critical supporting services • IBM MQ Series is a leading provider of messaging services for enterprise apps; • Great example of a critical component that isn’t 12-factor
  • 16. Deploy factors for middleware 16 1.Secrets used to configure credentials and TLS certificates (F#III) 2.MQ built as a container image that runs as a container process in a Pod (F#VI) 3.Admin console, app messaging ports, and metrics ports exposed via Services with port bindings (F#IV & F#VII) MQ (SingleIP Address) Volume mq Secret Service
  • 17. Operate factors for middleware 1.A StatefulSetthat declares the desired availability policyfor MQ; a database might scale out replicas or prepare primary/secondary failover (F#VIII) 2.Recovered Pods re-mount the same PersistentVolumes (F#IX) 3.All Pods can have logs, metrics, or other management details captured automatically by your Kubernetes provider (F#XII)
  • 18. Continuous Integration & Delivery 18 1.Exposing all of your datacenter via container images with a Kubernetes orchestrator will take time for full maturity 2.Potential to dramaticallysimplify delivery of services and ongoing operations with built-in control planes for running containers 3.Start NOW to leverage these same features designed for 12-factor apps to expose more production-like environments (F#V) for your devs/LOBs
  • 20. Leverage the IBM Cloud Garage Method to change how you work. 20 Provides an in-depth collectionof practices, tutorials, and architectures to help you on this journey. Completely open forum for learning at your own pace. We offer hands-onguidance and services, if needed. Defined Practices Business Benefits Technical Benefits ibm.com/cloud/garage>
  • 21. Find IBM Cloud Garages worldwide 21 AUSTIN COPENHAGEN DUBAI LONDON MELBOURNE MUNICH NEW YORK NICE SANFRANCISCO SÃOPAULO SINGAPORE TOKYO TORONTO
  • 22. Get your hands in the code 22 developer.ibm.com/patterns>
  • 23. 232323 Free Community Edition Try Kubernetes with IBM Cloud Private ibm.biz/Try-IBMCloudPrivate>
  • 24. 24 Learn more in our new book! Now available online compliments of IBM (see above)! Come see us to get it signed! ibm.biz/BdYA4i>
  • 26. 26