Several factors determine cloud applications away from the traditional

Source: Internet
Author: User
Keywords Cloud environment
Tags application application design applications change client cloud cloud applications cloud environment

Editor's Note: This article is published by Marten Mickos, CEO of Eucalyptus Systems.

From the moment of the software to the present, the patterns have not changed: run the application, and then the application is run on the platform. But because of the rapid growth of infrastructure, the fundamentals of application design and deployment do change from time to time - and sometimes the change is fierce.

For example, the emergence of the PC in the 1980s, the advent of x86 architectures, and the advent of client / server models have revolutionized the principles of application design. Then, with the advent of web and open source technologies in the mid-1990s, another drastic change took place. Every time this drastic change occurs, developers are forced to reflect on the way software is developed and deployed.

Now there is a new leap in infrastructure capabilities, dominated by Amazon Web Services (especially as network speeds have soared). Clearly, to be able to take full advantage of the new cloud infrastructure, those applications that succeed on AWS must be fundamentally different from those that run on enterprise servers-not even applications that run on virtual servers. In addition, there are other factors that determine how cloud applications must be designed differently from the past. Here are some of the key factors that determine how the old and new world evolved:

Scalability

Old world scaling is achieved through capacity expansion - to accommodate more users or data, simply buy a bigger pair of servers.

In the new world, scalability is usually achieved through horizontal scaling. Not to increase the larger machine, but similar machines. In the cloud world, those machines are virtual machines.

elasticity

In the past, software was unreliable and resiliency was implemented at the hardware level.

Today, the underlying infrastructure hardware is seen as the weakest link, so applications must adapt themselves. Application does not guarantee that every virtual machine instance is working properly. It does not matter if a single virtual machine fails for some time, and the application must be prepared for it.

Take Netflix, for example, as a state-of-the-art cloud user, and it is farthest away on the road to cloud adoption. They have a process called ChaosMonkey, which randomly kills virtual machine instances under application load. What is the purpose of this? It is to ensure the normal operation and flexibility of the application: forcing application developers to develop more flexible applications by allowing them to face random instance losses.

Explosive

In the old world, applications such as finance and payroll are generally very stable and predictable loads. The number of system users at a particular time, the number of pending records are basically known.

In the new world, the workload is changing and unpredictable. Today's software systems have to reach further into the reach of consumers and devices that have service needs, unpredictable times and unimaginable loads (think of the 12306 site that became the target of any public outrage). These unforeseen fluctuations in adapting to individual application loads require a new architecture. Although we are now in the clouds, it is clearly still in its infancy.

Software diversity

In the past, the software did not have much diversity. Each application is written in one language, using a database. Companies generally rely on one or a few operating systems. The software stack is simple and boring (at least for now).

In the new world of clouds, the situation is quite different. There may be many different languages, different libraries, different toolkits and different database products in one application. And since you can create and launch your own mirror in the cloud, tailored to your specific needs, a company's application must be able to run in a variety of configurations.

From virtual machine to cloud

There is a difference between even relatively new hypervisors and modern ways of thinking in the cloud. Vanguard and Leader for Virtualization VMware developed a hypervisor that basically behaves like a physical machine.

In the cloud, the virtual server is not the representative of the physical, but the representative of the computing unit.

User's patience

In the old world, users are educated to be patient. Because the system response may take a long time to complete some simple extraction or update requests, the addition of new features is also slow.

In the new world, users are impatient. They almost can not tolerate the delay, do not want to wait. They want the software to be constantly updated, at least weekly, if not daily. You can find relevant evidence in Service IT. There, you did not hand it over to the IT department and then waited for a few days before responding, and the resources users needed were self-providing.

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.