35
#techday2012 Sergejus Barinovas (@sergejusb) Software Architect Adform Windows Azure Web Sites: new cloud hosting offering

Windows Azure Web Sites

Embed Size (px)

Citation preview

Page 1: Windows Azure Web Sites

#techday2012

Sergejus Barinovas (@sergejusb)Software ArchitectAdform

Windows Azure Web Sites: new cloud hosting offering

Page 2: Windows Azure Web Sites

• Software Architect at Adform

• Responsibilities includes Cloud strategy

• Experience in large scale deployments

• Windows Azure MVP

• One of the first 21 Windows Azure MVP

/me

Page 3: Windows Azure Web Sites

• Given

• ASP.NET MVC web site with source code available on

GitHub

• How long

• it will take to build, deploy & host this web site?

• Guess!

/quiz

Page 4: Windows Azure Web Sites

3 minutes*

*or I’ll dance boogie-woogie on stage

Page 5: Windows Azure Web Sites

/azure --help

Cloud services

Virtual machines

Page 6: Windows Azure Web Sites

• Virtual machines

• Infrastructure-as-a-Service

• Windows Server & Linux

• Flexible storage options

• Virtual private networks

/azure vm --help

Too much

infrastructureToo much

management

Page 7: Windows Azure Web Sites

• Cloud services

• Platform-as-a-Service

• Scalable apps & services

• Automated management

• Various multimedia and device options

/azure service --help

Too much

customizationToo long

deployment

Page 8: Windows Azure Web Sites

/azure --help

Cloud services

Web sitesVirtual machines

Page 9: Windows Azure Web Sites

• Web sites

• Cloud hosting service

• Build with ASP.NET, PHP or Node.js

• Deploy in seconds with VS, TFS or Git

• Start for free, scale-up as you go

/azure site --help

Page 10: Windows Azure Web Sites

/azure --help --verboseOn-Premises

Virtualization

O/S

Hardware

Native Code

Custom Software

Network

Data

Applications

Firewall

Web Sites

Applications

Data

Cloud Services

Native Code

Startup Tasks

Applications

Firewall Rules

Data

Virtual Network

Virtual Machines

Native Code

Custom Software

Virtual Network

Data

Applications

Firewall Rules

O/S

Focus on the Application

Page 11: Windows Azure Web Sites

Azure Web Sites – Azure done right

Page 12: Windows Azure Web Sites

• Build with

/azure site --list platforms

more to come…

Page 13: Windows Azure Web Sites

• Deploy using

/azure site --list deployments

Visual Studiopublishing

Team FoundationService

Git

Page 14: Windows Azure Web Sites

• Visual Studio publishing

• Web Deploy & FTP publishing

• Integrate deployment with CI process

/azure site --vs --help

Page 15: Windows Azure Web Sites

Demo: VS → publish

Page 16: Windows Azure Web Sites

• Team Foundation service awesomeness

• Team Foundation Server as-a-service

• Deploy on check-in from local computer

/azure site --tf --help

Page 17: Windows Azure Web Sites

Demo: tf checkin

Page 18: Windows Azure Web Sites

• Git awesomeness

• Deploy on push from local computer

• Deploy on push from GitHub

• Deploy on push from Codeplex

/azure site --git --help

Page 19: Windows Azure Web Sites

Demo: git push azure

Page 20: Windows Azure Web Sites

• Store in

/azure site --list db

Microsoft ClearDB MongoLab

Page 22: Windows Azure Web Sites

• Free shared instance model

• Price: 10 free web sites

• Outbound traffic: 165 MB / day

• Other limitations: RAM & CPU time quotas

• Domains: azurewebsites.net

• Storage: 1 GB shared by all sites

/azure site --instance --free --help

Page 23: Windows Azure Web Sites

• Paid shared instance model

• Price: $0.02 / hour × instance count

• Outbound traffic: first 5 GB for free, then $0.12 / GB

• Domains: azurewebsites.net or custom

• Storage: 1 GB shared by all sites

/azure site --instance --shared --help

Page 24: Windows Azure Web Sites

• Paid reserved instance model

• Price: $0.08 – $0.32 / hour × VM count

• Outbound traffic: first 5 GB for free, then $0.12 / GB

• Domains: azurewebsites.net or custom

• Storage: 10 GB shared by all sites

/azure site --instance --reserved --help

Page 25: Windows Azure Web Sites

Demo: configure & scale

Page 26: Windows Azure Web Sites

• Node.js

• Event-driven, non-blocking, cross-platform web server

• Built on top of Chrome JavaScript runtime

• Very popular within open source community

/azure site node --help

Page 27: Windows Azure Web Sites

Demo: node app.js

Page 28: Windows Azure Web Sites

• Web sites summary

• Easy to start. No changes in app, quick to create

• Easy to build. ASP.NET, PHP, Node.js

• Easy to deploy. VS, TFS, Git, GitHub, CodePlex

• Easy to scale. Start free, scale as you go

/azure site --help --verbose

Page 29: Windows Azure Web Sites

Q&A

Page 30: Windows Azure Web Sites
Page 31: Windows Azure Web Sites

Azure LB

Runtime DB

Storage Controller

IIS ARR(LB)

Web Server

Web SiteDB

1

2

3

4

5

5

5

5

1. Request for a foo.com arrives to ARR/Load Balancer

2. ARR gets info from Runtime DB about foo.com and determines which Web server(s)) should host the site.

(Antares is actively monitoring all Web Servers in the farm)

3. ARR forwards request to the designated Web Server

4. Web Server provisions site * de-provision inactive sites

5. Web Server executes request accessing site’s content and site’s DB

Request Process Flow – Inactive Site (Cold Site)

Page 32: Windows Azure Web Sites

Azure LB

Storage Controller

IIS ARR(LB)

Web Server

Web SiteDB

1 2

3

3

3

3

1. Request for a foo.com arrives to ARR/Load Balancer, which already “familiar” with foo.com

2. ARR “remembers” foo.com and route the request to the right web Server(s).

* Subsequent requests to this site get routed to a Web Server that has the site provisioned.

3. Web Server executes request accessing site’s content and site’s DB

Request Process Flow – Active Site (Hot Site)

Page 33: Windows Azure Web Sites

Azure LB

Runtime DB

Storage Controller

IIS ARR(LB)

Web Server

Cloud Drive Deploymen

t Server(s)

Web Sites DBs

All DBs are running on SQL Azure

Azure Blobs as durable storage

Windows Azure Worker Roles

Antares on Windows Azure Block Diagram

API Frontend

Page 34: Windows Azure Web Sites

Runtime DB

Azure LB

Storage Controller

IIS ARR(LB)

Web Server

Cloud DriveDeploymen

t Server(s)

Web Sites DBs

All DBs are running on SQL Azure

Azure Blobs as durable storage

Windows Azure Worker Roles

API Frontend

Metering

DWAS

Site (W3WP.exe)Site (W3WP.exe)

Site (W3WP.exe)

Monitor resources usage

Dynamic Web Activation Service

W3WP.exe IIS Application Pool Process

Antares on Windows Azure Block Diagram

Page 35: Windows Azure Web Sites

Web Server Internals

DWAS (Dynamic Activation Service)

Config and files – “Change Notifications”Quota Enforcement

Site Activation / deactivation

Monitoring Agent

Errors and logging

Resource consumption

“Modified” Web Server

Central data store (SQL Server, SQL-Azure)

Web Sites Data

Hosting plans

How It Works

Web Servers Monitor / Stats