/
Windows Azure Cloud Roger Windows Azure Cloud Roger

Windows Azure Cloud Roger - PowerPoint Presentation

debby-jeon
debby-jeon . @debby-jeon
Follow
351 views
Uploaded On 2018-09-20

Windows Azure Cloud Roger - PPT Presentation

Barga Microsoft Thilina Gunarathne Indiana University Agenda Cloud Computing Fundamentals The Windows Azure Service Model Windows Azure Storage High Availability and Windows Azure Services ID: 672130

windows azure service role azure windows role service storage tier cloud application update account domains vip net web instance table domain 2middle

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Windows Azure Cloud Roger" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Windows Azure Cloud

Roger

Barga

, Microsoft

Thilina

Gunarathne

, Indiana UniversitySlide2

Agenda

Cloud Computing Fundamentals

The

Windows Azure Service

Model

Windows Azure

Storage

High

Availability and Windows Azure ServicesSlide3

Cloud Computing FundamentalsSlide4

Time

Demand

What is a “Cloud”?

Cloud: on-demand, scalable, multi-tenant, self-service compute and storage resources

Time

Demand

Server Provisioning

Cloud Provisioning

Overprovisioned

UnderprovisionedSlide5

Cloud Terminology

Infrastructure as a Service (

IaaS

):

basic compute and storage resources

On-demand serversAmazon EC2, VMWare vCloudPlatform as a Service (PaaS): cloud application infrastructureOn-demand application-hosting environmentE.g. Google AppEngine, Salesforce.com, Windows AzureSoftware as a Service (SaaS): cloud applicationsOn-demand applicationsE.g. Office 365, GMail, Microsoft Office Web CompanionsSlide6

Cloud: Efficiency Versus Control

= Managed for You

Standalone

Servers

IaaS

PaaSSaaSApplicationsRuntimesDatabaseOperating SystemVirtualizationServerStorageNetworkingWindows Azure

EfficiencyControl+CostSlide7

Operating

System

Operating

System

VM

WebServerOperating SystemVMDBMS2) Choose image, then create and configure VM(s) for application1) Choose image, then create VM for DBMS and configure DBMSIaaSLibraryVM ImagesDeveloperApplication

DataLoad Balancer5) Configure loadbalancer

6) Manage VMs and DBMS (e.g., deploying new OS images in VMs)

3

) Provision database, then create tables

and add data

4) Install applicationSlide8

Operating

System

Operating

System

VM

Operating SystemVMDBMSPaaSDeveloperApplicationDataLoad Balancer2) Deploy applicationWebServer1) Provision database, then create tables and add dataSlide9

Windows Azure

Windows Azure is an OS for the data center

Handles resource management, provisioning, and monitoring

Manages application lifecycle

Allows developers to concentrate on business logic

Provides common building blocks for distributed applicationsReliable queuing, simple structured storage, SQL storageApplication services like access control, caching, and connectivitySlide10

Windows Azure Platform

Fabric Controller

Windows Azure Networking

AppFabric

Caching

AppFabric Access Control ServerSQL AzureAppFabric Service Bus“Red Dog” Front End (RDFE)WindowsAzureComputeWindowsAzureMiddleware ServicesWindows Azure ApplicationsWindows Azure StorageWindows Azure CDNWindowsAzureData ServicesSlide11

The Windows Azure Service ModelSlide12

Windows Azure Application Philosophy:

Design for Failure

Scale out for capacity

Scale out for redundancy

Asynchronous communication

Short time outs with retriesIdempotent operationsStateless with durable external storageSlide13

Windows Azure Application Characteristics

Single Instance

Persistent OS

Multi-Instance

Stateless

OSAutomated, Consistent Application UpdatesAutomated, Consistent Configuration ChangesMulti-Instance ManagementScale-outHigh AvailabilityAutomated, Consistent OS ServicingWindows AzureSingle InstancePersistent OSMulti-InstanceStateless OSAutomated, Consistent Application UpdatesAutomated, Consistent Configuration ChangesMulti-Instance ManagementScale-outHigh AvailabilityAutomated, Consistent OS ServicingWindows ServerSlide14

Let’s Make a Cloud Application!

Marketing wants to catch branding violations

Take as input an uploaded PowerPoint file and scan it for “branding violations” (use of “Azure” without “Windows” or “SQL” prefix)

Requirements:

High availability

IIS/MVC2 web siteScalable violation scanning workersSlide15

Multi-Tier Cloud Application

A cloud application is typically made up of different components

Front end: e.g. load-balanced stateless web servers

Middle worker tier: e.g. order processing, encoding

Backend storage: e.g. SQL tables or files

Multiple instances of each for scalability and availabilityFront-EndCloud ApplicationFront-EndHTTP/HTTPSWindowsAzureStorage,SQL AzureLoad BalancerMiddle-TierSlide16

The Windows Azure Service Model

A Windows Azure application is called a “service”

Definition information

Configuration information

At least one “role”

Roles are like DLLs in the service “process”Collection of code with an entry point that runs in its own virtual machineWindows Azure compute SLA requires two instances of each role99.95% for connectivity to two instancesAchieved with update and fault domainsSlide17

Role Contents

Definition:

Role name

Role

type

VM size (e.g. small, medium, etc.)Network endpointsCode: Web/Worker Role: Hosted DLL and other executablesVM Role: VHDConfiguration:Number of instancesNumber of update and fault domainsCloud ServiceRole: Front-EndDefinitionType: WebVM Size: SmallEndpoints: External-1ConfigurationInstances: 2Update Domains: 2Fault Domains: 2Role: Middle-TierDefinitionType: WorkerVM Size: LargeEndpoints: Internal-1ConfigurationInstances: 3Update Domains: 2Fault Domains: 2Slide18

Role Types

There are currently three role types:

Web Role: IIS7 and ASP.NET in Windows Azure-supplied OS

Worker Role: arbitrary code in Windows Azure-supplied OS

VM Role: uploaded VHD with customer-supplied OS

VM Role: is it a VM?No, because it is statelessGood for:Long install (5+ minutes)Manual install/configFragile install/configSlide19

Service Model Files

Service definition is in

ServiceDefinition.csdef

Service configuration is in

ServiceConfiguration.cscfg

CSPack program Zips service binaries and definition into service package file (service.cscfg)Slide20

Windows Azure StorageSlide21

Branding Police Inter-Role Communication

We have several types of communication between roles:

PowerPoint file sent from Web Role to Worker Role

Branding violations returned from Worker Role to user

Requirements:

Communication must be asynchronousMust support concurrent violation scans for different usersFailure of any node must cause at worst a delayLet’s look at Windows Azure storage and communications support…WebRoleWorkerRoleSlide22

Windows Azure Storage Fundamentals

Storage characteristics

Durable – replicated three times

Scalable (capacity and throughput)

Highly available

Simple and familiar programming interfacesREST (HTTP and HTTPS).NET accessibleSlide23

Storage Objects

Blobs

Provide a simple interface for storing named files along with metadata for the file

Tables

Provide lightly structured storage with a set of entities that contain a set of propertiesQueues Provide reliable storage and delivery of messagesSlide24

Storage Account and Blob Containers

Storage account

An account can have many blob containers

Container

A container is a set of blobs

Sharing policies are set at the container level Public READ or PrivateAssociate metadata with containerMetadata is <name, value> pairsUp to 8KB per containerList the blobs in a containerSlide25

Blob Storage Concepts

Blob

Container

Account

sally

picturesIMG001.JPGIMG002.JPGmoviesMOV1.AVISlide26

Table Data Model

Table

A storage account can create many tables

.NET classes and LINQ

A table is a set of entities (rows)

An entity is a set of properties (columns)Billions of entities and TBs of dataTwo “key” properties that together are the unique ID of the entity in the tablePartitionKey – enables scalabilityRowKey – uniquely identifies the entity within the partitionSlide27

Table Storage Concepts

Entity

Table

Account

s

allyusersName =…Email = …Name =…Email = …photo indexPhoto ID =…Date =…Photo ID =…Date =…Slide28

Windows Azure Queues

Provide reliable message delivery

Simple, asynchronous work dispatch

Programming semantics ensure that a message can be processed at least once

Queues are highly available, durable and performance efficient

Maximum size is 64KFIFO in general, but not guaranteedPulling an item from the queue doesn’t delete itIt becomes invisible for a visibility timeoutItem must be deleted before timeout or else it becomes visibleSlide29

Queue Storage Concepts

Message

Queue

Account

s

allythumbnail jobs128x128, http://…256x256, http://…photo processing jobshttp://…http://…Slide30

Account

Container

Blobs

Table

Entities

QueueMessagesWindows Azure Data Storage Conceptshttp://<account>.blob.core.windows.net/<container>http://<account>.table.core.windows.net/<table>http://<account>.queue.core.windows.net/<queue>Slide31

Branding Police

Web

Role

Web

Role

WorkerRoleWorkerRole{…-…-...-…}-report.txt{…-…-...-…}{…-…-...-…}Working on…Violations:…brandingpolice.cloudapp.netSlide32

Updating Windows Azure ServicesSlide33

Update Types

There are two update types:

In-place: updating a live service

VIP swap: for testing first

In-place update:

Role instances updated one update domain at a timeTwo modes: automatic and manualVIP swap update:Two slots: staging and productionNew version of service deployed to staging slotExternal VIP/DIP mapping swapped with oldNote: slots retain IP addressSlide34

In-Place Update

Purpose: Ensure service stays up while updating and Windows Azure OS updates

System considers update domains when upgrading a service

1/Update domains = percent of service that will be offline

Default is 5 and

max is 20, override with upgradeDomainCount service definition propertyThe Windows Azure SLA is based on at least two update domains and two role instances in each roleFront-End-1Front-End-2Update Domain 1Update Domain 2Middle Tier-1Middle Tier-2Middle Tier-3Update Domain 3Middle Tier-3Front-End-2Front-End-1Middle Tier-2Middle Tier-1Slide35

VIP Swap Detail

Note about VIPs: You keep your assigned VIP for the lifetime of a deployment

Even for VIP swap, “production” retains the production VIP

Production VIP – VIP1

<

dnsname>.cloudapp.netRole ARole BPort 80Port 3389Port 3390Deployment AStaging VIP – VIP2<guid>.cloudapp.netRole A’Role B’Port 80Port 3389Port 3390Deployment A’Role ARole BPort 80Port 3389Port 3390Deployment ARole A’Role B’Port 80Port 3389Port 3390Deployment A’Production VIP – VIP1<dnsname>.cloudapp.netStaging VIP – VIP2<guid>.cloudapp.netSlide36

Update Type Capabilities

Supported Changes

In-place

VIP Swap

Delete and

RedeployOperating system versionYesYesYes.NET trust levelYesYesYesVirtual machine sizeSoonYesYesLocal storage settingsYes (increase only)YesYesNumber of rolesSoonYesYesNumber of role instancesYesYesYesNumber or type of endpointsSoonNoYesNames and values of configuration settingsSoonYesYesValues (but not names) of configuration settingsYesYesYesAdd new certificatesSoonYesYesChange existing certificatesYesYesYesDeploy new codeYesYesYesSlide37

High Availability and Windows Azure ServicesSlide38

Availability: Fault Domains

Avoid single points of physical failures

Unit of failure based on data center topology

E.g. top-of-rack switch on a rack of machines

Windows Azure considers fault domains when allocating service roles

At least 2 fault domains per serviceWill try and spread roles out across moreAvailability SLA – 99.95%Front-End-1Fault Domain 1Fault Domain 2Front-End-2Middle Tier-2Middle Tier-1Fault Domain 3Middle Tier-3Front-End-1Middle Tier-1Front-End-2Middle Tier-2Middle Tier-3Slide39

Load Balancer Operation

FC programs load balancers (LB) to “probe” guest agent (GA) every 15 seconds

If the guest misses two probes, the LB stops forwarding traffic

The role can report “busy” status to the GA

GA stops responding to probes

LB keeps an idle connection open for 60sUse keep-alive commands if the connection needs to be open longerSlide40

Guest Agent and Role Instance Heartbeats and Timeouts

25 min

Guest

Agent

Connect

TimeoutGuest Agent Heartbeat 5sRoleInstanceLaunchIndefiniteRoleInstanceStartRoleInstanceReady(for updates only)15 minRole Instance Heartbeat 15sGuest Agent Heartbeat Timeout 10 minRole Instance “Unresponsive” Timeout30s

Load Balancer Heartbeat 15s

Load Balancer

Timeout

30s

Guest Agent

Role InstanceSlide41

Conclusion

The Cloud enables pay-as-you-go self-service provisioning of application resources

Platform as a Service is all about reducing management and operations overhead

Windows Azure enables you to develop and deploy scalable, highly-available applications in minutes

With Windows Azure, you can deploy code using any

Windows language or runtimeWindows Azure Training coursehttp://msdn.microsoft.com/en-us/wazplatformtrainingcourse.aspx