A Lap Around Windows Azure<br />Chris Ismael<br />Developer Evangelist<br />Developer and Platform Evangelism<br />Microso...
Goals and Agenda<br />To get you to sign up for the Windows Azure Introductory Offer  <br />	http://bit.ly/freeazuresg<br...
Why Cloud Computing started<br />How Windows Azure came about?<br />Microsoft’s online services challenges<br />Spending a...
Characteristics of Cloud Computing<br />Value Proposition<br />Elasticity <br />No Commitment<br />Reduced Cost<br />Consu...
Sample Scenario – Your typical Online Store<br />The Service Model<br />Signing up for Windows Azure<br />Windows Azure To...
Planning / Architecture<br />Service Model to the rescue!<br />Windows Azure Roles<br />Templates of commonly-used machine...
Networking
Port configurations
Etc.</li></li></ul><li>Creating a Windows Azure application in Visual Studio 2010<br />
Things to ponder on:<br />This looks like Platform-As-A-Service (PAAS)<br />Provides the tools and development environment...
Signing up for Windows Azure<br />
Things to ponder on<br />Do I have to use Visual Studio to deploy? (show demo first)<br />Is there a way to programmatical...
Sample Scenario – Your typical Online Store<br />The Service Model<br />Signing up for Windows Azure<br />Windows Azure To...
Storage using Blobs<br />Blobs<br />No need to predict how much storage is needed<br />Persistent storage for your instanc...
Blob Storage Concepts<br />Blob<br />Container<br />Account<br />IMG001.JPG<br />pictures<br />MOV1.AVI<br />IMG002.JPG<br...
Blob Demo<br />
Things to ponder on..<br />Standard REST PUT/GET Interface<br />http://<Account>.blob.core.windows.net/<Container>/<BlobNa...
Scenarios for using Queues<br />
Queue Demo<br />
Dequeue And Delete Messages<br />Producers<br />Consumers<br />1<br />C1<br />P2<br />4<br />1<br />2<br />3<br />1<br />3...
Summary Of Windows Azure Queues<br />Provide reliable message delivery<br />Allows Messages to be retrieved and processed ...
Tables<br />First a little story about traffic signals…<br />Versus traditional databases<br />Denormalized data<br />No s...
Table Demo<br />
Table Partitioning<br /><ul><li>To increase performance
Data resilience
Cheap</li></ul>Fastest to slowest query<br />Unique partition key <br />Partition key + row key<br />Partition key<br />No...
So do I need SQL Azure?<br />Windows Azure Tables<br />Denormalized data<br />No schema – just name-value pairs<br />No di...
Sample Scenario – Your typical Online Store<br />The Service Model<br />Signing up for Windows Azure<br />Windows Azure To...
Identity Management using AppFabric ACS<br />Recap..<br />Scenarios<br />You don’t want to manage passwords (how is that p...
Tokens aplenty!<br />
Upcoming SlideShare
Loading in...5
×

BizSpark Startup Night Windows Azure March 29, 2011

2,270

Published on

BizSpark Startup Night presentation in Singpaore. March 29, 2011

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,270
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Start asking yourselves, do I need these?Windows Azure Key FeaturesService hostingService managementStorage – HTTP APIWindows Server - .NET Framework, FastCGI for PHP, ROR, Python, etcDevelopment Tools
  • Demo New ProjectShow Definition and Configuration FilesShow Properties of Web Role to demonstrate how easy it is to configure
  • Show signing upShow portalShow RDP
  • Show foldersShow public/privateShow metadata
  • Remember in our online store, one particular part of the process during purchasing is card payment.
  • The right choice depends on the environment you’re inDatabase administrators go to great lengths in making sure their data is not repeated, this process is called normalization. This ensures data integrity – you don’t want to have to update several tables with the column “name” under it. One drawback to this is performance. With Tables, it is up to the developer to take care of data integrity
  • Show propertiesAdd new properties – remember to put valuesPartition key / Row keys
  • BizSpark Startup Night Windows Azure March 29, 2011

    1. 1. A Lap Around Windows Azure<br />Chris Ismael<br />Developer Evangelist<br />Developer and Platform Evangelism<br />Microsoft Singapore<br />
    2. 2. Goals and Agenda<br />To get you to sign up for the Windows Azure Introductory Offer  <br /> http://bit.ly/freeazuresg<br />Provide you with the “core concepts” knowledge that would be your foundation in understanding Windows Azure<br />Agenda<br />Why Cloud Computing?<br />Why Would I…<br />Define my website/service’s architecture<br />Use Blob Storage, Tables, Queues<br />Use Windows Azure AppFabric<br />
    3. 3. Why Cloud Computing started<br />How Windows Azure came about?<br />Microsoft’s online services challenges<br />Spending a lot of time managing the machines<br />Inefficient utilization<br />Little resource sharing<br />No shared platform or standard toolset for everyone<br />Reasons for major cloud providers<br />Optimization (extra resources to share) ie Amazon Web Services<br />Profit – economies of scale<br />Strategic – product franchise<br />Extension – customer relationships<br />Presence – in market<br />Platform – hub master of ISV’s offerings<br />
    4. 4. Characteristics of Cloud Computing<br />Value Proposition<br />Elasticity <br />No Commitment<br />Reduced Cost<br />Consumption-based Pricing<br />Extra Capacity<br />Faster Time to Market<br />Self-Service IT<br />SLA – 99.9% (over existing)<br />Simplify IT<br />Convert CapEx to OpEx<br />New Capabilities – ie federated security<br />Concerns<br />Security<br />Performance and Availability (ie storage)<br />Vendor Lock-in<br />Disaster Recovery<br />In-house Capability and Process<br />Billing Concerns<br />Trust<br />Alignment<br />Best bet: Try it (bit.ly/freeazuresg)<br />From David Pallman (davidpallman.blogspot.com)<br />
    5. 5. Sample Scenario – Your typical Online Store<br />The Service Model<br />Signing up for Windows Azure<br />Windows Azure Tool Set<br />Portal and Service Management API<br />Blobs and Tables<br />Queues<br />AppFabric Access Control Service (ACS)<br />Planning / Architecture<br />Purchasing (hardware, software licenses, etc)<br />Prototyping / Testing<br />Deployment / Management<br />Adding new storage<br />Decoupling components<br />Managing identity (credentials)<br />
    6. 6. Planning / Architecture<br />Service Model to the rescue!<br />Windows Azure Roles<br />Templates of commonly-used machine configurations<br />Web Role – website / front-end<br />Worker Role – background jobs<br />VM Role – virtual machine image<br />Service Definition and Configuration files<br />Consider the effort to get this running:<br /><ul><li>Configuration of machines
    7. 7. Networking
    8. 8. Port configurations
    9. 9. Etc.</li></li></ul><li>Creating a Windows Azure application in Visual Studio 2010<br />
    10. 10. Things to ponder on:<br />This looks like Platform-As-A-Service (PAAS)<br />Provides the tools and development environment to deploy applications<br />Provides APIs to interact with the cloud components<br />IAAS, SAAS <br />Can I log-in to view these machines?<br />
    11. 11. Signing up for Windows Azure<br />
    12. 12.
    13. 13. Things to ponder on<br />Do I have to use Visual Studio to deploy? (show demo first)<br />Is there a way to programmatically control and manage my deployments?<br />Service Runtime API – let’s you access manipulate, and respond to the ambient environment in which your code runs (managed, native)<br />Service Management API – meant to be run “outside” the cloud to manipulate your running services from outside (HTTP REST, free)<br />
    14. 14. Sample Scenario – Your typical Online Store<br />The Service Model<br />Signing up for Windows Azure<br />Windows Azure Tool Set<br />Portal and Service Management API<br />Blobs and Tables<br />Queues<br />AppFabric Access Control Service (ACS)<br />Planning / Architecture<br />Purchasing (hardware, software licenses, etc)<br />Prototyping / Deployment<br />Management<br />Adding new storage<br />Decoupling components<br />Managing identity (credentials)<br />
    15. 15. Storage using Blobs<br />Blobs<br />No need to predict how much storage is needed<br />Persistent storage for your instances<br />Scalable – consistent performance regardless of amount of data<br />Replication of data<br />REST HTTP / StorageClient libraries<br />Why a new storage model?<br />What’s wrong with the filesystem?<br />When would I need a blob?<br />What skills do I need to use blobs?<br />
    16. 16. Blob Storage Concepts<br />Blob<br />Container<br />Account<br />IMG001.JPG<br />pictures<br />MOV1.AVI<br />IMG002.JPG<br />sally<br />movies<br />
    17. 17. Blob Demo<br />
    18. 18. Things to ponder on..<br />Standard REST PUT/GET Interface<br />http://<Account>.blob.core.windows.net/<Container>/<BlobName><br />StorageClient Library available<br />Metadata can be associated per blob – 8K max<br />Watch your wallet<br />$0.15 per GB stored per month<br />$0.01 per 10,000 storage transactions<br />Windows Azure Drive… the C: solution (using VHDs)<br />
    19. 19. Scenarios for using Queues<br />
    20. 20. Queue Demo<br />
    21. 21. Dequeue And Delete Messages<br />Producers<br />Consumers<br />1<br />C1<br />P2<br />4<br />1<br />2<br />3<br />1<br />3<br />2<br />C2<br />P1<br />
    22. 22. Summary Of Windows Azure Queues<br />Provide reliable message delivery<br />Allows Messages to be retrieved and processed at least once<br />No limit on number of messages stored in a Queue<br />Message size is <=8KB<br />
    23. 23. Tables<br />First a little story about traffic signals…<br />Versus traditional databases<br />Denormalized data<br />No schema – just name-value pairs<br />No distributed transactions<br />Black box – no settings<br />Row size limits – 1MB<br />Easy analogy = Excel sheet<br />
    24. 24. Table Demo<br />
    25. 25. Table Partitioning<br /><ul><li>To increase performance
    26. 26. Data resilience
    27. 27. Cheap</li></ul>Fastest to slowest query<br />Unique partition key <br />Partition key + row key<br />Partition key<br />No partition key/row<br />
    28. 28. So do I need SQL Azure?<br />Windows Azure Tables<br />Denormalized data<br />No schema – just name-value pairs<br />No distributed transactions<br />Black box – no settings<br />Row size limits – 1MB<br />SQL Azure<br />Invert everything (pretty much) on the left, plus…<br />Easier migration – MySQL/SQL Server -> SQL Azure, etc<br />Has limits<br />10, 20, 30 – 50GB<br />What if I need more than that???<br />
    29. 29. Sample Scenario – Your typical Online Store<br />The Service Model<br />Signing up for Windows Azure<br />Windows Azure Tool Set<br />Portal and Service Management API<br />Blobs and Tables<br />Queues<br />AppFabric Access Control Service (ACS)<br />Planning / Architecture<br />Purchasing (hardware, software licenses, etc)<br />Prototyping / Deployment<br />Management<br />Adding new storage<br />Decoupling components<br />Managing identity (credentials)<br />
    30. 30. Identity Management using AppFabric ACS<br />Recap..<br />Scenarios<br />You don’t want to manage passwords (how is that possible?)<br />You don’t want to drastically change your existing code to handle logic for credentials<br />You have an existing Identity Store (Active Directory)<br />You want users to authenticate using several existing Identity Stores such as Live ID, Google, etc<br />Claims-based identity to the rescue! (share analogy) – portal.appfabriclabs.com <br />
    31. 31. Tokens aplenty!<br />
    32. 32. Demo ACS<br />
    33. 33. Sample Scenario – Your typical Online Store<br />The Service Model<br />Signing up for Windows Azure<br />Windows Azure Tool Set<br />Portal and Service Management API<br />Blobs and Tables<br />Queues<br />AppFabric Access Control Service (ACS)<br />Planning / Architecture<br />Purchasing (hardware, software licenses, etc)<br />Prototyping / Deployment<br />Management<br />Adding new storage<br />Decoupling components<br />Managing identity (credentials)<br />A bunch more to check out: VM Role<br /> Azure Drive<br />AppFabric – Cache<br />AppFabric - Service Bus<br />
    34. 34. Pizza time <br />Sign up for a free account http://bit.ly/freeazuresg<br />Learn more at http://www.azure.com<br />Try AppFabric at http://portal.appfabriclabs.com - free<br />
    35. 35. © 2010 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.<br />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.<br />
    36. 36. Windows Azure Command-line Tools for PHP <br />Overview<br />Enables PHP developers to easily package and deploy application to Windows Azure <br />A simple command-line tool<br />Features<br />Create new applications or convert existing PHP applications to Windows Azure applications<br />Package all project assets:<br />PHP Engine, Application source, PHP Extensions<br />New Features including support for <br />Worker role for batch processing & long running transactions. <br />Windows Azure Drive<br />Hosted Web Core on Worker Role<br />Deploy to Local Development Fabric or the Windows Azure Cloud<br />Specify deployment options<br />Eg:- Configure # of instances<br />Create the Azure deployment package (.cspkg) and Configuration file (.cscfg)<br />Project site:<br />http://azurephptools.codeplex.com<br />Local (Development Fabric) or Cloud<br />1<br />2<br />3<br />Windows Azure Command-line Tools for PHP <br />
    37. 37. Windows Azure SDK for PHP<br />Logical architecture <br />Overview<br />Enables PHP developers to develop against Windows Azure Storage & Service Management infrastructure using familiar & consistent programming model. <br />Features<br />Set of PHP classes for Windows Azure Blobs, Tables & Queues (for CRUD operations) & Service Management<br />Helper Classes for HTTP transport, AuhN/AuthZ, REST & Error Management<br />Manageability, Instrumentation & Logging support<br />Open Source Project site: <br />Developed by our Partner RealDolmen<br />http://phpazure.codeplex.com/<br />Distributed through Zend Framework<br />http://framework.zend.com<br />Simple Cloud API<br />http://simplecloudapi.org<br />Your PHP application<br />REST<br />Compute<br />Storage<br />Manage<br />Deployment scenarios<br />PHP Runtime<br />Any internet connected Server<br />PHP Runtime<br />REST<br />REST<br />
    38. 38. Windows Azure Companion<br />Applications feed (ATOM)<br />Start deploying & controlling: <br />Using the Windows Azure Companion and your custom feed deploy PHP runtime, frameworks, applications you want<br />Provides a seamless experience installing and configuring PHP platform-elements (PHP runtime, extensions) and community PHP applications on Windows Azure.<br />Installation engine running on your Windows Azure service. <br />Fully customizable through a feed which describes what components to install.<br />Growing Feed Ecosystem <br />Integrated Administration, Diagnostics, Monitoring & Logging<br />Project site:<br />http://code.msdn.microsoft.com/azurecompanion<br />http://www.interoperabilitybridges.com/projects/windows-azure-companion<br />1<br />2<br />3<br />Fire up the Windows Azure Companion: <br />Deploy Windows Azure Companion package to your Windows Azure account<br />Deploy to Cloud<br />Applications to deploy<br />Get Ready:<br />Download the Windows Azure Companion package & set your custom feed <br />
    39. 39. Storage Account And Blob Containers<br />Blob<br />Container<br />Account<br />IMG001.JPG<br />pictures<br />IMG002.JPG<br />sally<br />Storage Account<br />An account can have many Blob Containers<br />Container<br />A container is a set of blobs<br />Sharing policies are set at the container level <br />Public READ or Private<br />Associate Metadata with Container<br />Metadata is <name, value> pairs<br />Up to 8KB per container<br />List the blobs in a container<br />movies<br />MOV1.AVI<br />
    40. 40. Blob Namespace<br />Blob<br />Container<br />Account<br />IMG001.JPG<br />pictures<br />IMG002.JPG<br />sally<br />Blob URL<br />http://<Account>.blob.core.windows.net/<Container>/<BlobName><br />Example: <br />Account – sally<br />Container – music<br />BlobName – rock/rush/xanadu.mp3<br />URL: http://sally.blob.core.windows.net/music/rock/rush/xanadu.mp3<br />movies<br />MOV1.AVI<br />
    41. 41. Blob Features And Functions<br />Store Large Objects (up to 50 GB each)<br />Standard REST PUT/GET Interface<br />http://<Account>.blob.core.windows.net/<Container>/<BlobName><br />PutBlob<br />Inserts a new blob or overwrites the existing blob<br />GetBlob<br />Get whole blob or by starting offset, length<br />DeleteBlob<br />Support for Continuation on Upload<br />Associate Metadata with Blob<br />Metadata is <name, value> pairs<br />Set/Get with or separate from blob data bits<br />Up to 8KB per blob<br />
    42. 42. Windows Azure Tables<br />Provides Structured Storage<br />Massively Scalable Tables<br />Billions of entities (rows) and TBs of data<br />Automatically scales to thousands of servers as traffic grows<br />Highly Available<br />Can always access your data<br />Durable<br />Data is replicated at least 3 times<br />Familiar and Easy to use Programming Interfaces<br />ADO.NET Data Services – .NET 3.5 SP1<br />.NET classes and LINQ<br />REST - with any platform or language<br />
    43. 43. Virtual Machine Role<br />VM Role provides additional control and flexibility on the Windows Azure environment, and makes it easy to run existing Windows applications on Windows Azure.<br />Developers have full control over the OS image<br />Ability to upload your own customized WS08R2 Enterprise images<br />Operators can reboot, reimage and Remote Desktop<br />Continue to benefit from automated service management, including service model enhancements described on subsequent slides<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×