azure container service

33
1 CONFIDENTIAL Introduction to Azure Container Service DECEMBER 2, 2016 Alex Feschenko, SENIOR SOFTWARE ENGINEER

Upload: alexander-feschenko

Post on 12-Apr-2017

86 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Azure Container Service

1CONFIDENTIAL

Introduction to Azure Container Service

DECEMBER 2, 2016

Alex Feschenko,SENIOR SOFTWARE ENGINEER

Page 2: Azure Container Service

2CONFIDENTIAL

AGENDA

Containers are not VMs1

Working with Docker (Build, Ship, Run)

2

Container architecture3

Azure Container Service4

Q&A5

Page 3: Azure Container Service

CONTAINERS ARE NOT VMS

DECEMBER 2, 2016

Page 4: Azure Container Service

• Easy connection to make• Fundamentally different architectures• Fundamentally different benefits

Docker containers are NOT VMs

4

Page 5: Azure Container Service

VMs

Page 6: Azure Container Service

Containers

Page 7: Azure Container Service

They’re different, not mutually exclusive

WS 2016 Linux

Page 8: Azure Container Service

Docker + Windows Server = Windows Containers • Native Windows containers

powered by Docker Engine • Windows kernel engineered

with new primitives to support containers

• Deep integration with 2+ years of engineering collaboration in Docker Engine and Windows Server

• Microsoft is top 5 Docker open source project contributor and a Docker maintainer

Infrastructure

Windows Server 2016

Bins/Libs

App

Docker Engine

Bins/Libs

App

Bins/Libs

App

Page 9: Azure Container Service

Hyper V Containers = Docker + Windows Server • Leverages same

Docker and Windows Server technology

• Flexible container deployment options available for IT pros

• One workload per Hyper V container delivers added isolation for multi-tenant or hostile environments

Infrastructure

Windows Server 2016

Bins/Libs

App

Docker Engine

Bins/Libs

App Bins/Libs

App

WS Kernel

Windows containers

Hyper V container

Page 10: Azure Container Service
Page 11: Azure Container Service

BUILD, SHIP, AND RUN

DECEMBER 2, 2016

Page 12: Azure Container Service

Some Docker vocabularyDocker ImageThe basis of a Docker container. Represents a full application

Docker ContainerThe standard unit in which the application service resides and executesDocker Engine Creates, ships and runs Docker containers deployable on a physical or virtual, host locally, in a datacenter or cloud service providerRegistry Service (Docker Hub or Docker Trusted Registry)Cloud or server based storage and distribution service for your images

Page 13: Azure Container Service

Basic Docker Commands$ docker pull nginx

$ docker images

$ docker run –d –p 5000:5000 –-name samplewebapp feschenkoalex/samplewebapp:latest

$ docker ps

$ docker stop samplewebapp (or <container id>)

$ docker rm samplewebapp (or <container id>)

$ docker rmi feschenkoalex/samplewebapp:latest

$ docker build –t feschenkoalex/samplewebapp:latest .

$ docker push feschenkoalex/samplewebapp:latest

Page 14: Azure Container Service

Dockerfile – Linux ExampleInstructions on how to build a Docker image

Looks very similar to “native” commands

Important to optimize your Dockerfile

Page 15: Azure Container Service

Dockerfile – Windows Example

Page 16: Azure Container Service

Put it all together: Build, Ship, Run WorkflowDevelopers IT Operations

BUILDDevelopment Environments

SHIPCreate & Store Images

RUNDeploy, Manage, Scale

Page 17: Azure Container Service

DEMO

DECEMBER 2, 2016

Docker basics: run/build/compose

Page 18: Azure Container Service

Container Layers

Page 19: Azure Container Service

• Volumes allow you to specify a directory in the container that exists outside of the union file system

• Directory persists after the container is deleted Unless you explicitly delete it

• Can be created in a Dockerfile or via CLI

• Can map to an existing directory on the host

• Can be used to share (and persist) data between containers

What about data persistence?

Page 20: Azure Container Service

Docker delivers speed, flexibility and savings

+ +Agility Portability Control

State of App development Survey: Q1 2016, Cornell University case study

13X More software releases

62%Report reduction in MTTR

10X Cost reduction in maintaining

existing applications

Eliminate“works on my machine”

issues

41%Move workloads across

private/public clouds

65% Reduction in developer

onboarding time

Page 21: Azure Container Service

One platform delivers one journey for all applications

1 Containerize Legacy ApplicationsLift and shift for portability and efficiency

2

3

Transform Legacy to Microservices Look for shared services to transform

Accelerate New ApplicationsGreenfield innovation

Page 22: Azure Container Service

Lift and shift to containerize legacy Windows applications

• Image2Docker tool accelerates and simplifies process of containerizing existing workloads

• Gain portability of workloads in containers and migrate across hybrid cloud

• Accelerate provisioning and deployment times for existing workloads

• Available in the Powershell Gallery

Bins/Libs

App

Windows Server

Bins/Libs

App

Windows Server

Docker Engine

Bins/Libs

App

Physical or Virtual

Virtualized workloads running

on premises

Containerized and moved to virtual or bare metal on cloud

Accelerate and simplify cloud migration

Microsoft Azure

Page 23: Azure Container Service

Docker Universal Control Plane

Integrated Security

Docker Engine

Docker Trusted Registry

Config Mgt Monitoring LoggingCI/CD ..more..Images Networking Volumes

Virtual Public Cloud

Containers in production with Docker Datacenter• Enterprise container

orchestration, management and security for dev and ops

• Available today for Linux environments

• Q4 2016 beta for Windows environments

Physical

Page 24: Azure Container Service

GETTING STARTED

DECEMBER 2, 2016

Page 25: Azure Container Service

• Create a Linux VM (or use physical), and install Docker• Requires kernel 3.10

• Stable builds• curl –sSL https://get.docker.com/ | sh

• Test and experimental builds• curl –sSL https://test.docker.com/ | sh• curl –sSL https://experimental.docker.com/ | sh

• Can also manually install (see docs)

Docker on Linux

Page 26: Azure Container Service

• Easy to install, get up and running on Docker in minutes

• Leverages Hyper-V or xhyv• Requires Windows Pro 10, Enterprise, or Education

• Full API / CLI compatibility

• OS integration for increased stability and speed

Docker for Windows / Mac

Page 27: Azure Container Service

• Enable the container role on Windows Server 2016

Docker on Windows Server 2016

Page 28: Azure Container Service

AZURE CONTAINER SERVICE

DECEMBER 2, 2016

Page 29: Azure Container Service

Azure Container ServiceAzure Container Service (ACS) provides a way to simplify the creation, configuration, and management of a cluster of virtual machines that are preconfigured to run containerized applicationsUsing an optimized configuration of popular open-source scheduling and orchestration tools, ACS enables you to use your existing skills or draw upon a large and growing body of community expertise to deploy and manage container-based applications on Microsoft Azure.

Page 30: Azure Container Service

Azure Container Service

Infrastructure

Orchestrator

Application

ARM Template

Page 31: Azure Container Service

Azure Container Service

Page 32: Azure Container Service

DEMO

DECEMBER 2, 2016

Deploy containerized app to ACS

Page 33: Azure Container Service

33CONFIDENTIAL

Thank you!