DevOps, Microservices, and Azure Container Service

  • Published on
    05-Apr-2017

  • View
    490

  • Download
    3

Embed Size (px)

Transcript

Microsoft Developer Conference A Container JourneyDavid Tesar Senior Technical Evangelist@dtzar

March, 2017 | Cairo, Egypt

1

Extreme Sport Christians Monolith Architecture (on PaaS)SQL Azure

Microsoft AzureAzure App Services WebsiteApp InsightsInternet

.NET 4.6 front-end code with tight-couplingto out of box InstantForum product

2

The Monolithic Application

3

The Monolithic Database

Microservices Design Pattern

5

Microservices

Action Sports Community - ArchitectureDocDB

Mobile Apps React.JS / Cordova iOS/Android/WindowsUser CollectionComms CollectionAuth CollectionTags CollectionNode.JSExpressSwagger

Microsoft Azure

React.JS Website

APIGatewayInternetMicroservices on top ACS+K8s

MongoContainer

MongoContainer

Container

7

ContainersHow do they differ from virtual machines?Dependencies: Each virtualized app includes the app itself, required binaries and libraries and a guest OS, which may consist of multiple GB of dataIndependent OS: Each VM can have a different OS from other VMs, along with a different OS to the host itselfFlexible: VMs can be migrated to other hosts to balance resource usage and for host maintenance without downtimeSecure: High levels of resource and security isolation for key virtualized workloads

App AHost OSw/Container supportServer / HypervisorBins/librariesContainer

Bins/librariesApp BVirtual MachineHost OSw/Container support

2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.3/18/2017 10:16 PM8

SemanticsWhats the difference between a Docker File, Image and Container?Docker File: Defines source image and commands to execute to build a Docker ImageCreates image to build docker build

Docker Image: Images are stored in a registry and are a immutable copy of the applicationCreates instance of image docker run

Docker Container: This is the running instance of a Docker ImageLists running instances docker ps

2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.3/18/2017 10:16 PM9

DemoDocker Fundamentals withAction Sports Community Front-End React.JS & API-Comms Microservice

React.JS WebsiteAPI-Comms

2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.3/18/2017 10:16 PM10

DevOps Practices with VSTS + AzureLocal DevSource RepoBuild Docker ImageAzure Container Registry (ACR)Microsoft Azure

MasterNode1Node2

VSTSDocker-Compose upCI

2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.3/18/201711

DemoSharing Docker Images via Azure Container Registry

Docker Compose

React.JS Website

2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.3/18/2017 10:16 PM12

Continuous automatedscheduling, coordination, andmanagement of complex systemsof containerized components andthe resources they consume.@karlkfi

16

ApplicationInfrastructureAzure Container Service

ARM TemplateOrchestrator

2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.3/18/201717

DemoDeploying an ACS Cluster with Kubernetes OrchestratorUsing AZ cli script

Create Cluster

MasterNode1Node2

2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.3/18/2017 10:16 PM18

App Marketplaces

http://kubeapps.com http://mesosphere.github.io/universe/

2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.3/18/201719

DevOps Practices with VSTS + AzureLocal DevSource RepoBuild Docker ImageAzure Container Registry (ACR)Microsoft Azure

MasterNode1Node2

ACS / K8s ClusterDeploy to Cluster(Stage)Deploy to Cluster(Prod)Automated TestsVSTSDocker-Compose upCICDRM

2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.3/18/201720

DemoDeployment Using Helm to ACS+K8s Cluster

Continuous Delivery to ACS+K8s with VSTS

2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.3/18/2017 10:16 PM21

ResourcesDevOps Fundamental Video Series http://aka.ms/DevOpsFundamentals Continuous Delivery to ACS+K8s with VSTShttp://wp.me/p355zy-6hMVA Courses on Microservices https://mva.microsoft.com/search/SearchResults.aspx#!q=microservice&lang=1033 VSTS Kubernetes Taskhttps://github.com/TsuyoshiUshio/KubernetesTask ACS Kubernetes Walkthroughhttps://docs.microsoft.com/en-us/azure/container-service/container-service-kubernetes-walkthrough ACS DCOS CI/CD https://docs.microsoft.com/en-us/azure/container-service/container-service-setup-ci-cd Microsoft DevOps Case Studieshttps://microsoft.github.io/techcasestudies/

2012 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.

Africans@Microsoft 23

OMS Log Analytics for Containershttps://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-containershttps://docs.microsoft.com/en-us/azure/container-service/container-service-kubernetes-oms