Design a powerful cloud application for Windows Azure

Source: Internet
Author: User
Keywords Azure azure

When I talk to http://www.aliyun.com/zixun/aggregation/7155.html > developers about the difference between application development and service development, they have a strange look. The application that you write locally will be written to the software you purchased and installed and configured on all your personal computer hardware. Applications written in the cloud will be written in a series of services that you and the public can use. Now let's explore the difference between the two.
 
When you write an application for a local server, you are looking forward to this hardware and software set. You expect to connect successfully every time you log on. You control the applications running on this server, so you expect their performance levels to remain unchanged. You understand and control the security context of the data. You personally configure your software and hardware, so you expect that when a problem arises, you can probably guess the cause by just looking at the event record. In most cases, you know the behavior of your application on a server that is owned, managed, and maintained by yourself. On the other hand, you also know that if you exceed the computing power of this server, you must switch to more powerful system configurations. Conversely, if the facts prove that the server's computing power is larger than the actual needs of the application, you are wasting computing power and need to migrate other workloads to that server to better utilize the computing power you have. Finally, if the capacity is fully exploited and started to run, you need to maintain hardware and software. For these reasons-and that's not the whole reason-you might consider cloud computing when you want to reduce the overall cost of computing.
&NBSP
Now you decide to migrate applications or build applications in the cloud. The functionality you have in the cloud is the same as it is locally, such as authentication services, application services (caching, messaging, and so on), database services, and availability services. At the same time, you have huge new opportunities, for example, you can expand on demand and enjoy the cost benefits of hardware goods being paid. If necessary, you can also develop these applications as services in a way that is similar to writing a local application, which is effective in most cases.
 
However, it will take a little more effort to build a powerful cloud application.
&NBSP
To maximize the performance, scalability, and manageability of cloud applications written for Windows Azure, it requires careful construction and coding to take advantage of the unique capabilities of the cloud platform. For example,

• Always capture application remote control information in the encoding process to proactively respond to application behavior in real time.
• Leverage the expansion of compute and storage nodes to scale, or increase availability with multiple data centers. If you design your application to grow when you deploy a new unit of scale (calculation, storage, and database groups), you can configure planned and unplanned growth.
• Allow any single component to fail while ensuring that the application continues to run. The best cloud applications in the world can do this, but you also need to keep in mind when writing applications that you can predict potential component failures and respond to downtime in real time without causing serious impact to end users.
• Use caching as much as possible to retrieve data and support scalability by dispersing processing of database requests across multiple separate databases (fragments) and maximizing performance.

To help you quickly start learning how to write powerful cloud applications, this blog introduces seven reusable cloud components and provides sample code and documentation. These components apply almost to any PaaS application developed on a Microsoft Windows Azure platform.

What we did: Azurecat (Microsoft Customer Engineering Consulting team) was involved in the design, construction, and deployment of hundreds of Azure PaaS applications. We have benefited a lot from this and decided to write and share the following seven reusable components to let others understand what we mean by writing as a service. We write these components as an entire end-to-end application to ensure that they work seamlessly. The application itself is fairly simple, allowing users to register, log in, and comment. It has been built and tested with the need to add telemetry and partition code sizes to ensure good performance.


Anyone who writes a PaaS application can benefit from the sample code and documentation for these seven reusable components. These components include:

1. Configuration – Configuration files are key to implementing seamless application management
2. Logging-recording applications, events, and performance telemetry
3. Data access – This is actually two components: a) database command and connection retry logic; b Use a custom hash algorithm for partitioning
4. Caching-write user data to cache/read user data from cache
5. Dispatch-Collect telemetry data in real time and move it to SQL Azure background worker role for customizing the OPS database
6. Report – Report on telemetry collected in the SQL Azure OPS database
7. Application Request Routing (ARR) – IIS technology for routing users to multiple managed services (application workload balancing)

The following is a link to this material – application code has been published to the MSDN code base:

Cloud Service Basics in Windows Azure:
http://code.msdn.microsoft.com/cloud-fundamentals-in-1a3ab1bd

Summary: This blog only introduces the basic information, and then a few other blogs will be released, in more detail each component. If you read this blog and realize that writing a powerful cloud application requires code to make the most of the cloud services, this blog has achieved its purpose. These sample codes are real and work (that is, working together). These sample codes derive from real-world implementations and have been tested on a large scale.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.