AppSphere 15 - Microsoft Azure for Developers & DevOps
-
Upload
appdynamics -
Category
Documents
-
view
418 -
download
0
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
AZURE’S 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