Robert MacLeanwww.sadev.co.zaBBD SoftwareGet Ready For The CloudTRACK: Cloud & ALM
AgendaGet ready for the cloudThe cloud is important!We do not have supported Azure here yetAll about planning & current applicationsThe Azure talk with no Azure bitsWhy should you care about this talk?Pure in houseConsume the cloudHybridsPure cloud
(On-Premises)Platform(as a Service)Software(as a Service)Infrastructure(as a Service)You manageApplicationsApplicationsApplicationsApplicationsYou manageDataDataDataDataRuntimeRuntimeRuntimeRuntimeManaged by vendorMiddlewareMiddlewareMiddlewareMiddlewareYou manageManaged by vendorO/SO/SO/SO/SManaged by vendorVirtualizationVirtualizationVirtualizationVirtualizationServersServersServersServersStorageStorageStorageStorageNetworkingNetworkingNetworkingNetworking
Cloud TermsBlob StorageWeb RolesWorker Roles
Virtualisation!Virtualise todayLimited big hardware vs. lot’s of small cheap hardwareLearn what is a problem in virtualisationVM Hosting (IaaS)Create a Hyper-V imageUpload imageHow do people access that image?What about state?
The General ThemeTHINK IN LEGOLoosely CoupledSingle Responsibility AbstractionVery Light with Data
Our Demo Story For TodayNASA gets ~3 500 applications for ~15 spotsDisqualifies ~700 for Medical, Educational, Professional etc…Just a simple: Submit data > Parse > AnalyseSource: http://www.astronautforhire.com/2008/09/nasas-2009-astronaut-class-selection.html
What’s in my toolbox?Do you know CodePlex?ZeroMQhttp://zeromq.codeplex.comAutoMapperhttp://automapper.codeplex.com
Start with dataStructured & UnstructuredLINQ 2 SQLFaçade WCFData Access Operations
demo
How does this cloud?Structured & UnstructuredStructuredLINQ 2 SQLLINQ 2 SQLData Access Operations + Façade WCFBlob Storage
Overkill for crud?Structured & UnstructuredLINQ 2 SQLoData*
Data Design Proven PractisesChoose where appropriateRelational data: SQL Server ≡SQL AzureBlobs: File system ≡Blob storageQueues: MSMQ ≡AppFabric 2.0Potential pain areasLimited Data TypesKeep Data Size, Growth & Transaction Volume in minReduce logic in SQL databases
Connectivity Design Proven PractisesInterface (contract) based designUses standardsAbstract the connectivity layer away from the logic layer* non marketing way to tell you to use WCF
Features we want in processingASAP Asynchronicity Light with data Great WCF, REST & oData supportPersistableMonitoring * Caching *
Structure of our processingServiceServiceServiceServiceData
demo
How does this cloud?ServiceServiceServiceServiceData
Application Design Proven PractisesLego againSmall pieces that do a job (function)Can operate independentlyWorker rolesGreat for processing, better than web rolesCan run forever! …. Not really Expect the “Chaos Monkey” sometimes
Worker Role?QueueAppWorker RoleServiceData
demo
How does Worker Role Cloud?QueueAppWorker RoleServiceData
Regulation & ComplianceWhere is your data stored?Personal info can’t leave the country*Store locally, process in the cloud
Security Design Proven PractisesSecurity Golden Rule: Don’t roll your own You should prefer an external identify provider for AuthN & AuthZ Development OptionsToday: WIF “Tomorrow”: AppFabric Access Control 2.0 (Labs)
Why use WIF?AppAppAppSecurityActive DirectoryWIFAD, OAuth, etc…
demo
How does this cloud?MVC AppJust a web roleWIFJust a web roleAD, OAuth, etc…
Deployment Design Proven PractisesPlan, plan, planWork on DNS and control that DNSUse IPv6 for forward thinking with Azure ConnectPackaging and Configuration is KEYPackage Application Binaries and Configuration SeparatelyAutomate your deploymentsBuild components exist
The General Theme… againTHINK IN LEGOLoosely CoupledSingle Responsibility AbstractionVery Light with Data
Windows Azure 30 Day Passhttp://windowsazurepass.com/Country:South AfricaPromo Code:DEVDAYS11JHB
Grab the Azure Pass: DevDays11JHBSlides + Demos up @ www.sadev.co.zaPlan, plan & plan some moreCalls to ActionCome to my talk in track 2 next. “Every cloud has a SilverLight”  - @jvanrhyn
Keep in Touchfacebook.com/msdevsa@msdevsahttp://blogs.msdn.com/southafrica
Don’t forget the Xbox Kinect show-down after sessions this evening!
DevDays 2011 SponsorsPLATINUM SPONSORwww.bbd.co.zaSILVER SPONSORwww.dvt.co.zaSILVER SPONSORwww.ctutraining.co.za
© 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.

DevDays 2011- Let’s get ready for the cloud: Building your applications so they are cloud ready

  • 2.
    Robert MacLeanwww.sadev.co.zaBBD SoftwareGetReady For The CloudTRACK: Cloud & ALM
  • 3.
    AgendaGet ready forthe cloudThe cloud is important!We do not have supported Azure here yetAll about planning & current applicationsThe Azure talk with no Azure bitsWhy should you care about this talk?Pure in houseConsume the cloudHybridsPure cloud
  • 4.
    (On-Premises)Platform(as a Service)Software(asa Service)Infrastructure(as a Service)You manageApplicationsApplicationsApplicationsApplicationsYou manageDataDataDataDataRuntimeRuntimeRuntimeRuntimeManaged by vendorMiddlewareMiddlewareMiddlewareMiddlewareYou manageManaged by vendorO/SO/SO/SO/SManaged by vendorVirtualizationVirtualizationVirtualizationVirtualizationServersServersServersServersStorageStorageStorageStorageNetworkingNetworkingNetworkingNetworking
  • 5.
  • 6.
    Virtualisation!Virtualise todayLimited bighardware vs. lot’s of small cheap hardwareLearn what is a problem in virtualisationVM Hosting (IaaS)Create a Hyper-V imageUpload imageHow do people access that image?What about state?
  • 7.
    The General ThemeTHINKIN LEGOLoosely CoupledSingle Responsibility AbstractionVery Light with Data
  • 8.
    Our Demo StoryFor TodayNASA gets ~3 500 applications for ~15 spotsDisqualifies ~700 for Medical, Educational, Professional etc…Just a simple: Submit data > Parse > AnalyseSource: http://www.astronautforhire.com/2008/09/nasas-2009-astronaut-class-selection.html
  • 9.
    What’s in mytoolbox?Do you know CodePlex?ZeroMQhttp://zeromq.codeplex.comAutoMapperhttp://automapper.codeplex.com
  • 10.
    Start with dataStructured& UnstructuredLINQ 2 SQLFaçade WCFData Access Operations
  • 11.
  • 12.
    How does thiscloud?Structured & UnstructuredStructuredLINQ 2 SQLLINQ 2 SQLData Access Operations + Façade WCFBlob Storage
  • 13.
    Overkill for crud?Structured& UnstructuredLINQ 2 SQLoData*
  • 14.
    Data Design ProvenPractisesChoose where appropriateRelational data: SQL Server ≡SQL AzureBlobs: File system ≡Blob storageQueues: MSMQ ≡AppFabric 2.0Potential pain areasLimited Data TypesKeep Data Size, Growth & Transaction Volume in minReduce logic in SQL databases
  • 15.
    Connectivity Design ProvenPractisesInterface (contract) based designUses standardsAbstract the connectivity layer away from the logic layer* non marketing way to tell you to use WCF
  • 16.
    Features we wantin processingASAP Asynchronicity Light with data Great WCF, REST & oData supportPersistableMonitoring * Caching *
  • 17.
    Structure of ourprocessingServiceServiceServiceServiceData
  • 18.
  • 19.
    How does thiscloud?ServiceServiceServiceServiceData
  • 20.
    Application Design ProvenPractisesLego againSmall pieces that do a job (function)Can operate independentlyWorker rolesGreat for processing, better than web rolesCan run forever! …. Not really Expect the “Chaos Monkey” sometimes
  • 21.
  • 22.
  • 23.
    How does WorkerRole Cloud?QueueAppWorker RoleServiceData
  • 24.
    Regulation & ComplianceWhereis your data stored?Personal info can’t leave the country*Store locally, process in the cloud
  • 25.
    Security Design ProvenPractisesSecurity Golden Rule: Don’t roll your own You should prefer an external identify provider for AuthN & AuthZ Development OptionsToday: WIF “Tomorrow”: AppFabric Access Control 2.0 (Labs)
  • 26.
    Why use WIF?AppAppAppSecurityActiveDirectoryWIFAD, OAuth, etc…
  • 27.
  • 28.
    How does thiscloud?MVC AppJust a web roleWIFJust a web roleAD, OAuth, etc…
  • 29.
    Deployment Design ProvenPractisesPlan, plan, planWork on DNS and control that DNSUse IPv6 for forward thinking with Azure ConnectPackaging and Configuration is KEYPackage Application Binaries and Configuration SeparatelyAutomate your deploymentsBuild components exist
  • 30.
    The General Theme…againTHINK IN LEGOLoosely CoupledSingle Responsibility AbstractionVery Light with Data
  • 31.
    Windows Azure 30Day Passhttp://windowsazurepass.com/Country:South AfricaPromo Code:DEVDAYS11JHB
  • 32.
    Grab the AzurePass: DevDays11JHBSlides + Demos up @ www.sadev.co.zaPlan, plan & plan some moreCalls to ActionCome to my talk in track 2 next. “Every cloud has a SilverLight” - @jvanrhyn
  • 33.
  • 34.
    Don’t forget theXbox Kinect show-down after sessions this evening!
  • 35.
    DevDays 2011 SponsorsPLATINUMSPONSORwww.bbd.co.zaSILVER SPONSORwww.dvt.co.zaSILVER SPONSORwww.ctutraining.co.za
  • 36.
    © 2008 MicrosoftCorporation. 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.

Editor's Notes