Kubernetes The Path to Cloud Native

Similar documents
So, I have all these containers! Now what?

@briandorsey #kubernetes #GOTOber

Microservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate,

Oh.. You got this? Attack the modern web

Cloud I - Introduction

OpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers

agenda PAE Docker Docker PAE

gcp / gke / k8s microservices

CONTAINERS AND MICROSERVICES WITH CONTRAIL

What s New in K8s 1.3

Think Small to Scale Big

Building a Microservices Platform with Kubernetes. Matthew Mark

CLOUD-NATIVE APPLICATION DEVELOPMENT/ARCHITECTURE

CS-580K/480K Advanced Topics in Cloud Computing. Container III

More Containers, More Problems

A REFERENCE ARCHITECTURE FOR DEPLOYING WSO2 MIDDLEWARE ON KUBERNETES

Container Adoption for NFV Challenges & Opportunities. Sriram Natarajan, T-Labs Silicon Valley Innovation Center

Why Kubernetes Matters

Introduction to Kubernetes Storage Primitives for Stateful Workloads

What s New in K8s 1.3

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

rkt and Kubernetes What's new (and coming) with Container Runtimes and Orchestration

Kuber-what?! Learn about Kubernetes

Run containerized applications from pre-existing images stored in a centralized registry

Kubernetes introduction. Container orchestration

Container Pods with Docker Compose in Apache Mesos

Zero to Microservices in 5 minutes using Docker Containers. Mathew Lodge Weaveworks

Kuberiter White Paper. Kubernetes. Cloud Provider Comparison Chart. Lawrence Manickam Kuberiter Inc

Understanding and Evaluating Kubernetes. Haseeb Tariq Anubhavnidhi Archie Abhashkumar

" Qué me estás container?" Docker for dummies

Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform. Jarosław Stakuń Senior Solution Architect/Red Hat CEE

/ Cloud Computing. Recitation 5 February 14th, 2017

利用 Mesos 打造高延展性 Container 環境. Frank, Microsoft MTC

containerization: more than the new virtualization

Introduction to Docker. Antonis Kalipetis Docker Athens Meetup

/ Cloud Computing. Recitation 5 September 26 th, 2017

100% Containers Powered Carpooling

Declarative Modeling for Cloud Deployments

Kubernetes: Twelve KeyFeatures

Using DC/OS for Continuous Delivery

Kubernetes 101. Doug Davis, STSM September, 2017

Container Orchestration on Amazon Web Services. Arun

개발자와운영자를위한 DevOps 플랫폼 OpenShift Container Platform. Hyunsoo Senior Solution Architect 07.Feb.2017

Cloud providers, tools and best practices in running Magento on Kubernetes. Adrian Balcan MindMagnet Software


Important DevOps Technologies (3+2+3days) for Deployment

Docker A FRAMEWORK FOR DATA INTENSIVE COMPUTING

Kubernetes Integration Guide

DevOps + Infrastructure TRACK SUPPORTED BY

ViryaOS RFC: Secure Containers for Embedded and IoT. A proposal for a new Xen Project sub-project

Characterising Resource Management Performance in Kubernetes. Appendices.

Exam : Implementing Microsoft Azure Infrastructure Solutions

Building Microservices with the 12 Factor App Pattern

Con$nuous Deployment with Docker Andrew Aslinger. Oct

Red Hat OpenShift Roadmap Q4 CY16 and H1 CY17 Releases. Lutz Lange Solution

Convergence of VM and containers orchestration using KubeVirt. Chunfu Wen

Continuous delivery while migrating to Kubernetes

How Container Runtimes matter in Kubernetes?

DISTRIBUTED SYSTEMS [COMP9243] Lecture 8a: Cloud Computing WHAT IS CLOUD COMPUTING? 2. Slide 3. Slide 1. Why is it called Cloud?

Microservices. GCPUG Tokyo Kubernetes Engine

Mesosphere and Percona Server for MongoDB. Jeff Sandstrom, Product Manager (Percona) Ravi Yadav, Tech. Partnerships Lead (Mesosphere)

Backup strategies for Stateful Containers in OpenShift Using Gluster based Container-Native Storage

TEN LAYERS OF CONTAINER SECURITY. Kirsten Newcomer Security Strategist

The four forces of Cloud Native

Developing Microsoft Azure Solutions (70-532) Syllabus

Splunk N Box. Splunk Multi-Site Clusters In 20 Minutes or Less! Mohamad Hassan Sales Engineer. 9/25/2017 Washington, DC

70-532: Developing Microsoft Azure Solutions

The Long Road from Capistrano to Kubernetes

Introduction to containers

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

Design and Architecture. Derek Collison

70-532: Developing Microsoft Azure Solutions

Four times Microservices: REST, Kubernetes, UI Integration, Async. Eberhard Fellow

Distributed Systems. 31. The Cloud: Infrastructure as a Service Paul Krzyzanowski. Rutgers University. Fall 2013

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

Introduction to Kubernetes

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

OPENSHIFT FOR OPERATIONS. Jamie Cloud Guy - US Public Sector at Red Hat

TEN LAYERS OF CONTAINER SECURITY

The Post-Cloud. Where Google, DevOps, and Docker Converge

AWS Integration Guide

Feature Comparison Summary

Overview of Container Management

Building and Running a Solr-as-a-Service SHAI ERERA IBM

Table of Contents HOL CNA

Infoblox Kubernetes1.0.0 IPAM Plugin

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo

SAMPLE CHAPTER. Marko Lukša MANNING

Secure Kubernetes Container Workloads

Introduction to VMs & Containers

Mesosphere and Percona Server for MongoDB. Peter Schwaller, Senior Director Server Eng. (Percona) Taco Scargo, Senior Solution Engineer (Mesosphere)

Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications

Docker and Oracle Everything You Wanted To Know

One year of Deploying Applications for Docker, CoreOS, Kubernetes and Co

Running MarkLogic in Containers (Both Docker and Kubernetes)

Allowing Users to Run Services at the OLCF with Kubernetes

THE AFS NAMESPACE AND CONTAINERS

Scaling Jenkins with Docker and Kubernetes Carlos

Architecting Microsoft Azure Solutions (proposed exam 535)

Transcription:

Kubernetes The Path to Cloud Native Eric Brewer VP, Infrastructure @eric_brewer August 28, 2015 ACM SOCC

Cloud Na*ve Applica*ons Middle of a great transition unlimited ethereal resources in the Cloud an environment of services not machines thinking in APIs and co-designed services high availability offered and expected

Google has been developing and using containers to manage our applications for over 10 years. 2B launched per week simplifies management performance isolation efficiency Images by Connie Google confidential Do not Zhou distribute

VMs vs. Containers Virtual Machines Containers User Code Libraries Operating System Private Copy User Code Libraries Operating System syscall ISA Virtual Processor Physical Processor Shared Virtual Processor Physical Processor Containers: less overhead, enable more magic

Merging Two Kinds of Containers Docker It s about packaging Control: o packages o versions o (some config) Layered file system Prod matches testing Linux Containers It s about isolation performance isolation not security isolation use VMs for that Manage CPUs, memory, bandwidth, Nested groups

Google Pla=orm Layering GAE App Engine: Language-based Kubernetes GKE Containers: Process-based Easy to use, Flexible GCE Infrastructure: Machines

Kubernetes: Higher level of Abstrac*on Think About Composition of services Load-balancing Names of services State management Monitoring and Logging Upgrading Don t Worry About OS details Packages no conflicts Machine sizes (much) Mixing languages Port conflicts

Evolu*on is the Real Value Apps Structured as Independent Microservices Encapsulated state with APIs (like objects ) Mixture of languages Mixture of teams Services are Abstract A Service is just a long-lived abstract name Varied implementations over time (versions) Kubernetes routes to the right implementation

Service- Oriented Architecture? This is similar, but a also new Practical difference: Simple network RPCs now common JSON/http for REST (or grpc for sessions) Much better structure Micro smaller services and more of them New in Kubernetes: modular sub-services

A Quick Look @ Your Code

& Your Code Community Contribute Customized Use Trade Secret

SOA wrong granularity

Kubernetes: sub-structure Don t think of a container as the boundary of your application A container is more like a class in an object-oriented language. --- Google s Brendan Burns

Requirements... Sharing among containers Share namespaces (esp. PID, Network and IPC) Share filesystems (Often) Share a resource hierarchy

Requirements... Atomic co-scheduling of containers Composition requires co-location

Requirements... Parameterization of containers Configurable at runtime Documented and discoverable

Substructure Containers: Handle package dependencies Different versions, same machine No DLL hell Pods: Co-locate containers Shared volumes IP address, independent port space Unit of deployment, migration Pod MyService python 3.4.2 glibc 2.21 /data MySQL python 2.7.9 glibc 2.19

Dependencies: Services Service: Replicated pods o Source pod is a template Auto-restart member pods Abstract name (DNS) IP address for the service o in addition to the members Load balancing among replicas Service IP Load Balancer

Some Patterns... Examples of how you use substructure

Sidecars Sidecars extend and enhance Application Container node.js Sidecar Container Git Synchronizer Pod

Sidecar Pattern Sidecars extend and enhance Application Container nginx Sidecar Container Git Synchronizer Pod

Ambassador Pattern Ambassadors represent and present Application Container Ambassador Container PHP app redis proxy Redis Shards localhost Pod

Adapter Pattern Adapters normalize and abstract Application Container Adapter Container Monitoring System redis redis exporter Pod localhost Other adapters

Example: Rolling Upgrade with Labels v1.2 frontend v1.3 replicas: 43 21 0 replicas: 12 34 Replication Controller Replication Controller Pods: Labels: frontend v1.2 frontend v1.2 frontend v1.2 frontend v1.2 frontend v1.3 frontend v1.3 frontend v1.3 frontend v1.3

Summary A new path for Cloud Native applications: Collection of independent (micro) services Each service evolves on its own o Scale as needed o Update as needed o Mix versions as needed Pods provide critical structure o Template for service members o Group containers and volumes o Dedicated IP and thus port space Containers are the new classes

BACKUP

How? Implemented by a number of (unrelated) Linux APIs: cgroups: Restrict resources a process can consume CPU, memory, disk IO,... namespaces: Change a process s view of the system Network interfaces, PIDs, users, mounts,... capabilities: Limits what a user can do mount, kill, chown,... chroots: Determines what parts of the filesystem a user can see Google confidential Do not distribute