Cloud computing is now a popular term. From the beginning of suspicion, questioning, to widespread application, and now all major software companies have developed their own clouds, the direction of cloud computing is in enterprise applications, just like SOA, it has already begun to fly into ordinary homes.
In fact, cloud computing is actually a little dumb at first glance. The main reason is that there is no standard yet. However, resources are the core issue to be addressed by cloud computing. Allows applications to obtain resources as needed, and flexibly increase and decrease application resources (scale up/down) without interrupting the application itself; puts applications together, improve resource utilization. Because cloud computing service providers generally have their own data centers, a basic advantage of cloud computing is that they can enjoy the data center services built by cloud service providers, such as redundant design and dual-line services, professional and high-quality host maintenance. The three cloud models mentioned below have these advantages.
(PS: In this example, cloud computing is mainly used to provide services for enterprise applications, not for personal desktop applications, but for Personal desktop applications, such as virtual desktops, this is a very mature system)
Currently, there are three mainstream cloud models. SAAS is software as a service, which is actually the most flickering. Any site can claim to be Saas-based, such as a blog, to provide services for each registered user, you can spend more money, increase the space for uploading attachments, or activate additional services, such as video and audio services, this can barely be said to be SAAS. SAAS is best known as saleforce. In fact, saleforce's Saas is indeed a cloud computing service. It provides reliable and scalable services and has its own infrastructure. It is not a simple web site. However, for end users, SAAS is nothing different from a common website. As a result, many manufacturers started to follow the cloud concept. Just like nano technology. SAAS is a popular cloud concept when cloud concepts are introduced. So many times I mention the cloud, which gives people the feeling of being fooled.
In SaaS mode, the service provider's server cluster can provide users with scalable resources. Users do not need to maintain servers, worry about database backup, or the network status. Do not worry about whether the data center is out of power or whether it is leaking. You only need to spend money to buy services. However, the restrictions are obvious. Users can only use services provided by service providers. For example, saleforce users can only use the saleforce service on the saleforce cloud.
The second is paas, which is both platform as a service. The most famous is Google App Engine. It provides a platform for users to deploy their applications on this platform. Currently, Python and Java are supported. At first glance, it seems like deploying multiple applications on an application server... That's right. It seems like this at the beginning... But Gae does not provide such a thing at all. It actually provides a virtual and scalable application environment. First, Gae provides its own SDK and ApplicationProgramSome underlying resources, such as files, cannot be operated.CompositionBecause applications in the PAAs cloud do not have the file concept, they are often a read-only package. For example, a Java application may be a war package ). With this SDK, you can create your own web programs, such as JSP and servlet. At the same time, Gae also provides the nosql storage service as data storage (data files cannot be stored, but files can only be read or written ). In addition to these two resources, Gae also provides limited socket support to capture URL content, but cannot directly establish a socket connection. Based on the resources provided by gae, you can develop and deploy your own applications.
Paas is more flexible than SaaS resources. You can use basic services such as application servers, storage, and networks provided by PAAS to develop your own services. With its development, Paas has begun to provide richer, more flexible, and other powerful services, providing more support for upper-layer applications. As a PAAs user, the disadvantage is of course some restrictions, such as the inability to directly manipulate underlying resources. However, the advantage is that you can purchase the required resources as needed without spending any unnecessary money. In addition, when the business grows to require more resources, you can spend money to purchase it, and the application itself does not need to be deprecated, and the user does not need to maintain it.
The third is that IAAs is both infrastructure as a service. Amazon ec2. It provides a complete virtual machine environment, including CPU, memory, hard disk, and network, which can be dynamically scaled. Users can install Linux or Windows servers on virtual machines, install required software, and provide their own application services. Compared with paas, IAAs is more advanced and underlying to meet more advanced user needs. Generally, cloud service providers that provide IAAs will also provide some other services, such as database storage services. Amazon provides Amazon RSD (Amazon Relational Database Service ).
Technical Basis of cloud computing
Cloud service providers that are ahead of the curve have already supported many well-known applications. For example, Dropbox is Amazon EC2. Although the standards are still unclear, cloud computing is already a mature and commercially available technology, not just a concept or a technology in the trial phase. The infrastructure of cloud services is a large data center. On this basis, the cloud infrastructure is a mature virtualization technology. On the basis of virtualization, a set of operating, management, and monitoring systems are provided.
For example, a service provider has 100 physical machines, Mbps upstream bandwidth and Mbps downstream bandwidth. If a physical server is rented out, the bandwidth of 1 Mbit/s is rented to 100 users. The problem is that resources cannot be fully utilized. User A may have full CPU at one o'clock, resulting in slow application service speed. At this time, user B may have idle CPU. At two o'clock, the two AB users may be in the opposite situation. If a and B both purchase new physical machines to cope with the peak, the resources will be greatly wasted in non-peak situations. Obviously, resources cannot be reasonably configured on physical machines.
Application virtualization technology allows you to add a Virtual Layer Between a physical machine and an application. All resources operated by users are virtual. The resources purchased by the user are also virtual. With the corresponding management layer to find, allocate, manage, and monitor resources, it can be regarded as a cloud.
The preceding usecase is used as an example. User A only needs to purchase enough CPU time. At one o'clock, the cloud allocates enough CPU resources to user a's applications. Users do not have to worry about which machine These CPUs are physically located. User A only needs to pay for the CPU time used by his application (or the number of virtual CPUs. In this way, resources can be allocated reasonably and resources can be fully utilized.
The bandwidth is more obvious. You do not need to buy bandwidth, but only need to buy traffic. Cloud service providers use their existing broadband to meet users' needs. At a certain time point, the user may enjoy a 50 m upstream and downstream speed, but the money is only related to traffic. Resources are shared among cloud users and allocated on demand. Users also purchase virtual resources instead of physical resources.
Relying on Cloud technology, although there are still 100 machines and 100 MB of upstream and downstream bandwidth, there may be more than users that can serve, and each user's needs can be better met. Of course, if users continue to grow, cloud service providers can purchase more hosts and larger upstream/downstream bandwidth to serve users. This articleArticleThat's all. It may be helpful if you have no idea about the cloud.