SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
Can I Contain This?
When & How to Containerise
Ed Seymour, Red Hat
Containerisation Lead, EMEA
ON LINUX, CONTAINERS ARE LINUX
app kernel
Without
containers
Container Host
app kernel
With
containers
Namespaces Where you run your
container is
important
WHAT IS SO GREAT ABOUT CONTAINERS?
SOFTWARE DELIVERY
Umm, I’ve
got this
container?
No problem, we can
run containers!
App
(and I only need
what you’ve changed
since last time!)
POLYGLOT
OK, so I’ve
written this in
Go, will that be
a problem?
No problem, I’ll
worry about the
container, you
worry about what
to put in it!
App
ENCAPSULATION
I need to patch
the server, will
be updating
library-xyz, is
that cool?
No worries, all of my
app dependencies
are in my container
image
App
I patch my app at the
app release cadence,
you go ahead!
REPEATABILITY
Can you
replicate
the issue?
Sure, we’ll test
using the
same image!
App
PROVENANCE
Umm, the security
guy wants to check
what we’re running
here
No problem, we can
use the image ref
and show its path
through dev, test
and into prod
App
KUBERNETES
OK, so I have a
microservice
architecture with
back-end logic and a
persistence tier, can
you run this?
Sure! That’s
why we use
Kubernetes!
App
App
App
App
App
App
CAN I CONTAIN THIS!?
Err… ok, let’s
get them into
containers...
App
App
App
App
App
AppApp
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
Awesome! So
what about all
these?
IF IT RUNS ON LINUX...
...it should containerise, but check for ‘red flags’
https://www.flickr.com/photos/chinesejetpilot/89376843
https://commons.wikimedia.org/wiki/File:Tokenring.png
https://www.maxpixel.net/Documents-Paper-Document-Sign-Bus
iness-Agreement-428333
mov ax,'00' ; initialize to all ASCII zeroes
mov di,counter ; including the counter
mov cx,digits+cntDigits/2 ; two bytes at a time
cld ; initialize from low to high memory
rep stosw ; write the data
inc ax ; make sure ASCII zero is in al
mov [num1 + digits - 1],al ; last digit is one
mov [num2 + digits - 1],al ;
mov [counter + cntDigits - 1],al
http://assembly.happycodings.com/code1.html
...BUT THEY DON’T MEAN IT WON’T
Our app runs in
RHEL 5, but there
isn’t a RHEL5 base
image, so this won’t
containerise.
Why are you fixed to
RHEL5?
Does the app itself rely
on RHEL5 libs &
architecture
or
Do the Ops team say
they only support this
platform?
App
SO KUBERNETES WON’T BE A PROBLEM?
14
CAN YOU MAP APP ARCHITECTURE TO KUBERNETES?
Underlying infrastructure and transport network
Replica Set Stateful Set Daemon Set
Platform OpsDev & App Ops
PLATFORM HARDENING & SECURITY
The platform is hardened
against potential security risks
& bad practice.
Make sure your containers play
nice! root
DO YOU NEED TO CHANGE YOUR PROCESSES?
Build
SlaveBuild
SlaveBuild
Slave
VM
HOW WILL YOU OPERATE YOUR SOFTWARE?
Installation Upgrade Backup
Failure
recovery
Metrics
& insights
Tuning
None of this
is like it use
to be!
We will need
to migrate to
new tooling
USING COTS
Hey, you’ll support
this if we run it in a
container, right?
Sorry, we’re
don’t support
that yet :(
App
THE BEST WAY TO OPTIMISE FOR KUBERNETES...
K8s cluster
ip
ip
ip
backend
ip
myapp
ip
K8s Ingress Services myapp.com
...IS TO START WITH KUBERNETES
Build containers for Kubernetes
Design for web-scale & cloud native
The deployable unit is [App + K8s]
WHAT DO WE NEED FROM OUR KUBERNETES
PLATFORM?
REFERENCE ARCHITECTURE
FOR ENTERPRISE KUBERNETES
Automated Operations
Kubernetes
Red Hat Enterprise Linux or Red Hat CoreOS
Application
Services
CaaS PaaSBest IT Ops Experience Best Developer Experience
Cluster
Services
Developer
Services
Middleware, Service Mesh, Functions, ISV Metrics, Chargeback, Registry, Logging Dev Tools, Automated Builds, CI/CD, IDE
THE CLOUD-NATIVE INTEGRATION CHALLENGE
OPENSHIFT IS A CERTIFIED KUBERNETES
DISTRIBUTION
PROVIDING A FULL-STACK SOLUTION
200+ validated integrations
100s of defect and performance fixes
9 year enterprise lifecycle management
Security fixes
Middleware integration
(container images, storage, networking, cloud services, etc)
Certified Kubernetes
OPENSHIFT IS KUBERNETES FOR THE ENTERPRISE
Kubernetes
Release
OpenShift
Release
3-4 months
hardening
OPENSHIFT CONTAINER PLATFORM
KUBERNETES
RED HAT ENTERPRISE LINUX | RED HAT CoreOS
ENTERPRISE KUBERNETES
SDN NETWORKING STORAGE LOGGING MONITORING
CI / CD PIPELINES SERVICE CATALOG
CONTAINER REGISTRY SECURITY | AUTH OPS CONSOLE
HYBRID CLOUD BARE METAL VIRTUAL PRIVATE PUBLIC
INTEGRATE SERVICES
OFF PLATFORM
SERVICE BROKERS | ANSIBLE | AWS | AZURE | GCP
ADD MORE APP TYPES WINDOWS CLOUD-NATIVE BIG DATA IOT SERVERLESS
AUTOMATED OPERATIONS
(OPERATOR FRAMEWORK)
OPERATOR LIFECYCLE MANAGER | PLATFORM | APPLICATIONS
RED HAT MIDDLEWARE SERVICES
ONE PLATFORM
FLEXIBLE CONSUMPTION MODELS
* announced for general availability in late 2018
Manage your own secure,
enterprise-grade Kubernetes
platform
Managed service offering on
your choice of AWS, Azure* or
Google
SaaS offering to build, deploy,
and scale container applications
in the cloud
Check it out!
https://learn.openshift.com
OpenShift 4.0 Beta!! https://try.openshift.com
OPENSHIFT LETS YOU START WITH KUBERNETES
BUILDS CONTAINERS ON THE PLATFORM
Dude! We’re
already building
containers.
Excellent! Just
point OpenShift
at your
Dockerfiles, and
it will become
your build farm
It will also automatically add
metadata, help you manage
your upstream base images,
and provide a secure place to
store your built images
CONTAINER REUSE: REFACTOR DOCKERFILES
Dockerfile
OS base OS base
App +
Deps
Lots to maintain
OS base OS base
Vendor MW
OS base
Vendor MW
Your
Standards
Dockerfile
App
OS base
Vendor MW
Your
Standards
3rd Party Vendors (supported) Local specialisations Focus on the app!
FROM Jdk-base
RUN Install packages & deps
Make directories
Set permissions
Set ownership
Download binaries & copy to dir
Fix static config
USER Preferred uid
EXPOSE Listened ports
VOLUME Working directories
ADD Init script
ENTRYPOINT Run the init script
CMD Default run command
FROM Tomcat base
ADD Binary to deployment dir
ADD Non-standard libs/drivers/etc
Focus on the App!
EXAMPLE: TOMCAT APP
CONTAINERS != VIRTUAL MACHINES
(SO DON’T TREAT THEM LIKE THEY ARE!)
EXAMPLE: MINI-VM
FROM OS-base
RUN Install packages & deps
Make directories
Install database
Install sshd
Install app framework
Copy app binary
Install init process
Add init scripts
Set permissions
Set ownership
USER Preferred uid
EXPOSE Listened ports (app, db, sshd)
VOLUME Working directories (app, db)
FROM Tomcat base
ADD Binary to deployment dir
ADD Non-standard libs/drivers/etc
1
2
3
No need for sshd, platform
provides remote shell
Use existing database
container, not need to create
a new one
Focus on the App!
OPENSHIFT BUILDS FROM BINARIES
We already
have CI...
Awesome, we’ve
probably got a
base image just
for you!
K8s cluster
35
NAMESPACES FOR PIPELINE STAGES
myapp-dev
jenkins
myapp-test12345 myapp-prod
Build & test
Promote for
specialised tests
Promote to
production
Namespaces used
to encapsulate
stages
BUILDS FROM SOURCE
I just want
to push
code!
No problem, we’ll
compile from
source and build
your containers!
MOVING FROM DIY KUBERNETES
We already use K8s,
and have kubectl in
a lot of scripts and
automation Not a problem -
OpenShift is Certified
Kubernetes, kubectl
works fine
MANAGING KUBERNETES RESOURCES
So what do I do
with my K8s
manifests?
I’d suggest treating
it like source code,
and promoting
versions through
SDLC
OCP cluster
39
MANAGING KUBERNETES RESOURCES
myapp-dev myapp-test12345 myapp-prod
bc
Build and deployment
resources
Just deployment
resources
Externalised config
(ConfigMaps)
provides runtime
context
A REAL WORLD EXAMPLE
CAN WE CONTAINERISE?
Tell me about your app...
App
It’s a Tomcat app
Check ✔
It connects to an external MS SQL DB
Check ✔
We use the ODBC Java driver
Err, OK, Check ✔
The driver authenticates using Kerberos
Che.., wait, what?
WHAT DO YOU DO TODAY?
...and can we replicate this?
Server
Tomcat
App
cron
kinit
OPTION 1: BUILD INTO CONTAINER
RunBuild
base
middleware
common
krb5 client
app
Vendor
certified &
supported
Internally
supported
App team
supported
Application
Container Layers
FROM common
RUN install krb5-client
ADD init-conf 
/etc/myinit
ADD kinit-refresh /
VOLUME [“/keytab.here”]
VOLUME [“/config.here”]
ENTRYPOINT
[“/sbin/myinit”]
pid: 1
pid: 3
myinit
kinit-refresh
app
pid: 2
PREFERRED: USE SIDECAR PATTERN
RunBuild
base
middleware
common
app
Vendor certified &
supported
Internally supported
App team supported
Application
Container Layers
FROM common
RUN install krb5-client
myinit
ADD kinit-refresh /
VOLUME [“/keytab.here”]
VOLUME [“/config.here”]
ENTRYPOINT
[“/kinit-refresh”]
base
common
kinit-refresh
Vendor certified &
supported
Internally supported
Krb5 team supported
Application Pod
kinit-refresh
Container Layers
app
kinit-refresh
shm
ARCHITECTURAL SPIKE
What is the bare minimum needed to develop & test this feature?
Demonstrate that we can obtain a kerberos token, and pass to app container
1) Kerberos server ‘test harness’ - part of test stack
2) Test application - just needs to demonstrate a valid token, e.g. klist
3) Side-car authentication container
Just enough: prove & test the architecture
KERBEROS TEST SERVER
Run
Build
base
common
krb5-server
Vendor certified &
supported
Internally supported
Krb5 team supported
KDC Runtime
KDC Pod
KRB5 Server
Container Layers
kdc
kadmind
shm
See: https://github.com/edseymour/kinit-sidecar/tree/master/example-server
TESTING STACK
ip
Config Map
Shared mem
ip
kdc-server
Shared mem
kinit-sidecar
application kadmin
kdc
Test Application
Pod
Test KDC Pod
TEST SCRIPT
1. Provision the kdc server application
2. Provision the test app with kinit-sidecar
3. Runs the kadmin command line to create a new example principal and obtain its
keytab
4. Show the logs of the example application, which is defined to list active
tokens. If the process works, a new active token should be displayed within a
few seconds.
See: https://github.com/edseymour/kinit-sidecar/tree/master/openshift
KUBERNETES CHANGED HOW WE SOLVED THE PROBLEM
v1.2
Separation of
Concerns
Promoting Reuse
Independent
Release Cadence
ELIF
So much, so complicated!
I can see it looks like that, but not really...
Software design now maps to run-time
Common features are moving out of apps...
...and into standard, supported services
You get to focus on the app!
We’re reducing software delivery risks
51
● Services Mesh! (Istio)
● Serverless!
Check out this great blog “Microservices in the Post-Kubernetes Era”
https://www.infoq.com/articles/microservices-post-kubernetes
Free books!
https://developers.redhat.com/search/?f=type~book
More!
THANK YOU!
Find me at @edwaado

Más contenido relacionado

La actualidad más candente

Cloud-native Application Lifecycle Management
Cloud-native Application Lifecycle ManagementCloud-native Application Lifecycle Management
Cloud-native Application Lifecycle ManagementNeil Gehani
 
Fully Orchestrating Applications, Microservices and Enterprise Services with ...
Fully Orchestrating Applications, Microservices and Enterprise Services with ...Fully Orchestrating Applications, Microservices and Enterprise Services with ...
Fully Orchestrating Applications, Microservices and Enterprise Services with ...Docker, Inc.
 
OpenSlava 2014 - CloudFoundry inside-out
OpenSlava 2014 - CloudFoundry inside-outOpenSlava 2014 - CloudFoundry inside-out
OpenSlava 2014 - CloudFoundry inside-outAntons Kranga
 
DockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise Edition
DockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise EditionDockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise Edition
DockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise EditionDocker, Inc.
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...Josef Adersberger
 
DockerCon 18 Cool Hacks: solo.io
DockerCon 18 Cool Hacks:  solo.ioDockerCon 18 Cool Hacks:  solo.io
DockerCon 18 Cool Hacks: solo.ioDocker, Inc.
 
Tectonic Summit 2016: Multitenant Data Architectures with Kubernetes
Tectonic Summit 2016: Multitenant Data Architectures with KubernetesTectonic Summit 2016: Multitenant Data Architectures with Kubernetes
Tectonic Summit 2016: Multitenant Data Architectures with KubernetesCoreOS
 
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft CloudKangaroot
 
Resilient Microservices with Spring Cloud
Resilient Microservices with Spring CloudResilient Microservices with Spring Cloud
Resilient Microservices with Spring CloudVMware Tanzu
 
Docker Meetup at Docker HQ: Docker Cloud
Docker Meetup at Docker HQ: Docker CloudDocker Meetup at Docker HQ: Docker Cloud
Docker Meetup at Docker HQ: Docker CloudDocker, Inc.
 
Serverless Apps with Open Whisk
Serverless Apps with Open Whisk Serverless Apps with Open Whisk
Serverless Apps with Open Whisk Dev_Events
 
Keeping your Kubernetes Cluster Secure
Keeping your Kubernetes Cluster SecureKeeping your Kubernetes Cluster Secure
Keeping your Kubernetes Cluster SecureGene Gotimer
 
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...CodeOps Technologies LLP
 
Migrating to Cloud Native Solutions
Migrating to Cloud Native SolutionsMigrating to Cloud Native Solutions
Migrating to Cloud Native Solutionsinwin stack
 
Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...
Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...
Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...Docker, Inc.
 
AWS Summit 2015 Tokyo Breakout: Global Large Scale Cloud Design and Cloud Nat...
AWS Summit 2015 Tokyo Breakout: Global Large Scale Cloud Design and Cloud Nat...AWS Summit 2015 Tokyo Breakout: Global Large Scale Cloud Design and Cloud Nat...
AWS Summit 2015 Tokyo Breakout: Global Large Scale Cloud Design and Cloud Nat...fast_retailing
 
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for UnknownsTectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for UnknownsCoreOS
 
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...Docker, Inc.
 
DockerCon SF 2015: Interconnecting Containers at Scale w/ NGINX
DockerCon SF 2015: Interconnecting Containers at Scale w/ NGINXDockerCon SF 2015: Interconnecting Containers at Scale w/ NGINX
DockerCon SF 2015: Interconnecting Containers at Scale w/ NGINXDocker, Inc.
 

La actualidad más candente (20)

Cloud-native Application Lifecycle Management
Cloud-native Application Lifecycle ManagementCloud-native Application Lifecycle Management
Cloud-native Application Lifecycle Management
 
Fully Orchestrating Applications, Microservices and Enterprise Services with ...
Fully Orchestrating Applications, Microservices and Enterprise Services with ...Fully Orchestrating Applications, Microservices and Enterprise Services with ...
Fully Orchestrating Applications, Microservices and Enterprise Services with ...
 
OpenSlava 2014 - CloudFoundry inside-out
OpenSlava 2014 - CloudFoundry inside-outOpenSlava 2014 - CloudFoundry inside-out
OpenSlava 2014 - CloudFoundry inside-out
 
DockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise Edition
DockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise EditionDockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise Edition
DockerCon 18 Cool Hacks: Cloud Native ML with Docker Enterprise Edition
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 
DockerCon 18 Cool Hacks: solo.io
DockerCon 18 Cool Hacks:  solo.ioDockerCon 18 Cool Hacks:  solo.io
DockerCon 18 Cool Hacks: solo.io
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
Tectonic Summit 2016: Multitenant Data Architectures with Kubernetes
Tectonic Summit 2016: Multitenant Data Architectures with KubernetesTectonic Summit 2016: Multitenant Data Architectures with Kubernetes
Tectonic Summit 2016: Multitenant Data Architectures with Kubernetes
 
9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud9 - Making Sense of Containers in the Microsoft Cloud
9 - Making Sense of Containers in the Microsoft Cloud
 
Resilient Microservices with Spring Cloud
Resilient Microservices with Spring CloudResilient Microservices with Spring Cloud
Resilient Microservices with Spring Cloud
 
Docker Meetup at Docker HQ: Docker Cloud
Docker Meetup at Docker HQ: Docker CloudDocker Meetup at Docker HQ: Docker Cloud
Docker Meetup at Docker HQ: Docker Cloud
 
Serverless Apps with Open Whisk
Serverless Apps with Open Whisk Serverless Apps with Open Whisk
Serverless Apps with Open Whisk
 
Keeping your Kubernetes Cluster Secure
Keeping your Kubernetes Cluster SecureKeeping your Kubernetes Cluster Secure
Keeping your Kubernetes Cluster Secure
 
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
 
Migrating to Cloud Native Solutions
Migrating to Cloud Native SolutionsMigrating to Cloud Native Solutions
Migrating to Cloud Native Solutions
 
Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...
Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...
Use Docker to Deliver Cognitive Services Running Cross Platform and Multi Clo...
 
AWS Summit 2015 Tokyo Breakout: Global Large Scale Cloud Design and Cloud Nat...
AWS Summit 2015 Tokyo Breakout: Global Large Scale Cloud Design and Cloud Nat...AWS Summit 2015 Tokyo Breakout: Global Large Scale Cloud Design and Cloud Nat...
AWS Summit 2015 Tokyo Breakout: Global Large Scale Cloud Design and Cloud Nat...
 
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for UnknownsTectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
 
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...
 
DockerCon SF 2015: Interconnecting Containers at Scale w/ NGINX
DockerCon SF 2015: Interconnecting Containers at Scale w/ NGINXDockerCon SF 2015: Interconnecting Containers at Scale w/ NGINX
DockerCon SF 2015: Interconnecting Containers at Scale w/ NGINX
 

Similar a Can I Contain This?

La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)Alexandre Roman
 
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Productiondevopsdaysaustin
 
MongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB
 
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-nativeKubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-nativecornelia davis
 
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-nativeKubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-nativeVMware Tanzu
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12dotCloud
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on OpenstackDocker, Inc.
 
Continous delivery at docker age
Continous delivery at docker ageContinous delivery at docker age
Continous delivery at docker ageAdrien Blind
 
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...Paul Jensen
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaAmazon Web Services
 
create auto scale jboss cluster with openshift
create auto scale jboss cluster with openshiftcreate auto scale jboss cluster with openshift
create auto scale jboss cluster with openshiftYusuf Hadiwinata Sutandar
 
Immutable infrastructure tsap_v2
Immutable infrastructure tsap_v2Immutable infrastructure tsap_v2
Immutable infrastructure tsap_v2Volodymyr Tsap
 
What's new in containers
What's new in containersWhat's new in containers
What's new in containersMicrosoft
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentAxel Fontaine
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space DemoBoyd Hemphill
 
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Corley S.r.l.
 
Extending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with KubernetesExtending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with KubernetesNicola Ferraro
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 

Similar a Can I Contain This? (20)

La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
 
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
 
MongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB Ops Manager and Kubernetes - James Broadhead
 
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-nativeKubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
 
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-nativeKubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
 
Introduction Into Docker Ecosystem
Introduction Into Docker EcosystemIntroduction Into Docker Ecosystem
Introduction Into Docker Ecosystem
 
Continous delivery at docker age
Continous delivery at docker ageContinous delivery at docker age
Continous delivery at docker age
 
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
create auto scale jboss cluster with openshift
create auto scale jboss cluster with openshiftcreate auto scale jboss cluster with openshift
create auto scale jboss cluster with openshift
 
Immutable infrastructure tsap_v2
Immutable infrastructure tsap_v2Immutable infrastructure tsap_v2
Immutable infrastructure tsap_v2
 
What's new in containers
What's new in containersWhat's new in containers
What's new in containers
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space Demo
 
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
 
Extending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with KubernetesExtending DevOps to Big Data Applications with Kubernetes
Extending DevOps to Big Data Applications with Kubernetes
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 

Más de Eficode

Saving money with Consolidations
Saving money with ConsolidationsSaving money with Consolidations
Saving money with ConsolidationsEficode
 
DevOps Automation with Puppet Bolt & Puppet Enterprise
DevOps Automation with Puppet Bolt & Puppet EnterpriseDevOps Automation with Puppet Bolt & Puppet Enterprise
DevOps Automation with Puppet Bolt & Puppet EnterpriseEficode
 
Scaling DevOps: Pitfalls to avoid
Scaling DevOps: Pitfalls to avoidScaling DevOps: Pitfalls to avoid
Scaling DevOps: Pitfalls to avoidEficode
 
Microservices, IoT, DevOps: A Case Study
Microservices, IoT, DevOps: A Case StudyMicroservices, IoT, DevOps: A Case Study
Microservices, IoT, DevOps: A Case StudyEficode
 
Building a Knowledge Graph at Zalando
Building a Knowledge Graph at ZalandoBuilding a Knowledge Graph at Zalando
Building a Knowledge Graph at ZalandoEficode
 
The Future of Enterprise Applications is Serverless
The Future of Enterprise Applications is ServerlessThe Future of Enterprise Applications is Serverless
The Future of Enterprise Applications is ServerlessEficode
 
Why Serverless is scary without DevSecOps and Observability
Why Serverless is scary without DevSecOps and ObservabilityWhy Serverless is scary without DevSecOps and Observability
Why Serverless is scary without DevSecOps and ObservabilityEficode
 
Securing Modern Applications: The Data Behind DevSecOps
Securing Modern Applications: The Data Behind DevSecOpsSecuring Modern Applications: The Data Behind DevSecOps
Securing Modern Applications: The Data Behind DevSecOpsEficode
 
Secure your Azure and DevOps in a smart way
Secure your Azure and DevOps in a smart waySecure your Azure and DevOps in a smart way
Secure your Azure and DevOps in a smart wayEficode
 
The Mono-repo – a contradiction with Microservices
The Mono-repo – a contradiction with MicroservicesThe Mono-repo – a contradiction with Microservices
The Mono-repo – a contradiction with MicroservicesEficode
 
Using Go in DevOps
Using Go in DevOpsUsing Go in DevOps
Using Go in DevOpsEficode
 
Why Should You Be Thinking About DesignOps?
Why Should You Be Thinking About DesignOps?Why Should You Be Thinking About DesignOps?
Why Should You Be Thinking About DesignOps?Eficode
 
A beginners guide to scaling DevOps
A beginners guide to scaling DevOpsA beginners guide to scaling DevOps
A beginners guide to scaling DevOpsEficode
 
From Zero to SAFe
From Zero to SAFeFrom Zero to SAFe
From Zero to SAFeEficode
 
Bringing value to the business and for your customer through DevOps
Bringing value to the business and for your customer through DevOpsBringing value to the business and for your customer through DevOps
Bringing value to the business and for your customer through DevOpsEficode
 
Disconnected Pipelines: The Missing Link
Disconnected Pipelines: The Missing LinkDisconnected Pipelines: The Missing Link
Disconnected Pipelines: The Missing LinkEficode
 
The Best & Worst Uses of AI in Software Testing
The Best & Worst Uses of AI in Software TestingThe Best & Worst Uses of AI in Software Testing
The Best & Worst Uses of AI in Software TestingEficode
 
Model-based programming and AI-assisted software development
Model-based programming and AI-assisted software developmentModel-based programming and AI-assisted software development
Model-based programming and AI-assisted software developmentEficode
 
2018 State Of DevOps Report Key Findings
2018 State Of DevOps Report Key Findings2018 State Of DevOps Report Key Findings
2018 State Of DevOps Report Key FindingsEficode
 
Large Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared ComponentsLarge Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared ComponentsEficode
 

Más de Eficode (20)

Saving money with Consolidations
Saving money with ConsolidationsSaving money with Consolidations
Saving money with Consolidations
 
DevOps Automation with Puppet Bolt & Puppet Enterprise
DevOps Automation with Puppet Bolt & Puppet EnterpriseDevOps Automation with Puppet Bolt & Puppet Enterprise
DevOps Automation with Puppet Bolt & Puppet Enterprise
 
Scaling DevOps: Pitfalls to avoid
Scaling DevOps: Pitfalls to avoidScaling DevOps: Pitfalls to avoid
Scaling DevOps: Pitfalls to avoid
 
Microservices, IoT, DevOps: A Case Study
Microservices, IoT, DevOps: A Case StudyMicroservices, IoT, DevOps: A Case Study
Microservices, IoT, DevOps: A Case Study
 
Building a Knowledge Graph at Zalando
Building a Knowledge Graph at ZalandoBuilding a Knowledge Graph at Zalando
Building a Knowledge Graph at Zalando
 
The Future of Enterprise Applications is Serverless
The Future of Enterprise Applications is ServerlessThe Future of Enterprise Applications is Serverless
The Future of Enterprise Applications is Serverless
 
Why Serverless is scary without DevSecOps and Observability
Why Serverless is scary without DevSecOps and ObservabilityWhy Serverless is scary without DevSecOps and Observability
Why Serverless is scary without DevSecOps and Observability
 
Securing Modern Applications: The Data Behind DevSecOps
Securing Modern Applications: The Data Behind DevSecOpsSecuring Modern Applications: The Data Behind DevSecOps
Securing Modern Applications: The Data Behind DevSecOps
 
Secure your Azure and DevOps in a smart way
Secure your Azure and DevOps in a smart waySecure your Azure and DevOps in a smart way
Secure your Azure and DevOps in a smart way
 
The Mono-repo – a contradiction with Microservices
The Mono-repo – a contradiction with MicroservicesThe Mono-repo – a contradiction with Microservices
The Mono-repo – a contradiction with Microservices
 
Using Go in DevOps
Using Go in DevOpsUsing Go in DevOps
Using Go in DevOps
 
Why Should You Be Thinking About DesignOps?
Why Should You Be Thinking About DesignOps?Why Should You Be Thinking About DesignOps?
Why Should You Be Thinking About DesignOps?
 
A beginners guide to scaling DevOps
A beginners guide to scaling DevOpsA beginners guide to scaling DevOps
A beginners guide to scaling DevOps
 
From Zero to SAFe
From Zero to SAFeFrom Zero to SAFe
From Zero to SAFe
 
Bringing value to the business and for your customer through DevOps
Bringing value to the business and for your customer through DevOpsBringing value to the business and for your customer through DevOps
Bringing value to the business and for your customer through DevOps
 
Disconnected Pipelines: The Missing Link
Disconnected Pipelines: The Missing LinkDisconnected Pipelines: The Missing Link
Disconnected Pipelines: The Missing Link
 
The Best & Worst Uses of AI in Software Testing
The Best & Worst Uses of AI in Software TestingThe Best & Worst Uses of AI in Software Testing
The Best & Worst Uses of AI in Software Testing
 
Model-based programming and AI-assisted software development
Model-based programming and AI-assisted software developmentModel-based programming and AI-assisted software development
Model-based programming and AI-assisted software development
 
2018 State Of DevOps Report Key Findings
2018 State Of DevOps Report Key Findings2018 State Of DevOps Report Key Findings
2018 State Of DevOps Report Key Findings
 
Large Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared ComponentsLarge Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared Components
 

Último

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Can I Contain This?

  • 1. Can I Contain This? When & How to Containerise Ed Seymour, Red Hat Containerisation Lead, EMEA
  • 2. ON LINUX, CONTAINERS ARE LINUX app kernel Without containers Container Host app kernel With containers Namespaces Where you run your container is important
  • 3. WHAT IS SO GREAT ABOUT CONTAINERS?
  • 4. SOFTWARE DELIVERY Umm, I’ve got this container? No problem, we can run containers! App (and I only need what you’ve changed since last time!)
  • 5. POLYGLOT OK, so I’ve written this in Go, will that be a problem? No problem, I’ll worry about the container, you worry about what to put in it! App
  • 6. ENCAPSULATION I need to patch the server, will be updating library-xyz, is that cool? No worries, all of my app dependencies are in my container image App I patch my app at the app release cadence, you go ahead!
  • 7. REPEATABILITY Can you replicate the issue? Sure, we’ll test using the same image! App
  • 8. PROVENANCE Umm, the security guy wants to check what we’re running here No problem, we can use the image ref and show its path through dev, test and into prod App
  • 9. KUBERNETES OK, so I have a microservice architecture with back-end logic and a persistence tier, can you run this? Sure! That’s why we use Kubernetes! App App App App App App
  • 10. CAN I CONTAIN THIS!? Err… ok, let’s get them into containers... App App App App App AppApp App App App App App App App App App App App App App App App App Awesome! So what about all these?
  • 11. IF IT RUNS ON LINUX... ...it should containerise, but check for ‘red flags’ https://www.flickr.com/photos/chinesejetpilot/89376843 https://commons.wikimedia.org/wiki/File:Tokenring.png https://www.maxpixel.net/Documents-Paper-Document-Sign-Bus iness-Agreement-428333 mov ax,'00' ; initialize to all ASCII zeroes mov di,counter ; including the counter mov cx,digits+cntDigits/2 ; two bytes at a time cld ; initialize from low to high memory rep stosw ; write the data inc ax ; make sure ASCII zero is in al mov [num1 + digits - 1],al ; last digit is one mov [num2 + digits - 1],al ; mov [counter + cntDigits - 1],al http://assembly.happycodings.com/code1.html
  • 12. ...BUT THEY DON’T MEAN IT WON’T Our app runs in RHEL 5, but there isn’t a RHEL5 base image, so this won’t containerise. Why are you fixed to RHEL5? Does the app itself rely on RHEL5 libs & architecture or Do the Ops team say they only support this platform? App
  • 13. SO KUBERNETES WON’T BE A PROBLEM?
  • 14. 14 CAN YOU MAP APP ARCHITECTURE TO KUBERNETES? Underlying infrastructure and transport network Replica Set Stateful Set Daemon Set Platform OpsDev & App Ops
  • 15. PLATFORM HARDENING & SECURITY The platform is hardened against potential security risks & bad practice. Make sure your containers play nice! root
  • 16. DO YOU NEED TO CHANGE YOUR PROCESSES? Build SlaveBuild SlaveBuild Slave VM
  • 17. HOW WILL YOU OPERATE YOUR SOFTWARE? Installation Upgrade Backup Failure recovery Metrics & insights Tuning None of this is like it use to be! We will need to migrate to new tooling
  • 18. USING COTS Hey, you’ll support this if we run it in a container, right? Sorry, we’re don’t support that yet :( App
  • 19. THE BEST WAY TO OPTIMISE FOR KUBERNETES... K8s cluster ip ip ip backend ip myapp ip K8s Ingress Services myapp.com
  • 20. ...IS TO START WITH KUBERNETES Build containers for Kubernetes Design for web-scale & cloud native The deployable unit is [App + K8s]
  • 21. WHAT DO WE NEED FROM OUR KUBERNETES PLATFORM?
  • 22. REFERENCE ARCHITECTURE FOR ENTERPRISE KUBERNETES Automated Operations Kubernetes Red Hat Enterprise Linux or Red Hat CoreOS Application Services CaaS PaaSBest IT Ops Experience Best Developer Experience Cluster Services Developer Services Middleware, Service Mesh, Functions, ISV Metrics, Chargeback, Registry, Logging Dev Tools, Automated Builds, CI/CD, IDE
  • 24. OPENSHIFT IS A CERTIFIED KUBERNETES DISTRIBUTION PROVIDING A FULL-STACK SOLUTION
  • 25. 200+ validated integrations 100s of defect and performance fixes 9 year enterprise lifecycle management Security fixes Middleware integration (container images, storage, networking, cloud services, etc) Certified Kubernetes OPENSHIFT IS KUBERNETES FOR THE ENTERPRISE Kubernetes Release OpenShift Release 3-4 months hardening
  • 26. OPENSHIFT CONTAINER PLATFORM KUBERNETES RED HAT ENTERPRISE LINUX | RED HAT CoreOS ENTERPRISE KUBERNETES SDN NETWORKING STORAGE LOGGING MONITORING CI / CD PIPELINES SERVICE CATALOG CONTAINER REGISTRY SECURITY | AUTH OPS CONSOLE HYBRID CLOUD BARE METAL VIRTUAL PRIVATE PUBLIC INTEGRATE SERVICES OFF PLATFORM SERVICE BROKERS | ANSIBLE | AWS | AZURE | GCP ADD MORE APP TYPES WINDOWS CLOUD-NATIVE BIG DATA IOT SERVERLESS AUTOMATED OPERATIONS (OPERATOR FRAMEWORK) OPERATOR LIFECYCLE MANAGER | PLATFORM | APPLICATIONS RED HAT MIDDLEWARE SERVICES
  • 27. ONE PLATFORM FLEXIBLE CONSUMPTION MODELS * announced for general availability in late 2018 Manage your own secure, enterprise-grade Kubernetes platform Managed service offering on your choice of AWS, Azure* or Google SaaS offering to build, deploy, and scale container applications in the cloud Check it out! https://learn.openshift.com OpenShift 4.0 Beta!! https://try.openshift.com
  • 28. OPENSHIFT LETS YOU START WITH KUBERNETES
  • 29. BUILDS CONTAINERS ON THE PLATFORM Dude! We’re already building containers. Excellent! Just point OpenShift at your Dockerfiles, and it will become your build farm It will also automatically add metadata, help you manage your upstream base images, and provide a secure place to store your built images
  • 30. CONTAINER REUSE: REFACTOR DOCKERFILES Dockerfile OS base OS base App + Deps Lots to maintain OS base OS base Vendor MW OS base Vendor MW Your Standards Dockerfile App OS base Vendor MW Your Standards 3rd Party Vendors (supported) Local specialisations Focus on the app!
  • 31. FROM Jdk-base RUN Install packages & deps Make directories Set permissions Set ownership Download binaries & copy to dir Fix static config USER Preferred uid EXPOSE Listened ports VOLUME Working directories ADD Init script ENTRYPOINT Run the init script CMD Default run command FROM Tomcat base ADD Binary to deployment dir ADD Non-standard libs/drivers/etc Focus on the App! EXAMPLE: TOMCAT APP
  • 32. CONTAINERS != VIRTUAL MACHINES (SO DON’T TREAT THEM LIKE THEY ARE!)
  • 33. EXAMPLE: MINI-VM FROM OS-base RUN Install packages & deps Make directories Install database Install sshd Install app framework Copy app binary Install init process Add init scripts Set permissions Set ownership USER Preferred uid EXPOSE Listened ports (app, db, sshd) VOLUME Working directories (app, db) FROM Tomcat base ADD Binary to deployment dir ADD Non-standard libs/drivers/etc 1 2 3 No need for sshd, platform provides remote shell Use existing database container, not need to create a new one Focus on the App!
  • 34. OPENSHIFT BUILDS FROM BINARIES We already have CI... Awesome, we’ve probably got a base image just for you!
  • 35. K8s cluster 35 NAMESPACES FOR PIPELINE STAGES myapp-dev jenkins myapp-test12345 myapp-prod Build & test Promote for specialised tests Promote to production Namespaces used to encapsulate stages
  • 36. BUILDS FROM SOURCE I just want to push code! No problem, we’ll compile from source and build your containers!
  • 37. MOVING FROM DIY KUBERNETES We already use K8s, and have kubectl in a lot of scripts and automation Not a problem - OpenShift is Certified Kubernetes, kubectl works fine
  • 38. MANAGING KUBERNETES RESOURCES So what do I do with my K8s manifests? I’d suggest treating it like source code, and promoting versions through SDLC
  • 39. OCP cluster 39 MANAGING KUBERNETES RESOURCES myapp-dev myapp-test12345 myapp-prod bc Build and deployment resources Just deployment resources Externalised config (ConfigMaps) provides runtime context
  • 40. A REAL WORLD EXAMPLE
  • 41. CAN WE CONTAINERISE? Tell me about your app... App It’s a Tomcat app Check ✔ It connects to an external MS SQL DB Check ✔ We use the ODBC Java driver Err, OK, Check ✔ The driver authenticates using Kerberos Che.., wait, what?
  • 42. WHAT DO YOU DO TODAY? ...and can we replicate this? Server Tomcat App cron kinit
  • 43. OPTION 1: BUILD INTO CONTAINER RunBuild base middleware common krb5 client app Vendor certified & supported Internally supported App team supported Application Container Layers FROM common RUN install krb5-client ADD init-conf /etc/myinit ADD kinit-refresh / VOLUME [“/keytab.here”] VOLUME [“/config.here”] ENTRYPOINT [“/sbin/myinit”] pid: 1 pid: 3 myinit kinit-refresh app pid: 2
  • 44. PREFERRED: USE SIDECAR PATTERN RunBuild base middleware common app Vendor certified & supported Internally supported App team supported Application Container Layers FROM common RUN install krb5-client myinit ADD kinit-refresh / VOLUME [“/keytab.here”] VOLUME [“/config.here”] ENTRYPOINT [“/kinit-refresh”] base common kinit-refresh Vendor certified & supported Internally supported Krb5 team supported Application Pod kinit-refresh Container Layers app kinit-refresh shm
  • 45. ARCHITECTURAL SPIKE What is the bare minimum needed to develop & test this feature? Demonstrate that we can obtain a kerberos token, and pass to app container 1) Kerberos server ‘test harness’ - part of test stack 2) Test application - just needs to demonstrate a valid token, e.g. klist 3) Side-car authentication container Just enough: prove & test the architecture
  • 46. KERBEROS TEST SERVER Run Build base common krb5-server Vendor certified & supported Internally supported Krb5 team supported KDC Runtime KDC Pod KRB5 Server Container Layers kdc kadmind shm See: https://github.com/edseymour/kinit-sidecar/tree/master/example-server
  • 47. TESTING STACK ip Config Map Shared mem ip kdc-server Shared mem kinit-sidecar application kadmin kdc Test Application Pod Test KDC Pod
  • 48. TEST SCRIPT 1. Provision the kdc server application 2. Provision the test app with kinit-sidecar 3. Runs the kadmin command line to create a new example principal and obtain its keytab 4. Show the logs of the example application, which is defined to list active tokens. If the process works, a new active token should be displayed within a few seconds. See: https://github.com/edseymour/kinit-sidecar/tree/master/openshift
  • 49. KUBERNETES CHANGED HOW WE SOLVED THE PROBLEM v1.2 Separation of Concerns Promoting Reuse Independent Release Cadence
  • 50. ELIF So much, so complicated! I can see it looks like that, but not really... Software design now maps to run-time Common features are moving out of apps... ...and into standard, supported services You get to focus on the app! We’re reducing software delivery risks
  • 51. 51 ● Services Mesh! (Istio) ● Serverless! Check out this great blog “Microservices in the Post-Kubernetes Era” https://www.infoq.com/articles/microservices-post-kubernetes Free books! https://developers.redhat.com/search/?f=type~book More!
  • 52. THANK YOU! Find me at @edwaado