puppetconf 2016: using puppet with kubernetes and openshift – diane mueller, red hat & daniel...

40
Using Puppet With Kubernetes and OpenShift Diane Mueller, Red Hat Daniel Dreier, Puppet

Upload: puppet

Post on 16-Apr-2017

113 views

Category:

Technology


0 download

TRANSCRIPT

Using Puppet With Kubernetes and OpenShiftDiane Mueller, Red HatDaniel Dreier, Puppet

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 distractingApplications are the important part

3

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

Significant business impact

5

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

Enter Kubernetes

7

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

10,000 foot overview from kernel to the app

OpenShift runs on your choice of infrastructure

Nodes are instances of RHEL where apps will run

Apps and components run in containers

Container Image

Container

Pod

Health and Scaling

Pods are the orchestrated unit in OpenShift

What about app data?

Routing layer for external accessibility

Access via Web UI, CLI, IDE, API

Puppet’s Role

22

Configuration Modeling

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

Don’t go back to writing shell scripts.(We’ve been through this before)

27

Demo TimePuppet OpenShift Workflow

28

Significant Benefits

29

Enterprise Customers of OpenShift

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

34

https://github.com/openshift/origin

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