ITCamp 2013 - Mihai Tataran - Building Autoscalable Azure Applications
1. itcampro@ itcamp13# Premium conference on Microsoft technologies
Building Elastic, Autoscalable
Solutions with Windows Azure
Mihai TÄtÄran
General Manager, Avaelgo
Microsoft MVP | Windows Azure
Mihai.tataran@avaelgo.ro
www.itcamp.ro
@mihai_tataran
2. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
CloudHuge thanks to our sponsors!
3. itcampro@ itcamp13# Premium conference on Microsoft technologies
About me
Mihai TÄtÄran
⢠Microsoft MVP, Windows Azure Insider
⢠General Manager, Avaelgo
⌠Custom software development
⌠Consulting / training
⌠Microsoft Cloud SME of the Month in Europe
⌠Case study about a solution on Azure - Microsoft .com website
⢠www.itcamp.ro , www.codecamp.ro
4. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
⢠Understand elasticity
â Azure Scalability
â How to achieve elasticity
⢠Autoscaling Application Block
â Definitions
â Usage scenarios
â Handling varying load levels
â Implementing your AAB application
Agenda
5. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
⢠Windows Azure is a
scalable platform
⢠Which allows you to add
and remove resources
⢠With flexible pricing
Understand elasticity
6. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
⢠Scaling is manual, based
on your decisions
Understand elasticity
7. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
⢠You can automate scaling:
â Service Management API
â PowerShell
â Writing your own code
⢠3rd party tools
⢠Or use Autoscaling Application Block
Understand elasticity
9. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
⢠Part of Enterprise Library Integration Pack for
Windows Azure
â Same configuration and usage with the other EL
blocks
⢠A block designed for elasticity / autoscaling
Azure applications
⢠From the Microsoft Patterns and Practices
team
Autoscaling Application Block
10. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
⢠Business reason:
⢠Minimize operational costs:
â Reduce manual work
â Reduce the risk of introducing mistakes when
scaling
â Pay exactly what you need
Autoscaling Application Block
11. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
⢠Usage scenarios:
⢠Predictable load patterns. E.g.: business
hours, days of week, etc.
⢠React to specific resource usage variations
Autoscaling Application Block
12. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
⢠Reactions to usage variations:
⢠Instance scaling. Add or remove instances
(virtual machines actually running your app)
⢠Throttling. Limit or disable application
features
Autoscaling Application Block
13. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
⢠AAB collects
monitored data from
your Windows Azure
application
⢠Based on your rules,
initiates scaling actions
⢠AAB is part of a
custom application
(that you build), hosted
on premises or in
Windows Azure
Autoscaling Application Block
14. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
⢠Resources involved:
â 1 âmonitorâ application which you develop,
based on AAB
⢠Hosted in Azure or on Premises
â Rules XML file
â Diagnostics enabled in the Azure application
â Azure Table Storage which stores logs
Autoscaling Application Block
16. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
⢠Define the operands and the rules (XML file)
â Resources to be monitored (e.g. CPU load, queue
length)
â Constraint and reactive rules
â Actions: scale or throttle
⢠Define the service information (XML file)
â Which Windows Azure application to monitor
â Where to look for monitoring data
⢠Configure the AAB application (app.config)
â Using EntLib configuration console
Autoscaling Application Block
17. itcampro@ itcamp13# Premium conference on Microsoft technologies
Private & Public
Cloud
⢠Autoscaling (automatically) while performing
an update
⢠Lack of limits (min and max instance count)
⢠No âoppositeâ rule.
â i.e.: scale up for a certain condition -> make sure
you scale down for the opposite condition
⢠Host the monitoring / autoscaling app on
premises
⢠No stabilizer
Common mistakes