Cloud computing and storage convert physical resources (such as processors and storage) into scalable and shareable resources ("as a service") on the Internet"
Computing and storage ). Although virtualization is not a new concept, physical system sharing through server virtualization can indeed increase resource scalability and efficiency. Cloud computing allows users to access
Ask about large-scale computing and storage resources, and they don't have to know where those resources are and how they are configured. As you expected
It plays an extremely important role here. Explore the mysteries of cloud computing.
Recently, no technical website mentioned the so-calledCloud computing). Cloud computing actually provides computing resources (computers and storage) in the form of services ). This involves dynamically extending services to more computers and storage capabilities in a simple and transparent way. All of these are similarUtility computing)The idea behind it. In utility computing, computing resources are considered as metering services, just like more traditional public facilities (such as water or electricity. Their difference lies not in the goals behind these ideas, but in the combination of these ideas to make them a reality of the existing technology.
Cloud
One of the most important concepts behind computing is scalability, and the key to achieving it is virtualization ). Virtualization aggregates multiple operating systems and applications on a shared computer
To make better use of the server. Virtualization also allows online migration. Therefore, when a server is overloaded, You can migrate an instance of an operating system (and its applications) to a new
Busy server.
|
Read more articles posted by Tim on developerWorks
|
|
From the external perspective, cloud computing only migrates computing and storage resources from the enterprise and to the cloud. Users define Resource requirements (such as computing and Wan and bandwidth requirements). cloud providers Virtualize these components in their infrastructure, as shown in 1.
|
Perspective of cloud computing The idea of cloud computing implementing utility computing was first proposed by John McCarthy in 1961. In utility computing, computing is regarded as a public utility. Cloud computing andCluster computing)OrGrid computing) In contrast, cluster computing treats a group of connected computers as a separate virtual computer for high-performance computing (HPC. While grid computing connects computers distributed in different geographic locations to solve The same problem. In 1960s, companies such as IBM and General Electric provided time-sharing systems ). |
|
Figure 1. Cloud computing resource migration on the Internet
However
Yes. Why are you willing to give up control of your resources and make them exist in the cloud? There are many reasons, but I believe the two most important reasons are cost and scalability. The goal of cloud computing is
These resources are cheaper than the resources you can provide and manage. In addition to reducing costs, cloud computing also has greater flexibility and scalability. Cloud computing providers can easily expand the virtual environment
Virtual infrastructure provides larger bandwidth or computing resources.
The advantage of cloud computing in environmental protection is that it can Virtualize and share resources between different applications to improve server utilization. Figure 2
Shows an example. In this example, different applications use 3
Each application runs on its own server. In the cloud, you can share (virtualized) servers between multiple operating systems and applications to reduce the number of servers. Fewer servers
Server means less space (less space occupied by data centers) and less power for cooling (less carbon footprint ).
Figure 2. virtualization and resource usage
However, cloud computing does not have any disadvantages. Some problems will be explored later in this article. But now, let's explore cloud computing more deeply.
Cloud computing Analysis
When you observe the cloud in depth, you will find that it is not a separate service, but a service set, as shown in 3. These layers define the level of the provided service.
Figure 3. Cloud computing hierarchy
We start with the lowest level of service, that is, infrastructure (Infrastructure-as-a-Service
Or IaaS ). IaaS is leasing infrastructure (computing resources and storage) as a service. This means that the virtual computer not only has a guaranteed processing capability, but also
Bandwidth is reserved for Internet access. In fact, IaaS is capable of leasing computers or data centers with specific service quality constraints so that it can execute any operating system or software.
|
Value of cloud computing In addition to reducing management costs related to cloud computing resources, cloud computing also has other advantages. For example, when you divide yourself from your own resources over the Internet, where those resources are not important. For example, they can reduce energy consumption in a natural cooling environment. |
|
As you can see from the stack, the service at the upper level is a platform (Platform-as-a-Service
Or PaaS ). PaaS is similar to IaaS, but it includes the operating system and necessary services around specific applications. For example, in addition to virtual servers and storage, PaaS
It also provides a specific operating system and application assembly (usually as a virtual machine, namely a VM, or file, such as VMware's. vmdk
Format), and access to necessary services (such as MySQL databases or other dedicated local resources. In other words, PaaS is IaaS.
Add a custom software stack for a given application.
Finally, at the top of Figure 3 is the simplest service: application. This layer is calledSoftware-as-a-ServiceSaaS is a model for deploying software from a centralized system on a local computer (or remotely from the cloud. As it is a metering service, SaaS allows you to rent an application and pay for it on a hourly basis.
This is a highly general cloud computing view. This view ignores other aspects of the cloud, suchData-Storage-as-a-Service(DSaaS), the latter provides storage in the form of metering services, and consumers are charged based on the used capacity (Used storage capacity) and utilization (storage bandwidth requirements. In addition, cloud services provide internal mechanisms for interoperability and external application programming interfaces (APIS), such as Web services.
Cloud computing status quo
In recent months, investment in cloud computing and related infrastructure has exploded. Such a huge investment shows that there is a huge demand for cloud resource virtualization. A lot of new services were available last year, as shown in figure 4.
Figure 4. Cloud computing layers and related products
This is by no means a detailed product category because of frequent changes. However, this does give an overview of some products and shows the differences between them. The reference section later in this article includes links to some of the products.
Linux and open-source applications in the cloud
Now let's explore how the Linux and open-source communities contribute to the cloud computing field. You may have guessed that Linux and open source play an extremely important role.
Software-as-a-Service
SaaS
Access software on the Internet as a service. An early SaaS method was Application Service.
Provider (ASP ). ASP provides subscription to software stored or delivered on the Internet. ASP
Deliver software and pay for it. In this way, you do not need to buy software, just rent the software on demand.
|
SaaS instances Upload An interesting example of comparison between unified applications and Saas applications is SoftwarePlanner.com. Provided application declaration period management tools. The company uses traditional forms or SaaS Provide their tools. When using traditional forms, customers place application suites in their businesses, while when using SaaS forms, customers own and place them in On the Internet. |
|
Another aspect of SaaS is the use of remote execution software on the Internet. This software can be a service used by a local application (and definedWeb Services), Or you can see the remote application through a Web browser. One example of Remote Application Service is Google Apps, which provides some enterprise applications through a standard Web browser. To remotely execute an application, you usually need to rely on an application server to publish the required services.Application Server
Is a software framework that publishes software service APIs (such as transaction management or database access ). Specific examples include Red Hat JBoss Application
Server, Apache Geronimo, and IBM WebSphere Application Server
. There are also many other application servers. A detailed list is provided in the reference section.
Another recent example of SaaS is Google's Chrome browser. This browser is an ideal environment for new desktops. In addition to the traditional Web browsing experience, it can also be used to deliver applications (locally or remotely. (For more information, see references)
.
Platform-as-a-Service
PaaS
It can be described as a complete virtual platform that includes one or more servers (virtualized on a group of physical servers), operating systems, and specific applications (for example, for Web-based
Apache and MySQL ). In some cases, these platforms can be pre-defined and selected. In other cases, you can provide a VM
Image, which contains all user-specific applications.
An interesting example of PaaS is Google App Engine. App Engine
Is a service that allows you to deploy Web applications on Google's highly scalable architecture. App Engine can be referenced over the Internet
The Python application provides a sandbox (more languages will be supported in the future ). In addition to user authentication, image operations, and email sending, App Engine also provides
Python API, used to persistently store and manage data (using Google Query Language or GQL ). Web
When an application is running, the sandbox restricts access to the underlying operating system. Although App Engine limits the available functions of applications, it supports useful Web
Service structure. For more information, see references.
Note:In a certain range of bandwidth and storage constraints, it is free to deploy applications in the App Engine. However, if you want to use the App Engine to build a production Web site, you need to evaluate the usage fee.
PaaS
Another example is 10gen, which is both a cloud platform and a downloadable open source package that can be used to create your own private cloud. 10gen is similar to App
An Engine software stack that provides features similar to the App Engine-but there are some differences. With 10gen, you can use Python and
JavaScript and Ruby
Use programming languages to develop applications. The Platform also uses the sandbox concept to isolate applications and uses many computers on their own application servers (of course, in Linux
To provide a reliable environment.
Infrastructure-as-a-Service
IaaS
Deliver computer infrastructure in the form of services. This layer is different from PaaS in that it only provides Virtual Hardware without software stacks. The customer provides a VM
Image, which is called on one or more virtual servers. IaaS is the most primitive form of service computing (except for access to physical infrastructure ). The most famous commercial IaaS
The provider is Amazon Elastic Compute Cloud (EC2 ). In EC2, you can specify a specific
VM (Operating System and Application assembly), then deploy the application on it, or provide the VM image to be executed on the server. Then, you only need to pay based on the computing time, storage and network bandwidth.
Eucalyptus Project (Elastic Utility Computing Architecture
For Linking Your Programs To Useful Systems) is Amazon EC2
Is an open-source implementation, which is compatible with commercial service interfaces. Like EC2, Eucalyptus depends on Linux and Xen.
Virtualization of the operating system. Eucalyptus is the University of California (Santa
Barbara) developed for cloud computing research. You can download it from the university website (see references), or use Eucalyptus Public Cloud to experience it, but the latter has some restrictions.
Another
An EC2-style IaaS is an Enomalism cloud computing platform. Enomalism is an open-source project that provides a function similar to EC2
Cloud computing framework. Enomalism is based on Linux and supports both Xen and Kernel Virtual Machine (KVM ). And other pure
Different from IaaS solutions, Enomalism provides a software stack based on the TurboGears Web application framework and Python.
Other cloud development
Division
In addition to the Development discussed earlier, there are some other Linux-based open source code packages, which are also useful in the cloud environment. Hadoop is an open-source Java
Software Framework, which is similar to PaaS, but focuses on manipulating large datasets on a group of networked servers
(The latter supports parallel processing of large datasets ). Therefore, it is useful in Web search and advertising applications-especially in Yahoo! . Hadoop
Some sub-projects are also provided, which is similar to Google applications. For example, HBase provides functions similar to Google BigTable database, Hadoop
Distributed File System (HDFS) provides functions similar to Google File System (GFS.
Problems and challenges
Cloud
Computing problems are obvious-the two most important problems are confidentiality and security. Confidentiality can be solved through encryption, but we should be cautious when selecting cloud computing services. In the Web
At the beginning, even e-commerce was under suspicion. Global e-commerce transactions worth trillions of dollars every year, so cloud computing can benefit from
Secure technologies (such as Secure Socket Layer or SSL ).
Conclusion
The storm of cloud computing has begun, promoting the rapid development of open-source development on cloud computing Linux. With the huge investment in the cloud computing field, the transformation to a centralized data center has become apparent. Interesting new technologies and architectures are coming soon!