Cloud computing application design based on Windows Azure

Source: Internet
Author: User
Keywords Cloud
Features of cloud computing applications

From the previous description we can see some of the challenges of cloud computing to the application, that is how the application in the cloud environment to take advantage of some of the characteristics of the cloud platform to better meet user needs. Cloud computing applications should be able to leverage dynamically scalable resources in the cloud computing environment to build an resilient, highly available application. Below we discuss the application characteristics and requirements of cloud computing environment separately.

Automation requirements

Automation is a human dream, and the computer in the field of automation has a huge impact, it greatly improve the work and productivity. In a cloud computing environment, automation requirements are actually an automated change to the computing effort itself. The automation of cloud computing can give users the ability to fully integrate the resource configuration tasks of the platform infrastructure, and achieve dynamic allocation of resources to improve management efficiency, reduce human error and speed up user response to resource requests. Applications are designed to take full advantage of the automation features of the cloud computing environment, enabling applications to automatically adapt to changes in requirements with little or no human intervention.

Distributed computing

Most cloud computing platforms are made up of inexpensive and standard computer hardware, and are then used in computing power, reliability, and so on to reach the traditional mainframe level. In other words, in the cloud computing environment, resource pools are usually implemented through distributed hardware and software. Therefore, the operation of cloud computing applications often involves multiple computing resources. Whether it is computing or storage requirements, applications typically involve multiple nodes, so that the idea of concurrent design is considered or distributed computing is used in design. For example, some cloud computing applications can use similar MapReduce programming models based on computational requirements.

Loose coupling

Whether functional or performance, cloud computing has a higher demand for application flexibility. This requires the application to consider loosely coupled architectures when designing. Coupling degree and flexibility are generally the opposite, that is, the higher the degree of coupling flexibility is lower, and the lower the degree of coupling flexibility is higher. Therefore, in the cloud Computing application Architecture design, the general need to pursue the design of loosely coupled. For example, when doing Web application design, the maintenance of user status needs to be designed in a stateless way, so that the application can have a better level of scalability.

How data is stored

In traditional application design, we usually use relational database to store data. But in the cloud computing environment, especially for Internet applications, there are two problems to face. The first is that the data in the cloud computing environment is relatively large, and the traditional relational database is confronted with the challenge of the data expansion ability. Another is that many applications require more data storage than unstructured data or storage of semi-structured data. As a result, most cloud computing platforms provide a way for unstructured and semi-structured data storage. The architecture of the application needs to be adjusted for new ways of storing data.

Some of the application features described above have many implications for our development and design of applications. One is that an application is designed not only to consider operating system platforms or middleware-level programming interfaces, but also to design applications for the interface of the cloud platform on which they are running. Another big impact is that there are some workloads moving from platform products to application development designers. For example, when using semi-structured data storage, development designers need to deal with data consistency issues. Also, in the cloud computing platform if you want to get better performance, developers often need to design the partition of the data specifically, or need to adopt some parallel design algorithms.

The application of self-sensing ability

The traditional infrastructure or system platform resources are not dynamically configured, so the application in the design of the main consideration of its own business logic implementation. The monitoring and management of the application itself is achieved through other systems management software such as System Center,tivoli. Some of the better managed applications, through these system management software to achieve some of the dynamic adjustment of resources. However, these traditional applications themselves are not aware of the underlying platform's performance. With the advent of cloud computing, automation of the application itself is becoming possible. I call these applications with environment-aware functionality "Self-sensing Creator".

The emergence of self sensing applications is a trend of application development and an embodiment of automation in the process of application operation. In the traditional application design, we put the main focus on the functional requirements, but for some non-functional requirements are often implemented in a manual configuration. The appearance of cloud computing platform makes the resources of computing platform have programmable characteristic, therefore, we can use some interfaces of the infrastructure platform to perceive the actual operation of the application in the architecture design of the application, and can dynamically adjust the running resources of the application in combination with the access situation in order to realize the complete automation program running.

The cloud computing platform has programmable resource allocations, so we can also set up an automated deployment process that allows applications to automate the deployment of applications, upgrades, and so on. Automated deployment is also a prerequisite for application dynamic expansion. In this way, when more instances of computation are needed to handle more user requests, the new computed instance can be generated dynamically and automatically enabled.

Self-sensing application is an embodiment of the development of the application towards becoming an independent and autonomous unit. The application architect, when designing, is confronted with the underlying abstract, almost limitless computational resources, rather than the traditional physical resources. From another point of view this design is also an embodiment of loosely coupled applications to the underlying computing platform, enabling applications to not bind to specific physical hardware. The cloud computing platform provides almost unlimited computing, storage, and network resources from the bottom, and its applications are like independent units of artificial intelligence, which, in addition to their own business work, can have self-management and self-healing capabilities.

123456 Next

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.