The this that of a Data Centre planning VS Azure Cloud
The traditional internet application systems are designed by implementing entire functionality in one box and rest of the non functional requirements like scalability/availability and performance are achieved by increasing the capacity or repeating such instances.
Cost, Business requirements and other decisions, factors into the the capacity of the backup machine (adding one more machine which is a copy of the original ,which comes online when primary is down – with a content management switch). A less capacity failover environment can lead to degraded performance during the small window of failover but with better cost propositions.
The active redundant element with same capacity can be changed from just a backup to always online entity. The request then can be routed to both the servers to take care of performance. With an active redundant solution, the content switch can load balance between the active and redundant element. It identifies the more busy system and directs the requests accordingly.
Sessions and Synchronization
As soon as multiple boxes are introduced, anticipate the issues with sessions. In order to achieve optimum performance of the hardware, the customer’s current session needs to be moved between servers. To achieve this, session is to be put in a common area where both the server can share and see, may be a common persistent store or repository. This can be in the app server, or more efficiently in a database state storage server. It can also be in a separate box for storing sessions and further improved to active redundant or load balanced state storage.
Active redundant or load balanced system needs to do data replication. Most of the time database takes care of it. More complex scenarios occurs in the case of storage networking or synchronization between data centres.
The Azure Cloud
If you apply the thought process discussed in previous segments, the redundancy is applicable for your firewalls, routing switches etc. A risk management process needs to be conducted to identify the single point of failure for redundancy planning. But we don’t need to travel in that direction always – Microsoft Azure is a good suggestion for hosting and datacenter needs.
If you choose Azure – Availability, Performance, Synchronization, Sessions etc. can be configured in the way you want and a customer can focus their thoughts on application features and selling them to customers.
All Azure services have SLA of around 99.9% for uptime and connectivity. To enable the SLA offered by Azure, use the Availability Sets in cloud deployments. Once Availability Sets, are used in VM’s the services are placed into separate fault domains and therefore separate racks to ensure 99.9% availability.
Autoscaling is a key feature of Windows Azure. During the first deployment of Azure service, the size can be specified with number of instances required. Scaling up (size) or scaling out (instances) can be achieved either manually or by configuration. Same can be done for scaling down when the demand decreases.
Session management can be achieved in Windows Azure using any of the below options.
- Azure Table Storage
- Azure SQL
- Azure Cache (In-role Cache)
- Azure Cache Service