1 / 72

PDC Symposium

SYMP04. PDC Symposium. Head in the Cloud, Feet on the Ground A Practical Look at Architectural Challenges and Opportunities in the Cloud.  Gianpaolo Carraro Platform Architecture Microsoft Corporation. So Far at PDC. 4 Keynotes, 120 sessions, 100s demos, 3000 slides

hadassah
Download Presentation

PDC Symposium

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SYMP04 PDC Symposium Head in the Cloud, Feet on the Ground A Practical Look at Architectural Challenges and Opportunities in the Cloud  Gianpaolo Carraro Platform Architecture Microsoft Corporation

  2. So Far at PDC • 4 Keynotes, 120 sessions, 100s demos, 3000 slides • You have learned about C#, F#, Strata, Oslo, Windows 7, Surface… • What is left to talk about?

  3. End to end view • Symposium • About the ‘puzzle’, fitting the pieces together PDC Sessions Mostly about the ‘individual pieces’

  4. Symposium Agenda:A Journey through multiple perspectives Business: Why? Cloud or No Cloud, the Laws of Physics Still Apply Expanding Applications to the Cloud Making Enterprise Grade Cloud Applications Session 3 Session 1 Session 2 Architecture: What/When? Code: How?

  5. Session1:Expanding Applications to the Cloud

  6. Expanding Applications to the Cloud • Part I: Enterprise IT View (consumer view) • Part II: ISV View (supplier view) • Q&A

  7. Quiz: Which one is better? 1 gallon of fuel -> ¼ ton of ‘freight’ ; 20 miles 1 gallon of fuel -> 1 ton of freight ; 436 miles but Can goes anywhere there is a road Ready to go anytime but Can mostly go from A to B Leaves 2x day at 9.12am and 11.14pm Control High Low Economy of Scale Low High

  8. This is not new… Build vs. Buy Control High Low Economy of Scale Low High

  9. This is new… On premises vs. in the cloud Control High Low Economy of Scale Low High

  10. On premises vs. in the cloud Application runs on-premises Buy my own hardware, and manage my own data center Application runs at a hoster Co-locationor Managed servers Application runs using cloud services “cloud fabric” (elastic, infini-scale) Control High Low Economy of Scale Low High

  11. “Packaged” Application An application that I buy “off the shelf” and run myself Hosted “Packaged” An application that I buy “off the shelf” and then run at a hoster “Software as a Service” A hosted application that I buy from a vendor Buy Build vs. Buy Self Hosted “Home Built” An application that I develop and run myself Hosted “Home Built” An application that I develop myself, but run at a hoster Cloud Platform An application that I develop myself, but run in the cloud Build On premises vs. Cloud Cloud On premises

  12. All acceptable options (trade off) “Packaged” Application An application that I buy “off the shelf” and run myself Hosted “Packaged” An application that I buy “off the shelf” and then run at a hoster “Software as a Service” A hosted application that I buy from a vendor Buy Maximum Control Build vs. Buy “Home Built” Application An application that I develop and run myself Hosted “Home Built” An application that I develop myself, but run at a hoster Cloud Platform An application that I develop myself, but run in the cloud Maximum Economy of Scale Build On premises vs. Cloud Cloud On premises

  13. “MassiveEnterprise” Example “Packaged” Application Hosted “Packaged” “Software as a Service” Buy ERP “Too costly to run this myself, but I’ve made too many customizations” Issue Tracking Email Build vs. Buy “Home Built” Application Hosted “Home Built” Cloud Platform HR System Molecule Research Build Clinical Trial On premises vs. Cloud Cloud On premises

  14. “MassiveEnterprise” Example “Packaged” Application Hosted “Packaged” “Software as a Service” Buy ERP Issue Tracking “CRM and Email are commodity services – They have no customizations, and it’s cheaper for someone else to run these” Email Build vs. Buy “Home Built” Application Hosted “Home Built” Cloud Platform HR System Molecule Research Build Clinical Trial On premises vs. Cloud Cloud On premises

  15. “MassiveEnterprise” Example “Packaged” Application Hosted “Packaged” “Software as a Service” Buy ERP Issue Tracking Email Build vs. Buy “Home Built” Application Hosted “Home Built” Cloud Platform “I can’t afford to maintain this old HR application written in VB – it’s driving me mad!” HR System “…but due to privacy issues, I prefer keeping my HR data on-premises” Molecule Research Build Clinical Trial On premises vs. Cloud Cloud On premises

  16. “MassiveEnterprise” Example “Packaged” Application Hosted “Packaged” “Software as a Service” Buy ERP Issue Tracking Email HR System Build vs. Buy “Home Built” Application Hosted “Home Built” Cloud Platform “I wish I had access to cheaper compute and storage when I need it” Molecule Research Build Clinical Trial On premises vs. Cloud Cloud On premises

  17. “MassiveEnterprise” Example “Packaged” Application Hosted “Packaged” “Software as a Service” Buy ERP Issue Tracking Email HR System Build vs. Buy “Home Built” Application Hosted “Home Built” Cloud Platform “THIS is where I want to spend my IT resources – I’m going to double down on this application!” Molecule Research Build Clinical Trial On premises vs. Cloud Cloud On premises

  18. “MassiveEnterprise” v. Next “Packaged” Application Hosted “Packaged” “Software as a Service” Buy ERP Issue Tracking Email HR System Build vs. Buy “Home Built” Application Hosted “Home Built” Cloud Platform Molecule Research Build Clinical Trial On premises vs. Cloud Cloud On premises

  19. “MassiveEnterprise” v. Next “Packaged” Application Hosted “Packaged” “Software as a Service” Buy ERP Issue Tracking Email HR System “Run On Premises” Control SLA of Applications Build vs. Buy “Home Built” Application Hosted “Home Built” Cloud Platform Molecule Research Build Clinical Trial On premises vs. Cloud Cloud On premises

  20. “MassiveEnterprise” v. Next “Packaged” Application Hosted “Packaged” “Software as a Service” ERP Issue Tracking “Home Built” Control Features of Applications Email HR System “Home Built” Application Hosted “Home Built” Cloud Platform Molecule Research Clinical Trial

  21. #1 Challenge

  22. “MassiveEnterprise” Example “Packaged” Application Hosted “Packaged” “Software as a Service” ERP CRM “Crossing corporate boundaries!” Email “Home Built” Application Hosted “Home Built” Cloud Platform HR System Molecule Research Clinical Trial

  23. Transloading cost and Containerization

  24. Identity Challenges • Access Control • AuthN, SSO, AuthZ • Identity Lifecycle • Identity Portability • Interoperability

  25. Identity Solution • Federated ID • Claim based Access Control • accesscontrol.windows.net • Geneva Fx • Geneva Server • Cardspace

  26. Monitoring and Management Challenges • SLA Monitoring • Halting/Pausing/Throttling… • Trigger action • e.g. Backup

  27. Management Solution • Programmatic access to Health Model • Synthetic Tx • Management APIs • Firewall friendly protocols • SCOM • MMC • Powershell

  28. Application Integration • UI Integration • Process Integration • Data Integration • servicebus.windows.net • Oslo • SSS • Azure Storage • Synch framework

  29. Part I Takeaway • Expanding to cloud is good • “Lowering transloading costs” • Identity • Management • Application Integration (Session 2) Making Enterprise Grade Cloud Applications

  30. Expanding Applications to the Cloud • Part I: Enterprise IT View (consumer view) • Part II: ISV View (supplier view)

  31. SuperCloudySoftware.com • Cloud as deployment option “as a service” “on premises” offered Cloud as a deployment option

  32. SuperCloudySoftware.com • Cloud as a platform Cloud as an underlying platform powered by… server “cloud fabric”

  33. SuperCloudySoftware.com “as a service” “on premises” server “cloud fabric”

  34. SuperCloudySoftware.com “as a service” “on premises” Customer Choice server “cloud fabric”

  35. SuperCloudySoftware.com “as a service” “on premises” Platform Choice server “cloud fabric”

  36. 2 distinct choices • Of course… as with enterprise not either / or

  37. SuperCloudySoftware.com “as a service” “on premises” Platform Choice server “cloud fabric”

  38. “Powered by…” 1 “powered by servers” “powered by cloud” + Control: “Own” the SLA “Own” the data “Own” compliance Economy of Scale: Reduce CAPEX Pay as you go Capacity Planning Elastic “Infiniscale”

  39. Continuum Server ‘Hosted Server’ Cloud Fabric

  40. Continuum Two ‘instantiations’ of the cloud Windows Server ‘Hosted Server’ Compute Fabric SQL Server ‘Hosted SQL Server’ Storage Fabric … … … … … … • What you have been using so far • Hosted version of what you have been using so far • Requires few changes if any to what you know and do • New capabilities • New cost structure • Requires embracing a specific app model

  41. Remember Not a replacement Ask yourself:what ‘tool’ do I need?

  42. Example: SuperCloudyVote

  43. Simple concurrency scenario Thread A • ThreadB • SharedCount GetCount() 10 10 Count++ 11 11 GetCount() 11 12 Count++ 12 GetCount() 12 GetCount() 12 Count++ Count++ 13 13? ? Exception?

  44. Example: SuperCloudyVote • Option 1: Optimize for consistency (a.k.a. locking) Thread A • ThreadB • SharedCount 12 [Begin Tx] GetCount() 12 GetCount() Count++ wait until lock is released [Commit Tx] 13 13 Count++ 14

  45. Example: SuperCloudyVote • Option 1: Optimize for consistency (a.k.a. locking) Thread A • ThreadB • SharedCount 12 [Begin Tx] GetCount() 12 GetCount() PRO: Consistency CON: Availability (wait on lock) Count++ wait until lock released [Commit Tx] 13 13 Count++ 14

  46. Example: SuperCloudyVote • Option 1: Optimize for availability (a.k.a. queueing) Thread A • ThreadB • SharedCount • Worker • Queue GetCount() 12 12 GetCount() 12 Q.PutMsg(“add”) Q.PutMsg(“add”) Q.GetMsg() GetCount() 12 13 Count++ 13 Q.GetMsg() GetCount() 13 14 Count++ 14

  47. Service ArchitecturesWeb Site + Worker Internet Tables Windows Azure Datacenter LB Web Site (ASPX, ASMX, WCF) Storage Worker Service Web Site (ASPX, ASMX, WCF) Worker Service Web Site (ASPX, WCF) Worker Service Queue Blobs

  48. Think about a "real" voting systemCast a vote - results days laterEventual consistency - high availability

  49. Mini Demo: SuperCloudyVote

More Related