AppSphere 15 - Microsoft Azure for Developers & DevOps

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

Transcript of AppSphere 15 - Microsoft Azure for Developers & DevOps

Page 1: AppSphere 15 - Microsoft Azure for Developers & DevOps

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

Page 2: AppSphere 15 - Microsoft Azure for Developers & DevOps

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

Page 3: AppSphere 15 - Microsoft Azure for Developers & DevOps

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

AZURE’S NEXT GENERATION CLOUD PLATFORM

Service Fabric Apps

SCALR, RightScale,

Mesos, Swarm,

Kubernetes Physical

Machines/Other Clouds

Page 4: AppSphere 15 - Microsoft Azure for Developers & DevOps

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

Page 5: AppSphere 15 - Microsoft Azure for Developers & DevOps

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

Page 6: AppSphere 15 - Microsoft Azure for Developers & DevOps

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

Page 7: AppSphere 15 - Microsoft Azure for Developers & DevOps

Demo virtual machines

Page 8: AppSphere 15 - Microsoft Azure for Developers & DevOps

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

Page 9: AppSphere 15 - Microsoft Azure for Developers & DevOps

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

Page 10: AppSphere 15 - Microsoft Azure for Developers & DevOps

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

Page 11: AppSphere 15 - Microsoft Azure for Developers & DevOps

Demo virtual machines scale sets

Page 12: AppSphere 15 - Microsoft Azure for Developers & DevOps

Docker integration with Azure

Page 13: AppSphere 15 - Microsoft Azure for Developers & DevOps

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  

Page 14: AppSphere 15 - Microsoft Azure for Developers & DevOps

Demo container service

Page 15: AppSphere 15 - Microsoft Azure for Developers & DevOps

•  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

Page 16: AppSphere 15 - Microsoft Azure for Developers & DevOps

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

Page 17: AppSphere 15 - Microsoft Azure for Developers & DevOps

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.

Page 18: AppSphere 15 - Microsoft Azure for Developers & DevOps

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

Page 19: AppSphere 15 - Microsoft Azure for Developers & DevOps

Services built with Service Fabric

Page 20: AppSphere 15 - Microsoft Azure for Developers & DevOps

300+ Service Fabric Preview Customers

Page 21: AppSphere 15 - Microsoft Azure for Developers & DevOps

Service Fabric cluster with microservices

Page 22: AppSphere 15 - Microsoft Azure for Developers & DevOps

Handling machine failures

Page 23: AppSphere 15 - Microsoft Azure for Developers & DevOps

Stateful microservice

Page 24: AppSphere 15 - Microsoft Azure for Developers & DevOps

Demo Azure Service Fabric

Page 25: AppSphere 15 - Microsoft Azure for Developers & DevOps

Cloud Services

Azure Tables/NoSQL

Reliable Azure Queue

Service Fabric (Stateful)

Word count service Cloud Service vs Stateful Service Fabric

Page 26: AppSphere 15 - Microsoft Azure for Developers & DevOps

Simplifying Compute

Web Apps •  Web-based

compute •  Open APIs •  No infrastructure

management •  App Gallery •  Long running

Web tasks

Azure Web Apps

Page 27: AppSphere 15 - Microsoft Azure for Developers & DevOps

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

Page 28: AppSphere 15 - Microsoft Azure for Developers & DevOps

Thank You