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

    AZURES NEXT GENERATION CLOUD PLATFORM

    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

    RESOU R CE G R OUP

    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)

    DEPENDS ON SQL DEPENDS ON SQL

    SQL C ONFIG

  • 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

    fabric

    .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

    Updateable

    Resource Group

    Subnet

    Scalable Storage

    VM

    VNET

    Scalable NIC

    VM

    VM

    VM

    Scale Set

    Extensions

    Manage groups of identical VMs

    https://github.com/Azure/azure-quickstart-templates

  • Demo virtual machines scale sets

  • Docker integration with Azure

  • Azure Container Services

    Containers

    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

    Hyper-Scale

    Hybrid Operations

    High Density

    Stateful and Statless Microservices

    Rolling Upgrades Stateful

    services

    Low Latency Fast startup & shutdown

    Container Orchestration & lifecycle management Replication &

    Failover

    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:

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

    https://github.com/Azure/azure-quickstart-templates

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

    microservice applications http://aka.ms/ServiceFabric Learn from samples and complete solutions http://github.com/Azure/ServiceFabric-Samples Learn from the tutorials and videos http://aka.ms/ServiceFabricdocs Party Cluster: http://aka.ms/tryservicefabric

  • Thank You