AppSphere 15 - Microsoft Azure for Developers & DevOps

of 28 /28
Microsoft Azure for developers and dev-ops Boris Scholl Principal Program Manager Azure Compute

Embed Size (px)

Transcript of AppSphere 15 - Microsoft Azure for Developers & DevOps

  • Microsoft Azure for developers and dev-ops Boris Scholl Principal Program Manager Azure Compute

  • Agenda Azure virtual machines

    IaaS workloads Azure virtual machines scale sets

    Scalable compute layer for hyper-scale apps Azure container service

    Build and manage containerized applications and services Azure service fabric

    Build and operate always-on, scalable microservices applications Azure web apps

    Simplifying compute

    Copyright 2015 AppDynamics. All rights reserved. 2

  • VMs and VM Scale Sets

    Azure Public Cloud Azure Stack

    VM Extensions

    ACS Service Fabric

    (Apps and Containers) Batch

    App Service Media

    Web Apps

    Mobile Apps

    Apprenda CloudFoundr

    y Jelastic


    Service Fabric Apps

    SCALR, RightScale,

    Mesos, Swarm,

    Kubernetes Physical

    Machines/Other Clouds

  • Azure Resource Manager

    Application Lifecycle Container Declarative Solution for

    Deployment and Configuration Consistent Management Layer


    Azure Resource Manager

    Azure Resource Groups

    Tightly coupled containers of multiple resources of similar or different types

    Resource Group is a unit of management

    Deployment, Update, Delete Identity Metering, billing, quota

  • Azure Templates can: Ensure Idempotency

    Simplify Orchestration

    Simplify Roll-back

    Provide Cross-Resource Configuration and Update Support

    Azure Templates are: Source file, checked-in

    Specifies resources and dependencies (VMs, WebSites, DBs) and connections (config, LB sets)

    Parameterized input/output

    Instantiation of repeatable config. Configuration Resource Group

    Power of Repeatability

    SQL - A Website Virtual Machines

    SQL-A Website [SQL CONFIG] VM (2x)



  • Virtual machine building blocks

    OS & data disk images Various sizes Windows base OSs Linux base OSs Azure Certified Images Community images

    VM Extensions Security Deployment Configuration Others

    Visual Studio debuggers Diagnostics agents Monitoring agents Access recovery Docker extension Backup helper

  • Demo virtual machines

  • Challenges of scale with virtual machines Need to correlate loops of independent resources, e.g. NICs,

    storage accounts, VMs Different loop sizes for NICs and storage accounts etc.

    No easy mechanism to scale in Scale out How do you ensure availability Resource loops are a syntactical shorthand, but multiple calls go to


    .Virtual Machine Scale Sets to the rescue

  • What are Virtual Machine Scale Sets?

    A way to deploy and manage a set of identical VMs Integrate with Azure Autoscale

    Integrate with Azure Load Balancer

    An Azure Compute resource Microsoft.Compute/virtualMachineScaleSets

    Scalable compute layer for hyperscale apps

    An infrastructure for PaaS

  • VM Scale Sets in ARM

    Auto-Scalable Fast Customizable

    Windows or Linux VM extensions Open PaaS platform

    Ease of Management

    Focus on target instance count


    Resource Group


    Scalable Storage



    Scalable NIC




    Scale Set


    Manage groups of identical VMs

  • Demo virtual machines scale sets

  • Docker integration with Azure

  • Azure Container Services


    Container Tooling Service Tooling

    Layer Supported Technologies

    Configuration as Code

    ARM, Dockerfile, Docker Compose

    Host cluster management

    VM Scale Sets

    Container orchestration

    Docker Swarm, Chronos, Marathon, Apache Mesos

    Monitoring AppDynamics, OMS, AI

  • Demo container service

  • Scales by cloning the app on multiple servers/VMs/Containers

    Monolithic application approach Microservices application approach

    A microservice application separates functionality into separate smaller services.

    Scales out by deploying each service independently creating instances of these services across servers/VMs/containers

    A monolithic application has most of its functionality within a single process that is commonly componentized with libraries.

    App 1 App 2 App 1

  • What is a microservice? Encapsulates a scenario Are developed by a small engineering team Can be written in any language and framework Contain code plus state that is independently versioned,

    deployed, and scaled Interact with other microservices over well defined interfaces

    and protocols such as http Have a unique name (URL) that can be resolved Remains consistent and available in the presence of failures

  • Types of microservices from a Service Fabric perspective

    Stateless microservice Has either no state or it can be retrieved from an external store There can be N instances e.g. web frontends, protocol gateways, Azure Cloud Services etc.

    Stateful microservice Maintain hard, authoritative state N consistent copies achieved through replication and local persistence e.g. database, documents, workflow, user profile, shopping cart etc.

  • Microsoft Azure Service Fabric A platform for reliable, hyper scale, microservice-based applications

    Service Fabric

    High Availability


    Hybrid Operations

    High Density

    Stateful and Statless Microservices

    Rolling Upgrades Stateful


    Low Latency Fast startup & shutdown

    Container Orchestration & lifecycle management Replication &


    Simple programmin

    g models Resource balancing

    Self-healing Data Partitioning

    Automated Rollback

    Health Monitoring

    Placement Constraints

    Azure Private cloud Other clouds

  • Services built with Service Fabric

  • 300+ Service Fabric Preview Customers

  • Service Fabric cluster with microservices

  • Handling machine failures

  • Stateful microservice

  • Demo Azure Service Fabric

  • Cloud Services

    Azure Tables/NoSQL

    Reliable Azure Queue

    Service Fabric (Stateful)

    Word count service Cloud Service vs Stateful Service Fabric

  • Simplifying Compute

    Web Apps Web-based

    compute Open APIs No infrastructure

    management App Gallery Long running

    Web tasks

    Azure Web Apps

  • Resources Applies to everything discussed: Getting Started Guide: Example templates:

    Service Fabric specific Download the Service Fabric developer SDK and build some

    microservice applications Learn from samples and complete solutions Learn from the tutorials and videos Party Cluster:

  • Thank You