azure container service

Post on 12-Apr-2017

87 Views

Category:

Engineering

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1CONFIDENTIAL

Introduction to Azure Container Service

DECEMBER 2, 2016

Alex Feschenko,SENIOR SOFTWARE ENGINEER

2CONFIDENTIAL

AGENDA

Containers are not VMs1

Working with Docker (Build, Ship, Run)

2

Container architecture3

Azure Container Service4

Q&A5

CONTAINERS ARE NOT VMS

DECEMBER 2, 2016

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

Docker containers are NOT VMs

4

VMs

Containers

They’re different, not mutually exclusive

WS 2016 Linux

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

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

BUILD, SHIP, AND RUN

DECEMBER 2, 2016

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

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

Dockerfile – Linux ExampleInstructions on how to build a Docker image

Looks very similar to “native” commands

Important to optimize your Dockerfile

Dockerfile – Windows Example

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

BUILDDevelopment Environments

SHIPCreate & Store Images

RUNDeploy, Manage, Scale

DEMO

DECEMBER 2, 2016

Docker basics: run/build/compose

Container Layers

• 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?

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

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

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

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

GETTING STARTED

DECEMBER 2, 2016

• 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

• 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

• Enable the container role on Windows Server 2016

Docker on Windows Server 2016

AZURE CONTAINER SERVICE

DECEMBER 2, 2016

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.

Azure Container Service

Infrastructure

Orchestrator

Application

ARM Template

Azure Container Service

DEMO

DECEMBER 2, 2016

Deploy containerized app to ACS

33CONFIDENTIAL

Thank you!

top related