Download presentation
Presentation is loading. Please wait.
Published byRonald Cooper Modified over 9 years ago
1
Sriram Krishnan Program Manager Microsoft Corporation sriramk@microsoft.com ES03
8
Act I Architecture
14
Big, reliable, expensive machine
23
... <add name="TableStorageSessionStateProvider“ type= "Microsoft.Samples.ServiceHosting.AspProviders.TableStorageSession StateProvider" applicationName=“Foo” />
28
Default.aspx (Input + Making Coffee) LB
29
public partial class _Default : System.Web.UI.Page { protected void Button1_Click(object sender,EventArgs e) { var order = txtOrder.Text; ProcessOrder(order); } protected void ProcessOrder(string order) { //Make some coffee!... }
30
Default.aspx (Input) Windows Azure Queues LB Worker.cs (Make Coffee)
31
public partial class _Default : System.Web.UI.Page { protected void Button1_Click(object sender,EventArgs e) { var order = txtOrder.Text; QueueStorage qStore = QueueStorage.Create(_account); MessageQueue orderQ = qStore.GetQueue("OrderQueue"); orderQ.PutMessage(new Message(order)); }
32
public class WorkerRole : RoleEntryPoint { public override void Start() { QueueStorage qStore = QueueStorage.Create(_account); MessageQueue orderQ = qStore.GetQueue("OrderQueue"); while (true) { Message msg = orderQ.GetMessage(); if( msg != null) ProcessOrder(msg.ContentAsString()); } protected void ProcessOrder(string order) { //Make some coffee!... }
36
Use Windows Azure storage for valuable data
52
Recap
53
End of Act I
54
Act II Updates
59
Code vN Data vN
60
Code vN Data vN Code vN +1
61
Code vN Data vN Data vN+1
65
class Employee : TableStorageEntity { public Employee(string firstName, string lastName) : base(firstName, lastName) //partition key, row key {} public string JobTitle { get; set; } }... var qResult = from emp in svc.CreateQuery (EmployeeDataServiceContext.EmployeeTable) where emp.PartitionKey == "Steve" && emp.RowKey == "Marx select emp; }
66
class Employee : TableStorageEntity { public Employee(string firstName, string lastName) : base(firstName, lastName) {} public string JobTitle { get; set; } public int Version { get; set; } }... var qResult = from emp in svc.CreateQuery (EmployeeDataServiceContext.EmployeeTable) where emp.PartitionKey == "Steve" && emp.RowKey == "Marx && emp.Version == 1 select emp; }
69
Stage Deployment Production Deployment
71
Future: Precise control
75
Recap
76
End of Act II
81
Oh Oh!
84
Trickiest patch ever
86
Act III When things go wrong…
90
ServiceDefinition.csdef ServiceConfiguration.cscfg
94
... if (RoleManager.GetConfigurationSetting("LogLevel") == "Verbose") RoleManager.WriteToLog("Information", "Some log message");
95
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
97
!
98
!
100
Recap
101
End of Act III
109
Please fill out your evaluation for this session at: This session will be available as a recording at: www.microsoftpdc.com
111
© 2008 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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.