38

Building and maintaining internet scale applications with Windows Azure Web Sites

  • Upload
    nedra

  • View
    52

  • Download
    4

Embed Size (px)

DESCRIPTION

Building and maintaining internet scale applications with Windows Azure Web Sites. Yochay Kiriaty Senior Program Manager [email protected] @yochayk 3-552. Agenda. One ‘marketing’ slide What does it take to run production sites? Development Cycle Monitor & Diagnose Scale. - PowerPoint PPT Presentation

Citation preview

Page 1: Building and maintaining internet scale applications with Windows Azure Web Sites
Page 2: Building and maintaining internet scale applications with Windows Azure Web Sites
Page 3: Building and maintaining internet scale applications with Windows Azure Web Sites

Building and maintaining internet scale applications with Windows Azure Web SitesYochay KiriatySenior Program [email protected]@yochayk3-552

Page 4: Building and maintaining internet scale applications with Windows Azure Web Sites

One ‘marketing’ slideWhat does it take to run production sites?Development CycleMonitor & DiagnoseScale

Agenda

Page 5: Building and maintaining internet scale applications with Windows Azure Web Sites

Demoing Scale takes time

Page 6: Building and maintaining internet scale applications with Windows Azure Web Sites
Page 7: Building and maintaining internet scale applications with Windows Azure Web Sites
Page 8: Building and maintaining internet scale applications with Windows Azure Web Sites

Scale demos for today

Run the first two demos

I need a volunteer

Scale Type Scale demo Expectations Run @Scale Up Start with a Small Reserved Medium

LargeLinear or close to linear scale

HK

Scale Out 3 Medium Reserved Linear or close to linear scale

East US

Scale Out Start with a Small Reserved 3 Small Linear or close to linear scale

West US

Scale out Manage state in DB Linear or close to linear scale

HK

Page 9: Building and maintaining internet scale applications with Windows Azure Web Sites

Windows Azure Web SitesPaaS for the Modern Web

ScalableScale out or up in seconds on a Load Balanced, Always up to date, Global Infrastructure

Ready for BusinessEnterprise Grade Availability with support for SSL and AD

Web hosting your way with choice of language, framework, database, and platform

Flexible

A powerful self service platform for developers

Page 10: Building and maintaining internet scale applications with Windows Azure Web Sites

Build itYour favorite language, framework and tools 3rd party componentsTest itFunctional, perf and stressMultiple environment and as close to production as possible Deploy itProduction configuration and secrets Source control integrationMaintain itMonitor, diagnose, and debug

"Anything that can go wrong, will go wrong“

Murphy's law

What does it takes to run a production site?

Page 11: Building and maintaining internet scale applications with Windows Azure Web Sites

Many SC optionsPush from cloudCustom deployment scripts

Continues Integration

Page 12: Building and maintaining internet scale applications with Windows Azure Web Sites

Demo

Stage / PROD + custom deployment

Page 13: Building and maintaining internet scale applications with Windows Azure Web Sites

Go see Cory’s session Continues Integration with Windows Azure Web Sites

tomorrow @ 9:00 (North Hall:131)

Page 14: Building and maintaining internet scale applications with Windows Azure Web Sites

Monitoring and DiagnosticsPerformance statisticsCPU Time, # of requests, HTTP status 2xx, 4xx, 5xx, Network, Storage sizeDiagnostics HTTP logs, Filed Request Tracing, Detailed Errors Availabilty with endpoint monitoring ‘Dev Ops’ (bunch of diagnostics tools)Application tracing & log streaming Memory DumpsDiagnostics console New Relic

Page 15: Building and maintaining internet scale applications with Windows Azure Web Sites

Demo

Diagnostics Console Application tracing

Page 16: Building and maintaining internet scale applications with Windows Azure Web Sites

scalability is the ability of a system (a web site), network, or process to handle a growing amount of work (http traffic) in a capable manner (doesn’t go belly up) or its ability to be enlarged to accommodate that growth

Source: http://en.wikipedia.org/wiki/Scalability

Page 17: Building and maintaining internet scale applications with Windows Azure Web Sites

Web Sites Scale = HTTP Throughput

Page 18: Building and maintaining internet scale applications with Windows Azure Web Sites

Scaling Options: One or BothScale Up

In Standard tier - increase the size of a reserved instance

Scale Out

In Shared tier - add more instances of your app

In Standard tier – add more reserved instances (VMs)

Page 19: Building and maintaining internet scale applications with Windows Azure Web Sites

Scale demos for todayScale Type Scale demo Expectations Run @Scale Up Start with a Small Reserved Medium

LargeLinear or close to linear scale

HK

Scale Out 3 Medium Reserved Linear or close to linear scale

East US

Scale Out Start with a Small Reserved 3 Small Linear or close to linear scale

West US

Scale out Manage state in DB Linear or close to linear scale

HK

Show result of the first two demos

Page 20: Building and maintaining internet scale applications with Windows Azure Web Sites

32 bit Vs. 64 bitFor .NET application a gain of ~20% to ~30%Make sure all dependencies support 64 bitNo 64 bit supportphp, Python, node.js

Page 21: Building and maintaining internet scale applications with Windows Azure Web Sites

Scale demos for todayScale Type Scale demo Expectations Run @Scale Up Start with a Small Reserved Medium

LargeLinear or close to linear scale

HK

Scale Out 3 Medium Reserved Linear or close to linear scale

East US

Scale Out Start with a Small Reserved 3 Small Linear or close to linear scale

West US

Scale out Manage state in DB Linear or close to linear scale

HK

Start next two demos

Again – a volunteer is required

Page 22: Building and maintaining internet scale applications with Windows Azure Web Sites

Cloud First by Design

SQL based configurationDynamic provisioning of sites on demandNetwork Storage (Azure xDrive, SMB, NAS, SAN)Stateless web servers (no synchronization required)Intelligent load balancing

How Does It Work?

Page 23: Building and maintaining internet scale applications with Windows Azure Web Sites

MICROSOFT CONF IDENTIAL – INTERNAL ONLY

HTTPSite DB

Site DB

Site DBWebWorke

rWebWorke

rWebWorke

r

Azure LB

Frontend(IIS ARR)

Runtime DB

SQL Azure VHD blobs

Site DB

SQL Azure / MySQL / Mongo

API endpoint

Publish endpoint File Server

WebWorkerSite DB

Site DB

Serving HTTP(s) Traffic – Inactive Site (‘cold’ site)http://site1..../

Page 24: Building and maintaining internet scale applications with Windows Azure Web Sites

MICROSOFT CONF IDENTIAL – INTERNAL ONLY

HTTP

Azure LB

Frontend(IIS ARR)

Runtime DB

SQL Azure VHD blobs

SQL Azure

API endpoint

Publish endpoint File Server

Site DB

Serving HTTP(s) Traffic – Inactive Site (‘cold’ site)http://site1..../ WebWorke

rsite1site1

Page 25: Building and maintaining internet scale applications with Windows Azure Web Sites

MICROSOFT CONF IDENTIAL – INTERNAL ONLY

HTTPSite DB

Site DB

Site DBWebWorke

rWebWorke

rWebWorke

r

Azure LB Runtime

DBMetering

DBSQL Azure VHD blobs

Site DB

SQL Azure

API endpoint

Publish endpoint File Server

Site DB

Site DB

Serving HTTP(s) Traffic – Active Site (‘hot’ site)http://site1..../

site1

WebWorkerFrontend(IIS ARR)

Page 26: Building and maintaining internet scale applications with Windows Azure Web Sites

Scale Out – Things To RememberIs your app stateful? Meet ARR Affinity cookieStateless app running on WAWSSay goodbye to ARR Affinity cookieManage session state (DB, Cache, Azure Storage, Client Cookies, etc…)Manage load across all components Database (SQL-Az, MySQL, Mongo, etc…)Any other Azure or 3rd party component

Page 27: Building and maintaining internet scale applications with Windows Azure Web Sites

Deleting Cookiesfunction Delete_Cookie( name, path, domain ) { if ( Get_Cookie( name ) ) document.cookie=name+"="+((path) ? ";path="+path:"")+((domain)?";domain="+domain:"") +

";expires=Thu, 01 Jan 1970 00:00:01 GMT";}

Page 28: Building and maintaining internet scale applications with Windows Azure Web Sites

Scale demos for todayScale Type Scale demo Expectations Run @Scale Up Start with a Small Reserved Medium

LargeLinear or close to linear scale

HK

Scale Out 3 Medium Reserved Linear or close to linear scale

East US

Scale Out Start with a Small Reserved 3 Small Linear or close to linear scale

West US

Scale out Manage state in DB Linear or close to linear scale

HK

Show result of last two demos

Page 29: Building and maintaining internet scale applications with Windows Azure Web Sites

Optimizing cost

Scale-outScale-up (coming soon)

Auto - Scale

Page 30: Building and maintaining internet scale applications with Windows Azure Web Sites

Additional ‘Scale’ Considerations / Topics Cache‘in memory’ (like Memcached) / Distributed (‘velocity’) / As a service Geo – Distributed Traffic ManagerCDNSharding Database (‘manually’ or using DB such as mongo)Traffic (traffic manager) / Advance Load Balancing Any other application related sharding logic

Page 31: Building and maintaining internet scale applications with Windows Azure Web Sites

Customer adoption for numbersOver 90K Subscriptions Since June’12

Page 32: Building and maintaining internet scale applications with Windows Azure Web Sites
Page 34: Building and maintaining internet scale applications with Windows Azure Web Sites

Why Using Windows Azure Web Sites

Best Visual Studio Experience

Web scale world wide

Ready for business

Faster to market

Scalable, secure and flexible platform for building and hosting powerful web applications.

Open and flexible

Page 35: Building and maintaining internet scale applications with Windows Azure Web Sites

Additional Azure Web Sites SessionsSession Presenter Description Continuous integration and scripting with Windows Azure Web SitesNorth Hall: 131 June 28, 2013 from 9:00AM to 10:00AM

Cory FowlerLearn about development and deployment automation in WAWS.300 Level

Building and maintaining Internet scale applications with Windows Azure Web SitesNorth Hall: 123June 27, 2013 from 3:30PM to 4:30PM

Yochay Kiriaty Learn about performance and scaling with WAWS

Create connected business applications with Windows Azure WebsitesNorth Hall: 134June 27, 2013 from 5:00PM to 6:00PM

Brady Gaster Learn how to build connected business applications with WAWS

Introduction to Node.js on Windows AzureSouth Hall: East Mezzanine 222 June 27, 2013 from 5:00PM to 6:00PM

Tomasz Janczuk Learn about developing applications using node.js

Advanced Patterns using Windows Azure Web Sites for apps for Office and SharePointNorth Hall: 131June 28, 2013 from 10:30AM to 11:30AM

Brady GasterDonovan Follette

Learn how to integrate WAWS and Office 365

Page 36: Building and maintaining internet scale applications with Windows Azure Web Sites

Q&A

[email protected]@yochayk

Page 37: Building and maintaining internet scale applications with Windows Azure Web Sites

Evaluate this session

Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!

Page 38: Building and maintaining internet scale applications with Windows Azure Web Sites

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.