Developing SaaS Applications with the Windows Azure Platform
description
Transcript of Developing SaaS Applications with the Windows Azure Platform
![Page 1: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/1.jpg)
Developing SaaS Applications with the Windows Azure PlatformVittorio Bertocciwww.cloudidentity.net/@vibronet
![Page 2: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/2.jpg)
The Windows Azure Platform Makes It Easierto Develop SaaS Solutions
![Page 3: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/3.jpg)
Agenda
• SaaS, PaaS and the cloud opportunity• FabrikamShipping SaaS – www.fabrikamshipping.com • Enterprise Edition• Small Business Edition
![Page 4: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/4.jpg)
*aaS
![Page 5: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/5.jpg)
FabrikamShipping->SaaS
• Existing demo application• PDC08, sample, Keynote demo at TechEd NA 2010
• Simple outsourcing scenario: mailing & shipping• Exercise:• Move FabrikamShipping to a subscription-based model…• …leveraging the Windows Azure platform
• Goals• Make it easy FOR YOU to experience• Provide boilerplate code for hard tasks• Engineering feedback
![Page 6: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/6.jpg)
DEMOFabrikamShipping SaaS
![Page 7: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/7.jpg)
Our Solution Pattern
• New solution structure: application factory
![Page 8: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/8.jpg)
FabrikamShipping SaaS
![Page 9: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/9.jpg)
Provisioning Operations
• Windows Azure• Poll for service and storage existence• React to triggers• Use CSPack in a worker role for creating a package• Create and upload certificates• Send mails• Handle payments via PayPal
• SQL Azure• Create and destroy databases
• ACS• Create RPs, trust IPs, create & modify rules, upload
certificates
![Page 10: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/10.jpg)
DEMOEnterprise Subscription
![Page 11: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/11.jpg)
Enterprise Architecture
![Page 12: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/12.jpg)
Enterprise Edition Features & Tradeoffs
• Completely isolated from other tenants• Fs-<tenant>.cloudapp.net
• Exclusive use of • dedicated hosted service(s)• SQL Azure databases
• Little or no change to the existing application codebase• The provisioning
• automates the customization of the app• creates a package dynamically• …but requires a manual step
• Maximum clarity in the billing• Federated SSO
• No need for account provisioning, reuse existing org structure• The # of actual users is unknown
![Page 13: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/13.jpg)
Enterprise Provisioning
SubscriptionStore
New Hosted Service (HS)And Storage Account (SA)
Every 1 minuteCheck HS and SAwere created
Service Mgmt API
triggers
check
status
inser
tDeployment
Queue
enqueue
Create SQL Azure DB
mail to FS Administrat
ors
Create Self Signed SSL Cert
inserttriggers
SQL Azure Server
Upload Decryption Certificate
Create Relying Parties (website & odata),
Upload FedMetadata (of IdP),Upload the encryption cert (of RP),
Create claim mapping Rules
Access Control ServiceMgmt API
Deploy Package and Update Subscription Status
Azure ServiceMgmt API
Every 1 minuteCheck Deployment is ReadyDeployment Ready
Queue
enqueue
Send Notification (email)
triggers
EnterpriseProvisioning
Queue
triggers
enqueue
Provisioning Store
insertupdate
Create Provisioning
StartProvisioning
GetSubscriptions
query
Provisioning Framework API
query & update
IsAliasAvailable
query
Update Web.config and ServiceConfiguration.cscfg,
Re-package and upload to blob storage
Provisioning Workflow
ENTERPRISE
Makcert.exe & certutil.exe
Azure Service Mgmt API
Provisioning Store
Cspack.exe
triggers
mail to the subscriber
![Page 14: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/14.jpg)
DEMOSmall Business Subscription
![Page 15: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/15.jpg)
Small Business Architecture
![Page 16: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/16.jpg)
Small Business Edition Features & Tradeoffs
• One application instance shared among all subscribers• Classic multitenant scenario• Fshippingsmallbiz.cloudapp.net/<tenant>
• Exclusive SQL Azure database• Admits users from social identity providers
• Sign-up and user account activation require custom code
• Custom code required for• customizing the same app instance per-tenant• keeping tenants isolated from each other
• Improved resources yield• Harder to track usage per customer and bill• Investments in the infra (ie multiple instances for the app) affect
all tenants• Variant: bucketing
![Page 17: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/17.jpg)
Small Business Provisioning
SubscriptionStore
inser
t Create SQL Azure DB
Create Userprofiles
triggers
Provisioning
Store
Create Signing X509 Certificate
Deployment ReadyQueue
Send Notification (email)
triggers
SmallBizProvisioning
Queue
enqueue
Provisioning Store
insertupdate
Create Provisioning
StartProvisioning
GetSubscriptions
query
Provisioning Framework API
IsAliasAvailable
query
enqueue Create Tenant Metadata
(name of company, alias, public key)
SQL Azure Server
Makcert.exe & certutil.exe
Create User and Roles tables
Create Relying Party (website), Configure allowed Identity Prov (Google,
LiveID, fb)Upload the signing cert (created on step 1),
Upload the encryption cert (FS)Create claim mapping rules
Access Control ServiceMgmt API
![Page 18: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/18.jpg)
Advices
• From Applications to Application Factories• Whatever tradeoff you want, the Windows Azure platform
allows it• Reuse IP “as is” vs multitenancy• Shared vs. exclusive resources• Enterprise SSO vs. social providers• …and everything in between
• Integrate other PaaS to get the vertical features you need• Mail• Payment
• ..check out the code, tons of goodies
![Page 19: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/19.jpg)
Get Started with Windows Azure For Free Today!
• MSDN Subscriber• Activate Your Free Included MSDN Benefits via
http://tinyurl.com/activatemsdnazurebenefits
• Individual: • Get a Free Azure Introductory via http://tinyurl.com/freeintroazureoffer
• Free Computation hours and Storage
• Get 30 Days Free Windows Azure via http://www.windowsazurepass.com• Select Belgium and enter Promo code: AZP001
• Partner• Get free monthly access to Azure with Partner Cloud Essentials via
http://www.microsoftcloudpartner.com/
![Page 20: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/20.jpg)
Start Developing on the Windows Azure Platform
1. Activate your Benefits (see previous slide)
2. Get the Tools via http://tinyurl.com/toolsforazure
3. First learn how to create an application via http://tinyurl.com/deployazureapplication
![Page 21: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/21.jpg)
Stay up to date with MSDN Belux
• Register for our newsletters and stay up to date:http://www.msdn-newsletters.be• Technical updates• Event announcements and registration• Top downloads
• Follow our bloghttp://blogs.msdn.com/belux
• Join us on Facebookhttp://www.facebook.com/msdnbehttp://www.facebook.com/msdnbelux
• LinkedIn: http://linkd.in/msdnbelux/ • Twitter: @msdnbelux
Download MSDN/TechNet Desktop Gadget
http://bit.ly/msdntngadget
![Page 22: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/22.jpg)
TechDays 2011 On-Demand
• Watch this session on-demand via Channel9http://channel9.msdn.com/belux
• Download to your favorite MP3 or video player• Get access to slides and recommended resources by the speakers
![Page 23: Developing SaaS Applications with the Windows Azure Platform](https://reader036.fdocuments.in/reader036/viewer/2022062323/56815b47550346895dc92650/html5/thumbnails/23.jpg)
THANK YOU