10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure...
Transcript of 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure...
![Page 1: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/1.jpg)
![Page 2: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/2.jpg)
10 Things You Can Do to Use
Windows Azure More Effectively
Rainer Stropek
software architects gmbh
![Page 3: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/3.jpg)
Abstract
You are already using Windows Azure or you are planning to take the step into the
cloud? In this session Rainer Stropek, MVP for Windows Azure, presents some of the
most important tips to get the most out of your investment in Microsoft‟s cloud
computing platform. Did you know that you can host multiple websites in a single
Azure web role? Rainer will cover things like this during his session. You will learn
about the theory behind them and see them presented in practical examples.
![Page 4: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/4.jpg)
Introduction
• software architects gmbh
• Rainer Stropek
Developer, Speaker, Trainer
MVP for Windows Azure
@rstropek
http://www.timecockpit.com
http://www.software-architects.com
![Page 5: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/5.jpg)
Common Creative License
Source: http://www.flickr.com/photos/romainguy/230416692
Common Creative License
Source: http://www.flickr.com/photos/willposh/459447453
Common Creative License
http://www.flickr.com/photos/dolgin/4200710256
![Page 6: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/6.jpg)
Strategy
„How a battle is fought is a matter of tactics: the terms and conditions
that it is fought on and whether it should be fought at all is a matter of
strategy” (Source: Wikipedia)
Common Creative License
Source: http://www.flickr.com/photos/romainguy/230416692
![Page 7: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/7.jpg)
1. Change Your Business Model?!
Common Creative License
Source: http://www.flickr.com/photos/28481088@N00/621194808/
Common Creative License
Source: http://www.flickr.com/photos/monster/310530160/
SaaS
![Page 8: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/8.jpg)
1. Change Your Business Model?!
Classical ISV
• Complexity is visible
● Sales process
● Project planning
● Deployment
• Revenue
● Per project
• Costs
● Development, maintenance
● Necessary infrastructure
SaaS + Cloud ISV
• Hidden Complexity
● Simple or self-service sales
● No classical „project“
● Minimal or no deployment
• Revenue
● ARPU, RGU, etc.
• Costs
● Depreciation, captial costs
● Total cost
![Page 9: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/9.jpg)
Where Most Of Us Come From
Dev
Team Customer
Close
Relationship
![Page 10: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/10.jpg)
Where Many Of Us Are Today
Dev
Team
Customer
Kunde Kunde Kunde Kunde
Customer
External/New
Customers
![Page 11: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/11.jpg)
Where We Want To Be
Dev
Team
Customer
Kunde Kunde Kunde
Customer
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Kunde
Custom
Custom
Custom
Custom
Custom
Customer
Off-The-Shelf
Product
![Page 12: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/12.jpg)
Catching The Long Tail
The Long Tail
http://www.wired.com/wired/archive/12.10/tail.html
![Page 13: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/13.jpg)
Low implementation
effort
Complex pricing model
![Page 14: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/14.jpg)
Rating/Billing/Payment
• Web portal for… ● …registration of new users (has to handle very
sensitive credit card data has to be stored safely and securely, too!)
● …maintaining customer billing data (e.g. customer changes address or credit card provider)
● …cancelling accounts or users
• Infrastructure for rating ● Measure usage
● Rage usage with rates/unit
● Additional rating logic will be necessary; examples: • Mechanisms for sales discounts (e.g. introductory
offer)
• Infrastructure for billing ● Creation of invoices (in total for accounting and
itemized bills for checking the correctness)
● Sending out invoices (electronically with/without signature, printed)
● Storing invoices internally.
• Infrastructure for payment; options could be: ● Credit card payments including mechanisms for
handling payment cancellations, invalid credit cards (e.g. expired cards), etc.
● Payments via online payment solution like PayPal
● Payment with vouchers (e.g. voucher that an end user received with hardware)
● Account/balance infrastructure (debit system instead of
credit system; example: Skype)
• E.g. what to do with remaining balance if user cancels his
account?
• Fraud detection
● Infrastructure for credit checking and fraud detection;
examples are…
• …credit card checking
• …check of credit ranking for users
• Support infrastructure for rating/billing/payment issues
• Alternatives
• Alternatives for building such a system from scratch
could be:
● Buying an existing billing system (expensive; does only
make sense if customer needs such a system in other
areas, too)
● Handle payments with payment partners (e.g. payment
via phone invoice difficult because such contracts
have to be maintained country by country)
● Use existing SaaS payment solutions (e.g. PayPal;
difficult with pay-per-use)
![Page 15: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/15.jpg)
2. Multi-Tenancy
To be or not to be...
Common Creative License
Source: http://www.flickr.com/photos/rpenalozan/5057881708/
![Page 16: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/16.jpg)
SaaS Maturity Levels
Kwok, Nguyen, Lam: A Software as a Service with Multi-
tenancy Support for an Electronic Contract Management
Application, IEEE International Conference on e-Business
Engineering, pp. 179-186, 2008
Custom Solution
With Common
Components
Multi-Instance
(ASP)
Multi-Tenancy Multi-Tenancy
![Page 17: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/17.jpg)
SaaS Configuration Competency
Model
Wei Sun, Xin Zhang, Chang Jie Guo, Pei Sun, Hui Su: Software as a
Service: Configuration and Customization Perspectives, in Proceedings
of IEEE Congress on Services Part II, 2008
![Page 18: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/18.jpg)
Multi-Tenency
• How to handle tenant separation?
● Check out upcoming federation feature in SQL Azure
• How to handle per-tenant customization?
● Data Model, behavior, forms, lists, workflows, reports,
permissions, etc.
● Sandboxing (extensibility)
• Programming model
● Database access
● API
![Page 19: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/19.jpg)
Good Old Client-Server Model
Database
Clients
Program
Version
Data version
Offline data
store
![Page 20: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/20.jpg)
Three-Tier Modell
Database
Clients
Program
version
Data version
Offline data
store
Web Server
Service
version
Programm
Version
![Page 21: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/21.jpg)
Load Balancer App-Server Farm Multiple Tenants
Multi-Tenant
Cluster
Multi-Tenancy, Cloud
Clients Web Server
Database
Tenant 1
Tenant 2
Tenant n
Data versions Program
versions
Service
versions
Program
versions
Routing
service Offline data
store
![Page 22: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/22.jpg)
3. Make or Buy Gotcha!
Common Creative License
Source: http://www.flickr.com/photos/rpenalozan/5057881708/
![Page 23: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/23.jpg)
Make or Buy
• Same general issues as always
• PLUS
● Use service or deploy with your app?
• Service consider SLAs of 3rd parties
• Multi-Tenency down to 3rd party services
• Authentication, delegation
● Is 3rd party cloud-ready?
• Don„t build your business based on announcements
● Licensing
• What is a „server“?
• General: Prefer e.g. per-developer licensing
● Caution: Not only SW components, sames issues with data
![Page 24: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/24.jpg)
Tactics
„the art of organizing an army, are the techniques for using weapons or
military units in combination for engaging and defeating an enemy in
battle” (Source: Carl Clausewitz: On War, 1832)
Common Creative License
Source: http://www.flickr.com/photos/willposh/459447453
![Page 25: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/25.jpg)
4. Scale Out Not Up
Cloud
DB Failover
Cluster Web Farm
Load
Balancer Clients
Costs/month:
In Azure ~150€
![Page 26: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/26.jpg)
TIME
IT C
AP
AC
ITY
Effective
Load
Resources
Estimated Load
![Page 27: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/27.jpg)
Azure Scaling
LB
LB
D
N
S
Your Service
Fabric Controller
Web Portal (API)
Service
Service
Service
Model
Service
Service
Service Service
Service
![Page 28: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/28.jpg)
Scale Into The Cloud
![Page 29: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/29.jpg)
Azure Scaling
• Scaling by schedule
● Azure PowerShell Cmdlets
• Example on StackOverflow.com
● See also Windows Azure Dynamic Scaling
Sample
• Auto-scaling
● Based on collected metrics (see also later)
● Pre-built scaling services (e.g. AzureWatch)
![Page 30: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/30.jpg)
Azure Scaling
• Some services provide auto-scaling out of the
box
● E.g. Table storage, blob storage
• Auto-scaling of RDBMS-layer is still hard
● Sharding (see also Sharding Wiki on TechNet)
● Check out upcoming federation feature in SQL
Azure
![Page 31: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/31.jpg)
5. Async Rulez!
Common Creative License
Source: http://www.flickr.com/photos/steffenz/3893797302/sizes/l/in/photostream/
![Page 32: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/32.jpg)
Clients Webserver
DB-Server http GET (Form)
http POST (Reg.)
Events
External
Partner
Save Reg.
Confirm.
Doc
http GET (Conf.)
Conf.
![Page 33: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/33.jpg)
Sequential
Workload
![Page 34: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/34.jpg)
HTTP
Errors
![Page 35: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/35.jpg)
~17,5% CPU
![Page 36: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/36.jpg)
Clients Webserver
Reg.
Queue
Table
Worker
Blob External DB
![Page 37: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/37.jpg)
Notify
worker via
queue
Payload
via table
![Page 38: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/38.jpg)
Response
Time
Queue
Length
![Page 39: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/39.jpg)
~40% CPU
~5% CPU
![Page 40: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/40.jpg)
Start mult.
worker threads
Avoid
Locks!!
![Page 41: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/41.jpg)
High Watermark
Simple checking without
transactions (i.e. no locking)
Transactionally safe
checking (i.e. locking)
![Page 42: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/42.jpg)
~40% CPU
~25% CPU
![Page 43: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/43.jpg)
6. Care About Storage Types, you must!
• Think about...
● ...storage volume needed
● ...number of transactions
● ...programming effort
• Background information
for Azure Storage Pricing
Web Edition
Per database/month
$9.99/month
(1-5 GB DB/month)
Business Edition
Starting at $99.99/month
(10-50 GB DB/month)
Per database/month
Storage Per GB stored and
transactions $0.15 GB/month
$0.01/10k transactions
● ...client capabilities
● ...necessary performance
● ...necessary throughput
● ...static/dynamic nature
![Page 44: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/44.jpg)
When To Use What??
SQL Azure
• Strong programmming model
needed
• Need for complex ACID
transactions
KO:
• Restricted storage amount
acceptable (currently max.
50GB/DB)
• TDS is possible (soon no-code
OData will be an option)
Windows Azure Storage
• Price sensitive (~1/65th compared
to SQL Azure)
• Auto-scale out Fast
• Large storage volumes (many,
many TBs)
• REST/HTTP needed
• CDN needed
● Possible with SQL Azure + web role,
too – not without code
• NTFS needed (Drives)
• Queues needed
![Page 45: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/45.jpg)
7. Microsoft‘s SLAs No Silver Bullet
You get credits, not compensation for damage
Backup still important!
![Page 46: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/46.jpg)
Scenarios
E.g. Reporting
E.g. Web site
reference data
E.g. Geo-located web
applications
E.g. Traffic manager
![Page 47: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/47.jpg)
Windows Azure Traffic Manager
![Page 48: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/48.jpg)
Windows Azure Traffic Manager
Windows Azure hosted services
named in policy
Traffic Manager policy
Traffic Manager domain
contoso.ctp.trafficmgr.com
... Hosted
Service N
Hosted
Service 1
User
DNS resource record for
www.contoso.com
monitoring
1
Load Balance Method2
3
4
5Test
6
Company Domain
www.contoso.com
![Page 49: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/49.jpg)
Operational
“represents the level of command which coordinates the minute details of
tactics” (Source: Wikipedia)
Common Creative License
http://www.flickr.com/photos/dolgin/4200710256
![Page 50: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/50.jpg)
8. Monitoring is Crucial
• Optimization is SEXY again!
• Windows Azure Diagnostics
● „Telemetry“ for your productive Azure roles
● Long-term monitoring (service health, auto-scaling, etc.)
• Remote Desktop
● Difficult because of dynamic nature of the cloud
● Troubleshooting, development
• IntelliTrace
● Troubleshooting, development
![Page 51: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/51.jpg)
Windows Azure Diagnostics
Role
Role Instance
Diagnostic
Monitor
Local directory storage
Request upload
Windows
Azure
Storage
Scheduled or on-demand
upload
Windows
Data Sources
![Page 52: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/52.jpg)
Remote
Diagnostics
config.
Setup
Diagnostics
![Page 53: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/53.jpg)
Monitoring
![Page 54: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/54.jpg)
Demo Content
• Show diagnostics in storage
• Show cerebrata diagnostics manager
• Show RDP into role
![Page 55: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/55.jpg)
Certificate for
credential encryption
Credentials Don‟t forget to
enable RDP!
Remote Connection (RDP)
![Page 56: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/56.jpg)
IntelliTrace in Azure
• Collect data about events that happened in Azure
• Open data in VS and see e.g. exceptions, call flow, etc.
• IntelliTrace data is collected in Windows Azure Storage
![Page 57: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/57.jpg)
9. Occupy Roles Wisely
• Web Role for...
● ...anything that should be hosted in IIS
● ...multiple web sites in a single role
• Worker Roles for...
● ...any kind of background work
● Remember: Can be combined with web role
• VM-Role only if...
● ...you are unable to automate role setup (startup tasks)
● ...software necessary for role setup is unstable
● ...software necessary for role setup needs UI
Web Role
• IIS (since 1.4)
Worker Role
• While (true)
{ }
VM-Role
• Custom
![Page 58: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/58.jpg)
Advanced Roles
![Page 59: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/59.jpg)
Demo Content
• Show web role with multiple sites
● Point out differences with entry point code
• Show worker role with complex startup task
● Show project configuration
● RDP to role, show folders
![Page 60: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/60.jpg)
ServiceDefinition.csdef
Install_dac.cmd
![Page 61: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/61.jpg)
Install_dac.cmd
ServiceDefinition.csdef
![Page 62: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/62.jpg)
10. Automation Saves Time
Automate your build process including deployment to Azure
Common Creative License
http://www.flickr.com/photos/matthileo/3552898254/
![Page 63: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/63.jpg)
Build Automation with Azure
• Goals
● Create a build process template for customization
● Build cspkg in Build Process
● Deploy to Azure using Azure Powershell Cmdlets
● Run Unit test against newly deployed service
● Remove Hosted Service
• Unless you have too much $
![Page 64: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/64.jpg)
Goal: Building cspkg in Build Process
• Microsoft.CloudService.targets provides
a „Publish“ target
● used by default for cloud projects
● call the target additionally to the normal build
• Creates the cspkg in the Publish folder
● Is automatically copied to Drop location
![Page 65: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/65.jpg)
Goal: Building cspkg in Build Process
• Edit the Build definition
• Go to „Process“ -> „Advanced“
• Edit MSBuild Arguments ● /t:Build;Publish
• Save the definition
![Page 66: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/66.jpg)
PowerShell Script for Deployment # certificatethumb subscriptionId servicename package config $certTP = $args[0] $cert = Get-Item cert:\CurrentUser\My\$certTP $sub = $args[1] $storageAccount = $args[2] $servicename = $args[3] $package = $args[4] $config = $args[5] $label = $args[6] Add-PSSnapin AzureManagementToolsSnapIn
New-Deployment -serviceName $servicename -storageserviceName $storageAccount -subscriptionId $sub -certificate $cert -slot 'Staging' -package $package -configuration $config -label $label | Get-OperationStatus -WaitToComplete
Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub |Get-Deployment -Slot 'Staging' |Set-DeploymentStatus 'Running' |Get-OperationStatus -WaitToComplete Get-Deployment staging -subscriptionId $sub -certificate $cert -serviceName $servicename | Move-Deployment | Get-OperationStatus -WaitToComplete Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub |Get-Deployment -Slot 'Staging' |Set-DeploymentStatus 'Suspended' |Get-OperationStatus -WaitToComplete Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub |Get-Deployment -Slot 'Staging' |Remove-Deployment | Get-OperationStatus -WaitToComplete Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub |Get-Deployment -Slot 'Production' |Set-DeploymentStatus 'Running' |Get-OperationStatus -WaitToComplete $ready = $False while(!$ready) { $d = Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub |Get-Deployment -Slot 'Production' $ready = ($d.RoleInstanceList[0].InstanceStatus -eq "Ready") -and ($d.Label -eq $label) }
![Page 67: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/67.jpg)
Run Unit test against newly deployed service
• Unit test currently runs against a local service
• Change endpoint in test configuration
● Service name you chose(!)
• Start a new build
• Open build
![Page 68: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/68.jpg)
PowerShell Script to Remove Deployment
# certificatethumb subscriptionId servicename $certTP = $args[0] $cert = Get-Item cert:\CurrentUser\My\$certTP $sub = $args[1] $servicename = $args[2] Add-PSSnapin AzureManagementToolsSnapIn Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub | Get-Deployment -Slot 'Production' | Set-DeploymentStatus 'Suspended' | Get-OperationStatus -WaitToComplete Remove-Deployment -Slot 'Production' -ServiceName $servicename -SubscriptionId $sub -Certificate $cert | Get-OperationStatus -WaitToComplete
![Page 69: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/69.jpg)
Summary
• Strategy
● Business Model
● Multi-Tenancy
● Make or Buy
• Tactical
● Scale Out Not Up
● Async Rulez!
● Storage Types
● SLAs
• Operational
● Monitoring
● Choose Roles Carefully
● Automation Saves Time
![Page 70: 10 Things You Can Do to Use Windows Azure More Effectively...2011/07/10 · Possible with SQL Azure + web role, –not without code • NTFS needed (Drives) • Queues needed 7. Microsoft‘s](https://reader036.fdocuments.us/reader036/viewer/2022071401/60ed117a6f03e60e6a1d192f/html5/thumbnails/70.jpg)
Your Feedback is Important
Please fill out a session evaluation form.
Thank you!