Architecting Windows Azure

1,901 views

Published on

Practical guide to Windows Azure Platform

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

  • Be the first to like this

No Downloads
Views
Total views
1,901
On SlideShare
0
From Embeds
0
Number of Embeds
96
Actions
Shares
0
Downloads
42
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Architecting Windows Azure

  1. 1. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Architecting Cloud-based Applications for Windows Azure Platform Sergejus Barinovas Architect, Adform
  2. 2. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Quiz Who has heard about Windows Azure Platform?
  3. 3. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Quiz Who has attended any Windows Azure presentation?
  4. 4. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Quiz What parts does Windows Azure Platform consist of?
  5. 5. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Answer • Windows Azure Compute – Web Role – Worker Role • Windows Azure Storage – Blob Storage – Drive Storage – Table Storage – Message Queue Storage • SQL Azure – Project Huston • Windows Azure AppFabric Client Access • Windows Azure AppFabric Service Bus • Project Dallas • Project Sydney
  6. 6. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Topic Background Who has attended any Windows Azure presentation?
  7. 7. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Topic Background Who knows how, when and what part of Windows Azure to use?
  8. 8. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Topic Background Why?
  9. 9. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Topic Background Lack of practical presentations! Captain Obvious
  10. 10. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Disclaimer This is not a marketing bu presentation
  11. 11. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Disclaimer This is not an overview of Windows Azure Platform
  12. 12. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Disclaimer This is a practical design session how to leverage Windows Azure
  13. 13. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 ARCHITECTING FOR THE CLOUD
  14. 14. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Our Current Mindset • We have enough hardware resources – Powerful servers – Fast hard drives
  15. 15. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Our Current Mindset • Number of servers is more or less fixed – Failures are very unlike – All maintenance and new hardware is planned in advance
  16. 16. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Our Current Mindset • We have reliable network connection – Connection time-out is a BUG, not a FEATURE
  17. 17. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Cloud Mindset • Only mid-range hardware is available and it can FAIL – No powerful servers – No fast hard drives
  18. 18. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Cloud Mindset • Number of servers is dynamic (unknown) – Implies scale-out architecture
  19. 19. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Cloud Mindset • Network connection will always FAIL – Every operation should have retries
  20. 20. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 ARCHITECTING PINGY
  21. 21. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 What’s Pingy? Multi-tenant SaaS, that enables monitoring availability and response times of the external Web sites
  22. 22. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Pingy Subscriptions • Personal – Free of charge – Monitoring up-to 2 web sites – Facebook, LiveID and Google authentication
  23. 23. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Pingy Subscriptions • Professional – 49€/year – Custom branding – Monitoring up-to 20 web sites – Facebook, LiveID and Google authentication
  24. 24. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Pingy Subscriptions • Enterprise – 99€/year – Custom branding – Monitoring up-to 200 web sites – Active Directory authentication
  25. 25. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Architectural Goals • Scalability • Availability • Performance
  26. 26. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Design Iteration #1 Web site Data store External web sites Login() Save(Url, Period) Ping service GetUrls(Period) Ping(Url) Save(Results) GetStatistics()
  27. 27. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Design Iteration #1: On-Premise Architecture • Web site – Stateless ASP.NET application within IIS • Ping service – .NET executable within Windows service • Data store – SQL Server
  28. 28. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Design Iteration #1: Windows Azure Architecture • Web site – Stateless ASP.NET app within Web Role • Ping service – .NET executable within Worker Role • Data store – SQL Azure / Windows Azure Table Storage
  29. 29. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Windows Azure Roles • Worker Role – Windows Server 2008 x64 – .NET Framework 3.5 SP1 and 4.0 – Native Code Full Trust • Web Role – Everything Worker Role has – IIS 7 – ASP.NET (3.5 SP1 and 4.0) – Fast CGI • VM Role
  30. 30. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 VM Instances • Automatically high available and fault-tolerant • OS updates and patches are applied automatically • Scale-up VM instance VM Instance Size CPU Memory Instance Storage I/O Performance Small 1.6 GHz 1.75 GB 225 GB Moderate Medium 2 x 1.6 GHz 3.5 GB 490 GB High Large 4 x 1.6 GHz 7 GB 1,000 GB High Extra Large 8 x 1.6 GHz 14 GB 2,040 GB High
  31. 31. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 SQL Azure • Relational database as a service • A subset of full SQL Server 2008 • Automatically high available and fault-tolerant • Implements same TDS protocol as a regular SQL does – Existing tools just works • Editions – Web (up-to 5 GB) – Business (up-to 50 GB)
  32. 32. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Windows Azure Table Storage • Provide massively scalable structured storage • No schema stored for a table (NoSQL) • Mandatory Properties for every entity – PartitionKey & RowKey – Timestamp • Automatic partitioning by PartitionKey
  33. 33. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Blob storage Design Iteration #1: Custom Branding Web site Login() Save(Files) Upload(Theme) ? Data store Ping service External web sites
  34. 34. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Design Iteration #1: Custom Branding Web site Data store Login() Save(Files) Shared Files Upload(Theme) Blob storage Data store Ping service External web sites http://<account>.blob.core.windows.net/<container>/<blobname>
  35. 35. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Blob Storage • Provide a simple interface for storing named files along with the metadata • Block Blob – Targeted at streaming workloads – Size limit 200 GB per Blob • Page Blob – Targeted at random read/write workloads – Size limit 1 TB per Blob • CDN Option
  36. 36. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Design Iteration #2: Scalability Web sites Data store External web sites Login() GetUrls() Save() Ping service Ping() Web sites Blob storage Upload() Theme() Table storage Save() GetStats()
  37. 37. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Design Iteration #2: Scalability Web sites Data store External web sites Login() Ping scheduler GetUrls() ExecuteTask() Save() Pingers Ping() Pingers Web sites Blob storage Upload() Theme() Table storage Save() GetStats()
  38. 38. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Design Iteration #2: Scalability Web sites Data store External web sites Login() Ping scheduler GetUrls() Save() Pingers Message queue Ping() Pingers GetTask() Web sites Blob storage Save() Upload() QueueTask() Theme() Table storage GetStats()
  39. 39. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Windows Azure Queue Storage • Provide reliable storage and delivery of messages – Two-step consumption • Messages put into queue can be processed in any order and multiple times
  40. 40. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Design Iteration #3: SSO Authentication Web site Table storage External web sites Login() Save() Ping scheduler GetUrls() QueueTask() Save() GetStats() Pingers Message queue Ping() Pingers GetTask() Web sites Blob storage Upload() Theme()
  41. 41. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 SSO Authentication Challenges • Multiple authentication protocols and identity providers • Integrated Active Directory authentication from the Cloud
  42. 42. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Windows Azure AppFabric Access Control • Federated, claims-based single sign-on authentication as a service • Supports: – Active Directory Federation Services (AD FS) 2 – OAuth, WS-Trust and WS-Federation protocols – Live ID, Google, Yahoo and Facebook identity providers – SAML 1.1, SAML 2.0 and SWT formats
  43. 43. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Summary • IIS, Web – Web Role • Windows Service – Worker Role • SQL Server – SQL Azure, Table Storage • NoSQL – Table Storage • Shared Files – BLOB Storage • Message Queues – Queue Storage • SSO Authentication – AppFabric Access Control
  44. 44. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Examples, Source Code • http://sergejus.blogas.lt/tag/pingy • http://sergejus.blogas.lt/tag/windows-azure
  45. 45. 2010 SPALIO 27 D. Microsoft Partnerių konfrencija 2010 Architecting Cloud-based Applications for Windows Azure Platform Q&A

×