Architecting Web 2.0 Futures on Windows Azure
Vikram RajkondawarArchitect AdvisorDPE -Microsoft India
Sudhir ModyCEOIndigo Architects
Agenda
Recap …Web 2.0 Scenario of the FutureArchitecture/Design of the ApplicationCode PreviewFurther thoughts …
2010
A Tale of Two Travelers
In the year 2010 …
Semantic Web Content
Cloud Computing
Smart Mobile Agents(Organizers)
SOARSS1.0
010101101
www.expedia.com
2008: Web Content
www.yourHotels.com
www.bookMytrip.com
www.yourHotels.com
01<div>101001
<div>
<div>
www.amazon.com
www.microsoft.com
www.facebook.com
www.cnet.com
www.ebay.com
www.espn.com
www.expedia.com
Social Contact Networking
2010: Personal Organizer (Contacts)
Introductions
Meet Alice
Busy
Organized
Workaholic
Meet Ramnish Travel
Fun
Snorkeling
Reasons to Travel
London
HyderabadBahamas
Boston
Serendipity strikes
First … Hurricane Strikes
Un-seasonal weather forces guests to cancel flights
Alice’s Meet-up
Alice decides to organize a “meet-up” event
Ramnish Registers
Ramnish receives (bulk) invite
Having nothing better to do, Ramnish decides to attend the meet-up
Then … Boredom Strikes
Atom MTOM
XML
BEPL
Bored with the meet-up, Bob tries to explore other interesting alternatives
Finally … Serendipity Strikes
Serendipity helps in connecting 2 people…
… a beginning of a long friendship
Summary - Web 2.0 Futures
Semantic Web Content (hContact …)Smart Mobile ClientsCloud ComputingSocial Aspects of the Applications
Architectural Drivers/Challenges
Scalability – to scale to millions of usersAvailability – 24X7 seamlessStorage – of DataIntegration with GPS DevicePossibilities of Web 2.0 for CollaborationMillions of combinations for degrees of separation
User Context
Users
Social Networking
sites
Serendipity
Location matching Algorithm
Interest Matching
1 Degree Separation
Location context
Location Specific Contacts
Login tokensLogin
Logical Architecture …
Yahoo
Linked InFacebook
Live Messenger
Worker Role
Web Role
ASP.NET web service
.NET
serendipity.com
=fnCalcNetwork()=fnDeregisterUser()
=fnRegisterUser()=fnUpdateLocation() =fnGetConn ()
StorageTables Queue
Windows Azure Datacenter
Your Service
Windows Azure Building Blocks
LB
Internet
Web Site(ASPX, ASMX, WCF)
Web Site(ASPX, ASMX, WCF)
Web Role(ASPX, WCF)
Worker Service
Worker Role
LB
StorageTables Blobs
Queue
Designing Massively Scalable StorageTable StorageProvides Structured Storage
Massively Scalable TablesBillions of entities (rows) and TBs of dataCan use thousands of servers as traffic grows
Highly AvailableCan always access your data
DurableData is replicated several times
Familiar ADO.NET Data Services API.NET classes and LINQREST – with any platform or language
Data Model
Data stored in TablesA Table is a set of Entities (rows)An Entity is a set of Properties (columns)
Entity has:PartitionKey – enables scalabilityRowKey – unique id within the partition
the only indexed property Timestamp – for optimistic concurrency255 properties for your dataMax size of 1MB
Table Schema
Define the schema as a .NET class[DataServiceKey("PartitionKey", "RowKey")]public class User{ // ChannelName public string PartitionKey { get; set; } // PostedDate public string RowKey { get; set; }
// User defined properties public string Id { get; set; } public int Name { get; set; }}
demoAzure
Windows Platform Integration
Reuse .NET skillsFully compatible with ADO.NET data services
.NET client included in .NET 3.5 SP1LINQ support
ASP.NET integration for website authoringSample data source control for data bindingASP.NET dynamic data for instant front-endsASP.NET providers for membership, roles, etc.
Related Content
Azure Sitewww.azure.com
ADO.NET Data Serviceshttp://blogs.msdn.com/astoriateam
CTP Access,SDK, Forums, white papers, Talkshttp://www.microsoft.com/azure/windowsazure.mspxhttp://msdn.microsoft.com/en-us/azure/cc994380.aspx
धन्यवा�दઆભા�ર ধন্য�বা�দ
ਧੰ�ਨਵਾ�ਦ
ଧନ୍ୟ�ବା�ଦ
நன்றி�
ధన్య�వాదాలు� ಧನ್ಯ�ವಾ�ದಗಳು
നി�ങ്ങള്ക്ക്� നിന്ദി�
question & answer
Related Content
Breakout Sessions (session codes and titles)
Interactive Theater Sessions (session codes and titles)
Hands-on Labs (session codes and titles)
Hands-on Labs (session codes and titles)
Track Resources
Resource 1
Resource 2
Resource 3
Resource 4
© 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.