MIX 09 11/30/2017 5:54 AM © 2009 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.
Building Web Applications with Windows Azure 11/30/2017 5:54 AM Building Web Applications with Windows Azure Steve Marx Technical Strategist Microsoft Corporation © 2007 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.
Evaluate This Talk! (right now) Tweet your eval, e.g. “@tweval OMG @smarx’s talk is awesome! I give #mix09-smarx a 9.9!” See the results, live(ish): http://tweval.com/mix09-smarx (You still have to fill out regular MIX evals.)
Tweval.com Architecture botomatic.com Web Role Worker Role ASP.NET web service .NET twitter.com PHP UI Storage
a place to run your applications. Windows Azure is a place to run your applications.
a cloud computing platform, so it’s designed to scale. Windows Azure is a cloud computing platform, so it’s designed to scale.
a utility computing platform, so you pay for what you use. Windows Azure is a utility computing platform, so you pay for what you use.
Inside are many servers.
with VMs running Windows.
We call this the Fabric,
and it’s where your app runs. Your Application
Management tasks are automated by the Fabric Controller.
You tell the Fabric Controller what to do, and it figures out how to do it.
For this to work, you need to tell us about your application.
Defining Your Service What are the components (roles)? How do they interact? At what scale? Web role Worker role Web role Worker role Web role Worker role LB
demo Let’s Gamble 11/30/2017 5:54 AM © 2007 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.
Developer Experience is Key Development Offline cloud simulation Visual Studio integration Maintenance Local debugging APIs for logging Management APIs for configuration management Web portal
What about Full Trust? <WebRole name="WebRole" enableNativeCodeExecution="true">
What about PHP? <fastCgi> <application fullPath = "%RoleRoot%\php\php-cgi.exe" /> </fastCgi>
What about PHP? <add name="PHP FastCGI Handler" verb="*" path="*.php" scriptProcessor = "%RoleRoot%\php\php-cgi.exe" modules="FastCgiModule" resourceType="Unspecified" />
demo Gambling in PHP 11/30/2017 5:54 AM © 2007 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.
Windows Azure does scale out.
----------------------------- = Scalable application Stateless compute + Durable storage ----------------------------- = Scalable application
Storage is just another app. Storage Service
Durable Storage Three replicas of everything REST API Blobs Tables … Queues
Gambling’s Tiring, Let's REST demo Gambling’s Tiring, Let's REST © 2007 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.
Tables in .NET from r in context.UserRatingTable where r.PartitionKey=="mix09-smarx" select r
Quick and Dirty: Tables in PHP
Tables in Python from winazurestorage import * t = TableStorage(srvr,accnt,key) for e in t.get_all("TagRatingTable"): print e.Tweet
Putting It All Together Web role Worker role Storage LB
Tweval.com Architecture botomatic.com Web Role Worker Role ASP.NET web service .NET twitter.com PHP UI Storage
Summary of the New Stuff Full Trust Set a flag to get it Can P/Invoke to native code Tool support for native debugging FastCGI Bring your own runtime IIS URL rewriting
11/30/2017 5:54 AM © 2009 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. © 2007 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.