Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

34
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway? October 29, 2015 Gil Isaacs Azure Solutions Architect @gilisaacs

Transcript of Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Page 1: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Containers, Microsoft and DevOps: What is Microsoft

Doing About All This Anyway?

October 29, 2015

Gil IsaacsAzure Solutions Architect@gilisaacs

Page 2: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Agenda• Sample Containerized Application on Azure• DevOps and Containers• Microsoft and Containers

• What we’re hearing• Tools and Options• New and Cool

Page 3: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

A Sample Containerized Application on Azure

Page 4: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Agenda• Sample Containerized Application on Azure• DevOps and Containers• Microsoft and Containers

• What we’re hearing• Tools and Options• New and Cool

Page 5: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

DevOps Benefits

Source: https://puppetlabs.com/

Deploy code 30x faster

and with 200xshorter lead time as compared to their lower-performing peers

DevOps Practices improve IT

performance

Strong IT Performance is

a competitive advantage

Firms with high-performing IT organizations were 2x as likely

to exceed their profitability, market share, and productivity goals

Have 60x fewer failuresand recover from failure 168x faster as compared to their lower-performing peers

Page 6: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

What is DevOps – Some Common Practiceshttp://www.itproguy.com/devops-practices/

• Infrastructure as Code (IaC)• Continuous Integration• Automated Testing• Continuous Deployment• Release Management• App Performance Monitoring• Load Testing & Auto-Scale

• Availability Monitoring• Change/Configuration Management• Automated Environment De-

Provisioning• Self Service Environments• Automated Recovery (Rollback & Roll-

Forward)• Hypothesis Driven Development

• Testing in Production• Fault Injection• Usage Monitoring/User Telemetry

Page 7: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

DevOps and Containers

Developers build and test apps in containers, using development environment

Containers pushed tocentral repository

Operations automates deployment and monitors deployed apps from central repository

Physical/Virtual Servers

1 2

2

3Operations collaborates with developers to provide app metrics and insights

Developers update, iterate, and deploy updated containers

Creation, deployment, and management

Page 8: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

DevOps Practices

• Infrastructure as Code (IaC)• Continuous Integration• Automated Testing• Continuous Deployment• Release Management• App Performance Monitoring• Load Testing & Auto-Scale

• Availability Monitoring• Change/Configuration Management• Automated Environment De-

Provisioning• Self Service Environments• Automated Recovery (Rollback & Roll-

Forward)• Hypothesis Driven Development

• Testing in Production• Fault Injection• Usage Monitoring/User Telemetry

Page 9: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Azure Virtual Machine

Demonstration Application – ‘The Geek Quiz’Web application • Web Frontend running on mono + nginx • MySQL database

Infrastructure platform• Deployment: Azure Resource Manager (ARM)

template• Automation engine: Azure automation • Docker containers simplify deployment

Integration pieces• Application build : Visual Studio Online• Container build : DockerHub

Repositories• Application Code: Visual Studio Online• Infrastructure as Code (IaC): GitHub

MVC4 App

Page 10: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Geek Quiz Automation Architecture

Compose.yml

Azure Resource Manager Template

Dockerfile

Geek Quiz App

Docker Compose

Docker Repo

1. Build

2. Trigger

3. Webhook 4. Runbook

Azure VM Extension

6. Deployment

Azure Automation

Azure Resource Manager

5. ARM: Create New

Application Code

Infrastructure as Code

Page 11: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Sample Containerized Application on Azure

With DevOps!

Page 12: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Agenda• Sample Containerized Application on Azure• DevOps and Containers• Microsoft and Containers

• What we’re hearing• Tools and Options• New and Cool

Page 13: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Containers are in almost every conversation Evolving into discussion of ‘other’ topics

Customers are very interested Many in testing and Proof of Concept

Microsoft uses containers internally E.g. Azure Linux Compute team for build

Python Notebook Service Machine Learning Service in test

Push 1000 containers in about 6 seconds Start notebook server, bring up a notebook & print in 42 seconds

Are Containers Used by Microsoft Customers?

Page 14: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Avoid lock-in Must work on Azure and Azure Stack Choice of OSS tools and systems – Swarm, Mesos, Kubernetes Must support using bring-your-own technology to IaaS layer Ideally customers would prefer at least parts of it portable to other

clouds Ideally customers would prefer open source

Open Service Integration / Deployment Linux and Windows support

What are customers asking for?

Page 15: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Avoid patching and updating host OS Market moving towards PaaS

Monitoring of containerized applications Eg, OMS, Application Insights, APM vendors

Gaps / Futures Health and automatic restart of containers Software Defined Networking Community is building their own tooling to fill gaps for Production

lifecycle

What do YOU want?Email Ross Gardler: [email protected]

What are Customers Asking for?

Page 16: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Full support of Docker on Azure Integration of Docker Engine with Windows Server

Support the Docker client natively on Windows

Docker Hub integration with the Azure Gallery and Management Portal

Align with Docker’s Open Orchestration APIs

Microsoft’s Commitment to the Docker Community

Page 17: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Agenda• Sample Containerized Application on Azure• DevOps and Containers• Microsoft and Containers

• What we’re hearing• Tools and Options• New and Cool

Page 18: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Security & Management

Platform Services

Infrastructure ServicesVirtual Machines

Windows Linux Containers

Network Attached StorageBLOB Storage

Azure Files

Premium Storage

Datacenter Infrastructure (24 Regions, 19 Online) – More than AWS and Google combined

Web and MobileWeb Apps

MobileApps

APIManagement

APIApps

LogicApps

NotificationHubs

Media & CDNContent DeliveryNetwork (CDN)

MediaServices

Analytics & IoT

HDInsight MachineLearning

StreamAnalytics

DataFactory

EventHubs

MobileEngagement

ActiveDirectory

Multi-FactorAuthentication

Automation

Portal

Key Vault

IntegrationBiztalkServices

HybridConnections

ServiceBus

StorageQueues

Store /Marketplace

HybridOperations

Backup

StorSimple

SiteRecovery

Import/Export

Software Defined NetworkingVirtual Network

ExpressRoute

Traffic Manager

Load Balancer

DNS VPN Gateway

Application Gateway

Data

SQLDatabase

DocumentDB

RedisCache Search

Tables

SQL DataWarehouse

Azure AD Connect Health

AD PrivilegedIdentity Mngt

OperationalInsights

ComputeCloudServices

Batch Remote App

ServiceFabric

Developer Services

Visual Studio

ApplicationInsights

Azure SDK

Team Project

VM Image Gallery& VM Depot

Page 19: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?
Page 20: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

https://azure.microsoft.com/en-us/documentation/templates/

Page 21: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

https://azure.microsoft.com/en-us/documentation/articles/xplat-cli/

Page 22: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?
Page 23: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Win

dows

Use Hyper-V Containers when: The host doesn’t trust the code it’s hosting in the container You want a version of Windows different than what’s running in the

container host

Windows Isolation SpectrumQuotas

and limits

Process

State isolatio

n

Hostile Multi-tenant Isolation

Hardware virtualization

Job Objects

Windows Server

Containers

Hyper-V Container

s

Hyper-V Virtual

Machines

Faster and more efficient More isolated and more secure

New

Page 24: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

User mode

Kernel mode

Hypervisor

Kernel Kernel

Hyper-V Container Isolated runtime environment for hosted applications

leveraging additional Hyper-V provided isolation boundary

Hyper-V partition(s)

Container Management stack

Docker

PS WMI

Host OS

Kernel

Page 25: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Kernel

Windows Server Containerhttps://msdn.microsoft.com/virtualization/windowscontainers/quick_start/manage_docker Isolated runtime environment for hosted applications

User mode

Kernel modeHost

OS

Container Management stack

Docker

PS WMI

Page 26: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Bringing Docker to Windows and Azure

Page 27: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Microsoft CloudAzure On Premises Service Provider

Container ManagementPowerShell OthersDocker

Development Environments

Others…

The tools

Container TechnologiesLinux

Page 28: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Only Microsoft can deliver Windows Containers

Docker VM Extension Hyper-V Containers Visual Studio tooling Continuous Integration with Visual Studio

online Docker Trusted Registry support in VSO Marketplace integration of containerized

applications

Microsoft and Containers - Delivered

Page 29: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Agenda• Sample Containerized Application on Azure• DevOps and Containers• Microsoft and Containers

• What we’re hearing• Tools and Options• New and Cool

Page 30: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Microsoft Azure Service FabricA platform for reliable, hyperscale, microservice-based applications

Azure

WindowsServer Linux

Hosted Clouds

WindowsServer Linux

Service Fabric

Private Clouds

WindowsServer Linux

High Availability

Hyper-Scale

Hybrid Operations

High Density

Microservices

Rolling Upgrades Stateful

services

Low Latency Fast startup & shutdown

Container Orchestration & lifecycle management Replication &

FailoverSimple

programming models

Load balancing

Self-healingData Partitioning

Automated Rollback

Health Monitoring

Placement Constraints

Page 31: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Battle-hardened for over 5 yearsAzure Core Infrastruct

ure

thousands of machines

Power BI

Intune

800k devices

Azure SQL

Database

1.4 million databases

Bing Cortana

500m evals/sec

Azure Documen

t DB

billions transactions/wee

k

Skype for

Business

Hybrid Ops

Event Hubs20bn

events/day

Download the Service Fabric developer SDK Today!http://aka.ms/ServiceFabric http://github.com/Azure/ServiceFabric-Samples

Tutorials: http://aka.ms/ServiceFabricdocs

Page 32: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

In partnership with Mesosphere and DockerStandard Docker tooling and API supportStreamlined provisioning of Apache Mesos ClustersDCOS Marathon, Chronos, and Docker Swarm supportLinux and Windows Server containersAzure and Azure Stack

Announcing Azure Container Service

You can deploy a Docker capable, Apache Mesos cluster todayfrom the Azure QuickStart: http://aka.ms/ACSQuickStart

Page 33: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

Agenda• Sample Containerized Application on Azure• DevOps and Containers• Microsoft and Containers

• What we’re hearing• Tools and Options• New and Cool

Page 34: Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyway?

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.