puppetconf 2016: using puppet with kubernetes and openshift – diane mueller, red hat & daniel...
TRANSCRIPT
Our Agenda Today
● OpenShift is Enterprise-Ready Kubernetes for Developers
● Puppet provides a common configuration modeling layer across container platforms and traditional infrastructure
● Both shift focus from infrastructure to applications
2Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All
Infrastructure is distracting
● Same basic patterns endlessly re-implemented● Too much friction for developers● Impedance mismatch of declarative languages and underlying
OS● Humans make decisions that computers should
4Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All
Business Impact
1. Our time goes into low-value integration work2. Hardware is under-utilized3. Useful tools don’t get deployed4. Infrastructure is unnecessarily fragile
6Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All
CIO perspective
“The main point here is that OpenShift, with its support for Docker and Kubernetes, is helping clients with their container deployments, which CIOs view as a more important strategic decision than what underlies those workloads.”
Barclays PLCAnalystSource: Barclays Research Report
Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All 8
OpenShift is Kubernetes
OpenShift provides common developer-centric workflows across all applications
9Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All
=
What Is OpenShift?
● Use containers for efficiency
● Hide details of underlying infrastructure with app specific abstractions
● Portable across different clouds or bare metal
● Package my application and all of its dependencies
● Deploy to any environment in seconds and enable CI/CD
● Config driven approach - possible to define application in bulk
INFRASTRUCTURE APPLICATIONS
Application-centric Platform
Why OpenShift?
Provide a secure multi-tenant distribution of Kubernetes
Optimized for team software development and deployment
Able to create and deploy applications in seconds
And run and support all of the stateful parts of an application
Easily.
How is it different from Kubernetes?
OpenShift Goals
Make Kubernetes the best place to run all applications
Provide well integrated tools to empower developers
Ensure that applications can be portable to any environment
Put extra resources to use for developers
What is the mission of OpenShift Origin
DeclarativeSet a target
temperature and the thermostat turns the furnace on and off
ImperativeThe furnace turns on and off on command
ModeledSoftware logic
changes desired temperature based on
many factors
23Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All
Furnace Abstraction Layers
Declarative
Types and providers assert and enforce a
desired state
Imperative
Commands run by Puppet types and
providers
ModeledPuppet code
determines the desired state
24Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All
Abstractions for managing servers
DeclarativeTwo nginx pods
should be running right now
ImperativeRun nginx right now
ModeledPuppet code specifies
two nginx pods in staging, and four in
production
25Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All
Common Modeling Layer
What Puppet Can Model● Underlying OS
● Container contents
● Kubernetes and OpenShift resources
● Interactions with existing infrastructure
26Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All
Business Challenges
● Need to match traveler’s reservation requests to various providers’ inventory (airlines, hotels, etc.)
● Dealing with constant updates from provider systems all over the world
● Must deliver high consistency and fast response times
● Managing very high request volumes of up to ~210,000 queries per second at peak
● Application-centric deployments, deploying the application as a whole with all of its dependencies.
● Automated scheduling across the cluster, decoupling ‘what should run’ from ‘where it should run’
● Able to support different types of applications, not limited to HTTP or stateless services
● Improved operational model and greater efficiency
Key Benefits
Production Workloads @ Scale
Business Value
1. 8 months pay back on the initial investment2. ~530% ROI over 5 years3. 66% faster app delivery and deployment4. 35% reduction in AppDev staff time5. 20% improvement in IT staff productivity6. 40% reduction in infrastructure costs
32Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All
Source: IDC October, 2016
Healthy Ecosystem
Commercial and Open Source Projects● Google has 100 engineers on Kubernetes
● RedHat supports OpenShift Container Platform
● 912 Github contributors on Kubernetes
● 613 GitHub contributors on OpenShift Origin
● Puppet improving container story
33Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All
230+ member orgscollaborationg at scale
57+ contributing orgscontributing code
800+ individualspeers on mailing list
230 publicly listed as of Oct 11
Conclusions
38Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All
Using all three together● Provides common workflows for
deploying and managing containers
● Minimize toil
● Improve Hardware utilization
● Improve Application availability
● Provide cloud portability
Major Components● Kubernetes provides the underlying platform
● OpenShift provides developer-friendly workflows
● Puppet provides a common language for configuration modeling
Further Reading
Getting Started Links
Citations
● Power icon by Kirill Zorenkov from the Noun Project● thermostat icon by Dan Jenkins from the Noun Project● algorithm by Hugo Alberto from the Noun Project● terminal by Souvik Maity from the Noun Project
39Preso title goes here. To update, go to File > Page Setup > Header/Footer, paste title, Apply All