applications and containers at scale: openshift + kubernetes + docker

24
APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker Presented by: Steven Pousty OpenShift/Red Hat @TheSteve0 on Twitter, IRC, Instagram, Ingress, Skype, SmugMug, and Github

Upload: steven-pousty

Post on 28-Jul-2015

147 views

Category:

Internet


4 download

TRANSCRIPT

Page 1: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

APPLICATIONS AND CONTAINERS AT SCALE:OpenShift + Kubernetes + Docker

Presented by:Steven Pousty

OpenShift/Red Hat@TheSteve0 on Twitter, IRC, Instagram, Ingress, Skype, SmugMug, and Github

Page 2: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Agenda

• Cover the tech• Show some demos• Wrap it up

Page 3: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Assumptions

• You have written web applications• You like things easy

Page 4: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Platform as a Service

Page 5: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker
Page 6: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker
Page 7: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Let’s Start From the Bottom

Containers

Page 8: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker
Page 9: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Defining Container

• Based on Linux containers (namespaces, control groups)

• Combines file system layers into a "Union File System"

• Includes all of the components necessary to run a process, store persistent data, or both

• Docker currently provides the best specification for portable applications

Page 10: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Containers vs. VMs

Page 11: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Containers: Pros and Cons

Pros:• Extreme application

portability• Very easy to create

and work with derivative images

• Fast boot on containers

Cons:• Host-centric solution;

not aware of anything else

• No higher-level provisioning

• No usage tracking / reporting

Page 12: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Wins

• Efficient resource usage• BYOB - bring your own bits• A standard way for people to make container

images• Huge ecosystem

Page 13: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker
Page 14: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Kubernetes

• "a system for managing containerised applications across multiple hosts"

• declarative model – make the world match the truth

• open source project by Google

Page 15: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker
Page 16: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Conceptspod: colocated group of Docker containers that share an IP and storage volumesservice: provides a single, stable name for set of pods and acts as basic load balancerreplication controller: manages the lifecycle of pods and ensures specified number are runninglabel: used to organise and select groups of objects

Page 17: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Wins

• Runtime and operational management of containers

• Manage related Docker containers as a unit• Container communication across hosts• Availability and scalability through automated

deployment and monitoring of pods and their replicas, across hosts

Page 18: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker
Page 19: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Division of Labor

• Kubernetes provides a container runtime• OpenShift provides the Application, DevOps,

and team environment

Page 20: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

OpenShift Concepts

• application: one or more pods linked together by services; distinct, interconnected components

• config: collection of objects describing combination of pods, services, replication controllers, environment variables, and other components

• template: parameterised version of config for generalised reuse

• build config: object defining source code URI, authentication for change notifications (webhooks), and build type (source-to-image or docker-builder)

• deployment: image and settings for it: replication controller, trigger policies, and deployment strategy

Page 21: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker
Page 22: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

DEMO

Page 23: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Wins

• Efficiently manage thousands of applications, auto-scaling components independently and updating them en masse

• Responsive, change-aware platform supports fault-tolerant, automated, and repeatable builds and deployments

• All the tech packaged up and made easier to use

Page 24: APPLICATIONS AND CONTAINERS AT SCALE: OpenShift + Kubernetes + Docker

Conclusion• We covered A LOT• For us, it's the Linux story again – huge community

through best upstreams - come build with us!• Your world as a sys admin or developer is looking bright • Use containers to have an agreed upon way to manage

server bits– We can automate some annoying things - i.e. dev env

creation or autoscaling– Template an entire application - infra and code – OpenShift packages all this technology into one nice package