A CONTAINERS STATE OF MIND. Chris Van Tuin Chief Technologist, West

Similar documents
Intro to Docker and Containers

The Virtualization Practice

Use Cases for Docker in Enterprise Linux Environment CloudOpen North America, 2014 Linda Wang Sr. Software Engineering Manager Red Hat, Inc.

RED HAT CONTAINER STRATEGY

Docker : devops, shared registries, HPC and emerging use cases. François Moreews & Olivier Sallou

Building a Continuous Integration Pipeline with Docker

STRATEGIC WHITE PAPER. The next step in server virtualization: How containers are changing the cloud and application landscape

Linstantiation of applications. Docker accelerate

Do Containers fully 'contain' security issues? A closer look at Docker and Warden. By Farshad Abasi,

DevOps. Josh Preston Solutions Architect Stardate

Sacha Dubois RED HAT TRENDS AND TECHNOLOGY PATH TO AN OPEN HYBRID CLOUD AND DEVELOPER AGILITY. Solution Architect Infrastructure

WHITEPAPER INTRODUCTION TO CONTAINER SECURITY. Introduction to Container Security

Cisco Application-Centric Infrastructure (ACI) and Linux Containers

Red Hat Cloud Ecosystem

Platform as a Service and Container Clouds

REDEFINING THE ENTERPRISE OS RED HAT ENTERPRISE LINUX 7

The Definitive Guide To Docker Containers

Intro to Docker for CMS

Linux A first-class citizen in Windows Azure. Bruno Terkaly bterkaly@microsoft.com Principal Software Engineer Mobile/Cloud/Startup/Enterprise

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

An Analysis of Container-based Platforms for NFV

How Bigtop Leveraged Docker for Build Automation and One-Click Hadoop Provisioning

Container Clusters on OpenStack

Type-C Ubuntu Product & Strategy Canonical Ltd.

Red Hat Enterprise Linux 7 Platform without Boundaries

Building a Kubernetes Cluster with Ansible. Patrick Galbraith, ATG Cloud Computing Expo, NYC, May 2016

Team: May15-17 Advisor: Dr. Mitra. Lighthouse Project Plan Client: Workiva Version 2.1

More Efficient Virtualization Management: Templates

CONTINUOUS DEPLOYMENT WITH SINGULARITY

Continuous Integration using Docker & Jenkins

DevOps with Containers. for Microservices

Docker on OpenStack. August Author : Nitin Agarwal nitinagarwal3006@gmail.com. Supervisor(s) : Belmiro Moreira

Private Cloud Management

IBM Cloud Manager with OpenStack

Modern App Architecture for the Enterprise Delivering agility, portability and control with Docker Containers as a Service (CaaS)

Evolution of the Modern Software Supply Chain The Docker Survey, 2016

A lap around Team Foundation Server 2015 en Visual Studio 2015

Copyright. Robert Sandoval

Platform Architecture & Integration with OpenShift

The State of Containers and the Docker Ecosystem: Anna Gerber

80% 50x. 30x. CASE STUDY: How WaveMaker Got Faster, Better, More Agile with Docker. Lower Costs. Better Performance. Greater App Density

the CONTAINER COLORING BOOK "Who's afraid of the big bad wolf?" MÁIRÍN DUFFY DAN WALSH illustrated by written by

OpenShift. Marek Jelen, OpenShift, Red Hat

Whither Enterprise Cloud Platform Linux, Docker and more Loo Chia Zyn Head of Sales Consulting, Japan & Asia Pacific Oracle Linux & Oracle VM

OpenShift. OpenShift platform features. Benefits Document. openshift. Feature Benefit OpenShift. Enterprise

Linux Virtualization. Kir Kolyshkin OpenVZ project manager

Docker Containers. Marko Ambrož, Žiga Hudolin Ministrstvo za javno upravo DIREKTORAT ZA INFORMATIKO

Docker on AWS. Running Containers in the Cloud. Brandon Chavis Solutions Architect Thomas Jones Solutions Architect. April 2015

NL VMUG UserCon March

What new with Informix Software as a Service and Bluemix? Brian Hughes IBM

Business Con*nuity with Docker

Red Hat enterprise virtualization 3.0 feature comparison

Red Hat Enterprise Linux Update for IBM System z

Managing your Red Hat Enterprise Linux guests with RHN Satellite

Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore

Using Docker in Cloud Networks

UTILIZING THE PORTABILITY OF DOCKER TO DESIGN A PORTABLE AND SCALABLE CONTINUOUS INTEGRATION STACK

RED HAT ENTERPRISE VIRTUALIZATION & CLOUD COMPUTING

Fast Lane OpenStack Overview Red Hat Enterprise Linux OpenStack Platform

Cloud Simulator for Scalability Testing

RED HAT CLOUD SUITE FOR APPLICATIONS

Server Monitoring. AppDynamics Pro Documentation. Version Page 1

Solving the Package Problem? Or Making it Infinitely Worse?

The Bro Network Security Monitor

Deciphering The Buzzwords. Duncan

Introduction to FileWave

Next Generation Now: Red Hat Enterprise Linux 6 Virtualization A Unique Cloud Approach. Jeff Ruby Channel Manager jruby@redhat.com

Red Hat JBoss Overview Intelligent Integrated Enterprise!!!! Blaine Mincey Sr. Middleware Solutions Architect

Chris Rosen, Technical Product Manager for IBM Containers, Lin Sun, Senior Software Engineer for IBM Containers,

Open Source Datacenter Conference 2011 System Management with RHN Satellite. Dirk Herrmann, Solution Architect, Red Hat

OpenShift Dedicated 3.1 Architecture

Parallels Plesk Automation

Apcera Architecture Overview WHITEPAPER OCT 2015

A Brief Overview. Delivering Windows Azure Services on Windows Server. Enabling Service Providers

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Modern Application Architecture for the Enterprise

Lightweight Virtualization with Linux Containers (LXC)

Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment

Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment

Scaling the S in SDN at Azure. Albert Greenberg Distinguished Engineer & Director of Engineering Microsoft Azure Networking

Virtualization Management the ovirt way

Why Does CA Platform Use OpenShift?

ISLET: Jon Schipp, Ohio Linux Fest An Attempt to Improve Linux-based Software Training

ORACLE OPS CENTER: PROVISIONING AND PATCH AUTOMATION PACK

Enabling IT Agility with an Open Hybrid Cloud

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

Azul pitches Docker as alternative to virtualization for heavy-duty Java applications

Best Practices on monitoring Solaris Global/Local Zones using IBM Tivoli Monitoring

Kubernetes-Murano Integration in Mirantis OpenStack 7.0

IBM Bluemix, the digital innovation platform

Dynamic Kernel Module Support. Matt Domsch, Software Architect Dell, Inc.

Oracle Linux Overview. Presented by: Anuj Verma Title: Senior Pre-Sales Consultant

A new era of PaaS. ericsson White paper Uen February 2015

Solution Guide Parallels Virtualization for Linux

Using Red Hat Network Satellite Server to Manage Dell PowerEdge Servers

Linux & Docker auf Azure

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

Building a cloud with Openstack. Iqbal Mohomed iqbal@us.ibm.com March 25 th 2015

Cloud Security with Stackato

Transcription:

A CONTAINERS STATE OF MIND Chris Van Tuin Chief Technologist, West cvantuin@redhat.com

THERE ARE THE WINDS OF CHANGE AND THEN THERE IS ACCELERATING CHANGE every strategic inflection point [is] characterized by a 10x change There s wind and then there is a typhoon -Andy Grove 2

3

4 THE PROBLEM: FRICTION

5 APPLICATION DELIVERY VIA CONTAINERS

WHAT ARE LINUX CONTAINERS? Used to create containers for software applications / microservices Containers provide lightweight isolation of process, network, filesystem spaces CONTAINER APP LIBS Package Once Deploy Anywhere Docker builds on Linux containers, adds an API, image format, runtime, and a delivery and sharing model HOST OS SERVER 6

TRADITIONAL OS VS CONTAINERS Traditional OS Containers CONTAINER CONTAINER APP A APP B APP A APP B LIBS A LIBS B LIBS LIBS LIBS LIBS HOST OS HARDWARE HOST OS HARDWARE 7

MANY SEE CONTAINERS AS THE UTOPIA OF APPLICATION DELIVERY What top benefits do you see with containers? 54% 51% 38% Containers potentially offer the ability to encapsulate a lot of manual processes and make it little or no touch. - IT Operations Engineer, Financial Services 30% FASTER APP OPERATIONAL DELIVERY EFFICIENCY Source: TechValidate survey of 79 IT professionals DEPLOYMENT FLEXIBILITY LOWER DEPLOYMENT COSTS 8 Containers transform the way you deliver applications to accelerate innovation.

9 PORTABILITY and FLEXIBILITY

FASTER APP DELIVERY and EFFICIENCY APP LIBS HOST OS SERVER CONTAINER CONTAINER APP LIBS HOST OS DEVELOPMENT FOCUS CODE APPLICATIONS LIBRARIES AND OTHER DEPENDENCIES DATA STORE SERVER OPERATIONS FOCUS HARDWARE OPERATING SYSTEM NETWORKING MONITORING 10

11 VELOCITY and DENSITY

BENEFITS OF CONTAINERS (cont) Portability Faster app deployment Velocity Density Isolation Snapshotting Security sandbox Limit resource usage Simplified dependency Sharing 12

UNDERLYING TECHNOLOGY Containers Containers Containers DOCKER CLI Docker Image SYSTEMD Unit File Cgroups Namespaces SELinux Drivers RHEL Kernel Hardware (Intel, AMD) or Virtual Machine 13

IMAGE -BASED CONTAINERS WITH DOCKER TECHNOLOGY App Layer Platform Image Layered Image 2 Layered Image 1 Platform Image App A SCL 1 RHEL 7 Runtime App B SCL 2 RHEL 6.5 Runtime RHEL Container Host App C SCL3 RHEL6.6 Runtime RHEL 7 Container Host provides the capability to run images built with Docker format for content distribution 14

15

CONTAINERS

BUILD, SHIP, RUN Dockerfile Image Container FROM fedora:latest CMD echo Hello Red Hat Certified Private Registry docker.io Registry Physical, Virtual, Cloud Build Ship Run docker build or commit docker push or pull <IMAGE_ID> docker run <IMAGE_ID> 17

Containers provide a discrete package mechanism for application components or microservices

Several containers can live on a virtual or bare metal system

These containers are easily created and controlled by Docker tools

Finding and running containers is easy -bash-4.2# docker run -P fedora/apache Unable to find image 'fedora/apache:latest' locally Pulling repository registry.access.redhat.com/fedora/apache Pulling repository fedora/apache 2e11d8fd18b3: Download complete 511136ea3c5a: Download complete ff75b0852d47: Download complete 0dae8c30a0b2: Download complete 84f33df93401: Download complete 24b116bb2956: Download complete a7f290a6f21d: Download complete eb86e2be11d4: Download complete c06d2cba0d4a: Download complete f0b140ef8cdd: Download complete b05601b61180: Download complete Status: Downloaded newer image for fedora/apache:latest

This container is exposing httpd on port 49156 as noted in 'docker ps' -bash-4.2# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7ca95d1b0114 fedora/apache:latest "/run-apache.sh" 2 minutes ago Up 2 minutes 0.0.0.0:49156->80/tcp suspicious_colden

Rollbacks are also easy because image history is preserved -bash-4.2# docker history fedora/apache IMAGE CREATED CREATED BY SIZE b05601b61180 5 months ago /bin/sh -c chmod -v +x /run-apache.sh 249 B f0b140ef8cdd 5 months ago /bin/sh -c #(nop) ADD file:d16ad02a7a4176bbff 249 B c06d2cba0d4a 5 months ago /bin/sh -c #(nop) EXPOSE map[80/tcp:{}] 0 B eb86e2be11d4 5 months ago /bin/sh -c echo "Apache" >> /var/www/html/ind 7 B a7f290a6f21d 5 months ago /bin/sh -c yum -y install httpd && yum clean 15.87 MB 24b116bb2956 5 months ago /bin/sh -c yum -y update && yum clean all 164.1 MB 84f33df93401 5 months ago /bin/sh -c #(nop) MAINTAINER "Scott Collier" 0 B ff75b0852d47 5 months ago /bin/sh -c #(nop) MAINTAINER Lokesh Mandvekar 0 B 511136ea3c5a 21 months ago 0 B

RPM still exists in the container so its features and tools can still be used, even in a containerized environment [root@7ca95d1b0114 /]# rpm -qa wc -l 160 [root@7ca95d1b0114 /]# rpm -qi httpd Name : httpd Version : 2.4.10 Release : 1.fc20 Architecture: x86_64 Install Date: Mon 29 Sep 2014 12:28:44 PM UTC Group : System Environment/Daemons License : ASL 2.0 Signature : RSA/SHA256, Wed 23 Jul 2014 01:23:23 PM UTC, Key ID 2eb161fa246110c1 Source RPM : httpd-2.4.10-1.fc20.src.rpm Build Date : Wed 23 Jul 2014 10:32:07 AM UTC Build Host : buildvm-22.phx2.fedoraproject.org Vendor : Fedora Project URL : http://httpd.apache.org/ Summary : Apache HTTP Server Description : The Apache HTTP Server is a powerful, efficient, and extensible web server. [root@7ca95d1b0114 /]# rpm -qv httpd missing /run/httpd/htcacheclean

Containers cannot look outside of their namespace but admins can easily peak in, giving operational flexibility -bash-4.2# docker exec -it suspicious_colden /bin/bash [root@7ca95d1b0114 /]# ps -ax PID TTY STAT TIME COMMAND 1? Ss 0:00 /bin/sh /usr/sbin/apachectl -D FOREGROUND 9? S 0:00 /usr/sbin/httpd -D FOREGROUND 10? S 0:00 /usr/sbin/httpd -D FOREGROUND 11? S 0:00 /usr/sbin/httpd -D FOREGROUND 12? S 0:00 /usr/sbin/httpd -D FOREGROUND 13? S 0:00 /usr/sbin/httpd -D FOREGROUND 14? S 0:00 /usr/sbin/httpd -D FOREGROUND 33? S 0:00 /bin/bash 50? R+ 0:00 ps -ax

Builds are reproducible via Dockerfiles ~/my-app/dockerfile FROM fedora MAINTAINER Mrs Developer <mydev@example.com> ENV GOPATH /go/src RUN yum install -y golang git hg && yum clean all RUN mkdir -p $GOPATH && echo $GOPATH >> ~/.bash_profile ADD. /my-stuff

Docker image delivery and consumption can happen via your operations work flow needs, devops or not

ORCHESTRATION

More serious workloads require orchestration like Kubernetes to offload management overhead

Kubernetes allow operations teams to describe an application via json ~/MyApp/kubernetes/prod_description.json { "id": "frontend-controller", "kind": "ReplicationController", "apiversion": "v1beta1", "desiredstate": { "replicas": 3, "replicaselector": {"name": "frontend"}, "podtemplate": { "desiredstate": { "manifest": { "version": "v1beta1", "id": "frontend", "containers": [{ "name": "php-redis", "image": "kubernetes/example-guestbook-php-redis", "cpu": 100, "memory": 50000000, "ports": [{"name": "http-server", "containerport": 80}]...

Once created, Kubernetes will keep the environment online as described in the json file JSON Kubernetes

Once created, Kubernetes will keep the environment online as described in the json file JSON Kubernetes

Once created, Kubernetes will keep the environment online as described in the json file JSON Kubernetes

Once created, Kubernetes will keep the environment online as described in the json file JSON Kubernetes

New applications can be spun up and tested before old applications are removed, lowering risk for upgrades Version 1

Some call this method of deployment red-black deployment, admins won't get stuck in the middle of an upgrade Version 1 Version 1.2

Tests and certification can be done before customers access it Version 1 Version 1.2 Tests / CI

Once ready, the new version is used and the old version can be removed Version 1 Version 1.2

Rollbacks can be done using the same method if desired Version 1.2

40

THANK YOU