Cloud Application Architecture High Availability: Cloud computing "hurt"?
Source: Internet
Author: User
KeywordsCloud computing Impact
Cloud computing is a new computing model. One of its notable advantages is that cloud computing users can use services from the Internet anytime, anywhere, and pay by usage. When you need to increase (or reduce) computing power, you can get (or release) resources immediately, whereas in traditional data centers (not private cloud environments) users need to purchase hardware, install configuration operating systems and middleware software, and deploy applications. The difference between the two approaches in operation and maintenance is clear, which is one of the main reasons why cloud computing can be hot-won and chased by the industry. So is cloud computing perfect? In the cloud computing world, the operation is no longer carried out by cloud computing users, and is given to virtualization and automation technologies and cloud providers. At the same time, cloud users enjoy the expansion or contraction of flexible resources, there is also a degree of loss of control over the use of resources, and cloud users can be at great risk if their services fail, or if cloud service providers fail to close down due to business failures or other reasons.
April 21, 2011 to 22nd is a day worth remembering for cloud computing practitioners. The failure of Amazon's IaaS service has resulted in a disruption of service in many business sites and has had a severe impact. The most heavily affected sites include Reddit, Foursquare and Quora, according to the Amazon official website. After this incident, people were caught in a panic, and worries about the availability of cloud computing suddenly heated up. At the same time, others have taken the opportunity to exaggerate the drawbacks of cloud computing and claim that "cloud computing is Dead" (which reminds me of the controversy over "SOA is Dead"). Speculation behavior is understandable, we naturally do not have to ignore. But what we need to think about as cloud users is how to ensure that even when cloud services are not available, our application architecture can still stand up? This paper is to try to explore this problem from the perspective of cloud computing users.
Analysis of "4-21" accidents
Amazon divides its infrastructure into "regional (Region)", which is like a data center. Us-east-1, for example, is Amazon's data center in North Virginia, while Us-west-1 is a data center in Silicon Valley. Each data center is divided into more than one usable partition (hereafter referred to as AZ), and AZ is like a resource pool, consisting of a set of physical and logical resources.
The virtual machine provided by Amazon is EC2 (elastic Compute Cloud). and its storage service is EBS (Elastic block Storage). EBS is a high-performance, highly available block-level, persistent storage service on a network. EBS can be attached to a EC2 instance for use as its file system.
When a user obtains a EC2 partition instance, a storage area is also obtained. However, the access area is transparent and its life cycle is synchronized with the EC2 instance. When the EC2 instance is destroyed, the store is destroyed together, so that the user data that needs to be persisted should not be placed on that store.
In general, cloud users running Web sites and products need to apply at least one EC2 instance and one EBS store. Run applications and databases on EC2, while data is stored in EBS. However, to hook the EBS store to the EC2 instance, the two must be in the same AZ (as shown in Figure 1.a). Users can also directly use the RDS provided by Amazon (Relational Database Service), a EC2 instance running MySQL, where applications and data can be located in different AZ (see figure 1.b). Of course, there are other ways to separate applications from storage, and this article will not repeat them.
In the "4-21" incident, there were problems with the EBS storage and the Amazon RDS service located in the Us-east-1 area. The symptom is that users who are not in the us-east-1 zone are unaffected, and users who are not using EBS and RDS are unaffected. In general, using EBS or RDS is a common phenomenon, because most software or Web sites are dependent on the data store, even if the EC2 running the application is not affected, the application needs to access the data on the ESB or RDS where the problem has occurred, which can still cause the service to become unavailable or the service slows down.
The Amazon incident has accelerated the thinking about cloud usability and highlighted the advantages of good application architecture, with many companies sharing their experience with Amaozon AWS through blogs and advising on cloud computing client architecture. Next, let's see how they do it.
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.