The Windows http://www.aliyun.com/zixun/aggregation/13357.html >azure Web site (waws) allows you to build a highly scalable web site on Windows Azure. The advantages of waws are outlined below:
• Effective resource utilization: As the customer base grows, your application usage increases. You can aggressively scale your site based on the traffic patterns of your site.
• Cost calculation based on usage: Cost plays a key role in choosing a cloud-based strategy on demand. Azure Web sites offer models based on usage rates (Pay-as-you-go) and 6-or 12-month plans to choose from. For more information, see the Windows Azure Web site pricing.
• Faster Time-to-market: You can focus on your application without worrying about your infrastructure. This will allow more time to release the developer's creativity and productivity, which in turn shortens the Time-to-market for the application.
Best practices
These practices help you take full advantage of the Windows Azure Web site provided by your infrastructure and provide a reliable, high-performance Web site for end users.
• Build Scalable architecture
With Windows Azure Web site, you can build scalable solutions on azure, but only if your Web site needs to take full advantage of the scalable infrastructure of your service offerings.
Here are a few things you can do to design a scalable solution:
1. Bottlenecks in the architecture can result in high latency. You should identify all the major bottlenecks in the current architecture for many reasons, such as poor application design and bandwidth throttling. Refactor your application architecture to avoid these bottlenecks.
2. Load tests are performed on the Web site using different size configurations (combination of instance size and number) to understand the correct sizing configuration under normal load. You can use a variety of tools, such as Visual Studio and Apache Jmeter, to perform load tests.
3. Use Web analytics tools such as Google Analytics or WebTrends to determine the traffic patterns and the average number of requests received per second for your site.
4. Set automatic scaling to manage unexpected traffic spikes. For more information, see How to scale a Web site.
5. If your application uses the database tier, integrate the use of distributed caching solutions, such as Azure caching services, to improve performance.
• Design an affordable architecture
While Waws provides a high standard of SLAs, it is important to realize business continuity by understanding the service failure risks that exist when using cloud solutions to identify ways to mitigate the impact of such events.
The following are some of the solutions that are necessary to mitigate impact in such cases:
• Build your own tools through the Windows Azure SDK or by using Third-party services such as Cloud Cellar to create automated backup and restore policies.
• Set up redundant copies of Web sites in at least 2 data centers and implement load balancing of inbound traffic between these data centers.
• If the data center service fails, use Global traffic Manager to set up the automatic failover feature.
• Set up content distribution network (CDN) services in your Web site to improve performance through cached content and to make your site highly available.
• If possible, remove the dependencies of any tightly coupled components/services used by your waws Web site.
For example, if your Web site uses a database, and for some reason the database service fails at a specific time, it can cause a single point of failure for your schema. The database here is a tightly coupled component that cannot be removed from your schema. In such a scenario:
-You must replicate databases across multiple data centers and set up automated data synchronization between these databases to mitigate the impact during failover.
-You must design your application to be resilient in these cases.
If you need to rely on components, the replication strategy will help to enhance the architecture reliability.
• Design risk mitigation strategies to reduce accidental disruption before moving to the cloud
• Create a test environment and simulate a failure scenario by stopping the site to assess the performance of your site in the case of a failure
• Automated Infrastructure
In addition to cloud solutions, there are many operations related to maintaining the success of the site, including development, deployment, and various other operations. Automating these operations makes it easier to manage your application delivery cycles. With the Waws REST API, you have access to all the waws features, so automation becomes simpler.
Some of the main actions used to manage the Web site are as follows:
• Deploy to a Web site
You can use a variety of deployment policies (such as WEB deployment, GIT, FTP, and so on) to push content to your site, depending on your preferences. The Windows Azure SDK Build tool enables simple automation.
• Use test sites for production testing
WAWS supports test releases, which enable you to update the test version of your Web site and test your production environment before updating your customer-facing web site. For more information, see Test Publishing on Windows Azure Web site.
• Enable Diagnostics Logging
WAWS has built-in diagnostics to help you debug your application. There are two types of diagnostic capabilities:
• Site Diagnostics: Verbose error logging, failed request tracking, and Web server logging can be enabled.
• Application Diagnostics: You can capture information generated by WEB applications.
For more information, see How to enable diagnostic logging on a Windows Azure Web site.
• Enable monitoring
WAWS supports function monitoring through the Monitor Management page. You can set alerts for various metrics, such as CPU time, HTTP client errors, HTTP server errors, and so on, to continuously monitor your Web site.
• Security
The Waws platform adheres to key industry standards for security and reliability to provide a secure platform for your customers. However, if your application has a security vulnerability, your architecture may be vulnerable to attack.
To build a security solution on Waws, you must follow secure coding practices when building applications that can withstand attacks.