Cloud Computing Architecture Diagram
Obviously, the main difference between the five is the first word, and AAs is the meaning of as-a-service (that is, service), these five models are emerging in recent years, and these five are cloud computing products, so we first to understand what cloud computing is.
1. What is cloud computing?
Cloud computing (cloud computing) is an increase, usage, and delivery model of Internet-based services, often involving the use of the Internet to provide dynamically scalable and often virtualized resources. The cloud is a metaphor for the internet and the Web. Cloud computing can even allow you to experience the computing power of 10 trillion times per second, with the power to simulate nuclear explosions, predict climate change and market trends. Users through the computer, notebook, mobile phone and other ways to access the data center, according to their own needs to operate.
In layman's terms, cloud computing is an upgraded version of the previous server calculation, which is characterized by strong extensibility, cheapness, virtualization, and strong computing power.
2. What does IaaS mean?
Iaas:infrastructure-as-a-service (infrastructure as a service)
The first layer is called IaaS, sometimes called Hardware-as-a-service.
A few years ago if you want to run some business applications in your office or on your company's website, you need to buy servers or other high-level hardware to control your local applications and get your business up and running.
But now with IaaS, you can outsource your hardware to other places. IaaS will provide off-site servers, storage and network hardware that you can rent. Save on maintenance costs and office space, companies can use these hardware at any time to run their applications.
Some large IaaS companies include Amazon, Microsoft, VMWare, Rackspace and Red Hat. However, these companies have their own expertise, such as Amazon and Microsoft provide you with not only IaaS, they will also rent their computing power to you to host your site.
3. What does PAAs mean?
Paas:platform-as-a-service (Platform as a service)
The second layer is called PAAs, which is sometimes called middleware. All the development of your company can be done at this level, saving time and resources.
PAAs offers a variety of solutions for developing and distributing applications on the web, such as virtual servers and operating systems. This saves you money on the hardware and makes it easier to collaborate between decentralized studios. Web application management, application design, application virtual hosting, storage, security and application development collaboration tools, etc.
Some large PAAs providers have Google App engine,microsoft azure,force.com,heroku,engine Yard. Recent companies have Appfog, Mendix and standing Cloud
4. What does SaaS mean?
Saas:software-as-a-service (software as a service)
The third layer is called SaaS. This layer is a layer of daily contact with your life, most of which is accessed through a Web browser. Any application on a remote server can be run over the network, which is SaaS.
The services you consume are completely accessible from websites such as Netflix, MOG, Google Apps, Box.net, Dropbox or Apple's icloud. Although these Web services are used for business and entertainment or both, this is part of cloud technology.
Some of the SaaS applications used for business include Crm,adp,workday and SuccessFactors of Citrix's Gotomeeting,cisco Webex,salesforce.
At present, the development of the three are good, there are more close links between the three, in which IaaS is the base layer, PAAs is the platform layer, and SaaS is the software layer.
In recent years with the deepening development of teamwork, CaaS, Maas also constantly into people's vision, that CaaS, Maas what meaning?
5. What does CaaS mean?
CaaS is the communications-as-a-service abbreviation, meaning communication as a service (also known as collaboration as a service). CaaS is the ability to encapsulate traditional telecommunications capabilities such as messaging, voice, video, conferencing, communications collaboration, etc. into an API (application programming Interface, Application software programming Interface) or SDK (software development Kit, The software Development Kit) is open to the Internet and is available to third parties (enterprise, SME, vertical industry, CP/SP, and individual developers, etc.) to provide the telecommunications capabilities to the outside world as a service.
6. What does Maas mean?
MaaS (machine as a service) Internet of things as services, this concept with the creation of the Internet of things, the two common forms of business is Mai and MaaS, so MaaS belongs to the form of the Internet of things business.
As the number of IoT businesses increases, the need for data storage and computational capacity will require the ability to "cloud computing":
Cloud computing: From the computing Center to the datacenter in the early stages of the internet of things, pop meets demand
In the advanced phase of the Internet of Things, Mvno/mmo operators (which have existed abroad for many years) need to combine technologies such as virtualized cloud computing technology and SOA to achieve the ubiquitous services of the Internet of Things: TaaS (everything as A service).
--------------------------------------------------------------------------------------------------------------- ------------------
The relationship between them can be analyzed from two angles: one is the user experience perspective, and from this point of view, the relationships between them are independent because they face different types of users. The other is technical, and from this point of view, they are not simple inheritance relationships.
According to the most commonly used and more authoritative NIST (national Institute of Standards and Technology, American Institute of Standards and Technology), cloud computing is divided into three service models, And this three-storey division is important from the user experience point of view:
Software as a services, software as a service, referred to as SaaS, the role of this layer is to provide the application as a service to customers.
Platform as a services, platform as a service, referred to as PAAs, the role of this layer is to provide a development platform as a service to users.
Infrastructure as a services, infrastructure as a service, referred to as IaaS, the role of this layer is to provide virtual machines or other resources as a service to the user.
First, the SaaS model
Role
The SaaS model allows users to directly use applications running on the cloud without having to worry about such things as installing, and eliminating the need for early and costly hardware and software, as long as they are connected to the Web and through a browser. SaaS is primarily for ordinary users.
Products
The main products include: Salesforce Sales cloud,google Apps,zimbra,zoho and IBM Lotus live.
Function
When it comes to the functionality of SaaS, it can also be thought of as a way to implement SaaS services that vendors need to complete? There are four main areas:
Access anytime, anywhere: at any time or anywhere, users can access the SaaS service as long as they are connected to the Internet.
Support for public agreements: it is easy for users to use by supporting open protocols such as HTML4/5.
Security: SaaS vendors need to provide a security mechanism that not only puts the user data stored in the cloud in an absolute safe place, but also enforces certain security mechanisms (such as HTTPS) on the client side to protect the user.
Multi-Tenant (multi-tenant) mechanism: Through the multi-tenant mechanism, not only can the large scale of users be supported more economically, but also can provide certain customization to meet the special needs of users.
Second, the PAAs mode
Role
With PAAs, users can easily write applications on a development platform, including SDKs, documentation and test environments, and no need to worry about managing servers, operating systems, networks, and storage resources, whether in deployment or at run time. These tedious tasks are handled by the PAAs vendors, and the PAAs is staggering on the consolidation rate, such as a server running Google App engine that supports thousands of applications, which means PAAs is very economical. The main user of PAAs is the developer.
Products
The main products include: Google apps Engine,force.com,heroku and Windows Azure platform.
Function
In order to support the operation of the entire PAAs platform, vendors need to provide that functionality? There are four main functions:
Friendly development environment: provides tools such as the SDK and IDE to enable users to easily develop and test applications locally.
Rich service: The PAAs platform will provide a wide range of services to the upper-level applications in the form of APIs.
Automatic resource scheduling: That is, scalability, which will not only optimize system resources, but also automatically adjust resources to help the applications running on it to better respond to bursts of traffic.
Granular management and monitoring: Through PAAs, you can provide application layer management and monitoring, such as the ability to observe the operation of the application and the specific values (such as throughput and reflection time) to better measure the operational state of the application, as well as the ability to use the accurate metering of the resources consumed by the application to better billing.
Third, the IaaS model
Role
With IaaS, users can get the resources they need from their vendors to load the relevant applications, and the cumbersome management of these infrastructures will be handled by the IaaS provider. IaaS can support a multitude of applications on virtual machines through it. The primary user of IaaS is the system administrator.
Products
The main products include: Amazon EC2,LINODE,JOYENT,RACKSPACE,IBM Blue Cloud and Cisco UCS.
Function
Where do IaaS vendors need to manage infrastructure to provide resources to users? Or does the IaaS cloud have those features? The seven basic features of IaaS are listed in virtualization and cloud computing:
Resource abstraction: Methods that use resource abstraction (for example, resource pools) are better able to dispatch and manage physical resources.
Resource monitoring: Through the monitoring of resources, can ensure the basic implementation of efficient operation.
Load management: Through load management, not only can the application deployed on the infrastructure better respond to emergencies, but also make better use of system resources.
Data management: For cloud computing, data integrity, reliability, and manageability are fundamental requirements for IaaS.
Resource deployment: The process of automating the entire resource from creation to use.
Security management: The primary goal of security management for IaaS is to ensure that infrastructure and the resources it provides are legitimately accessed and used.
Billing Management: Enables users to use resources more flexibly through detailed billing management.
Next, let's introduce a little bit about the three forms of cloud and the benefits of cloud computing.
The relationship between three modes
The relationship between them can be analyzed from two angles: one is the user experience perspective, and from this point of view, the relationships between them are independent because they face different types of users. The other is technical, and from this point of view, they are not simple inheritance relationships (SaaS based PAAs, and PAAs based IaaS), because the first SaaS can be based on PAAs or directly deployed on the IaaS, next PAAs can be built on the IaaS, It can also be built directly on top of physical resources.
[This section goes from] http://www.cnblogs.com/afarmer/archive/2011/11/18/2254069.html
Comparison between IaaS and PAAs
The main role of PAAs is to provide a development and operational platform as a service to the user, and the primary role of IaaS is to provide virtual machines or other resources as a service to the user. Next, the PAAs and IaaS will be compared in seven ways:
1) Development environment: PAAs basically gives developers a complete set of development and test environments, including the IDE, while IaaS users are mostly familiar with the development environment before But because of the previous development environment in the integration with the cloud is relatively inadequate, so it is not very convenient to use.
2) supported applications: Because IaaS primarily provides virtual machines, and common virtual functions support multiple operating systems, the scope of IAAS-supported applications is extensive. But it's not easy to make an app run on a PAAs platform, because not only is it necessary to ensure that the application is based on the language supported by the platform, but also to make sure that the application can only invoke the APIs supported by the platform, and if the application calls an API that the platform does not support, Then you need to make changes to the application.
3) Open standards: While many of the IaaS platforms have some private functionality, the existence of protocols such as OVF makes it a steady step on both sides of the platform and avoiding vendor lock-in. The PAAs platform is not optimistic because both Google's app Engine and Salesforce's force.com have some proprietary APIs.
4) Scalability: The PAAs platform automatically adjusts resources to help applications running on it to better respond to bursts of traffic. The IaaS platform requires developers to manually adjust the resources to cope.
5) Consolidation rate and economy: PAAs platform consolidation rate is very high, for example, the PAAs representative of Google App engine can host thousands of applications on a single server, The average IaaS platform's integration rate is no more than 100, and generally around 10, making IaaS less economical than PAAs.
6) Billing and regulation: Because the PAAs platform is both billing and regulatory, it achieves the same level of operating system as the IaaS platform, such as CPU and memory usage, and can be applied, for example, The application's response time (Response times) or the amount of transactions consumed by the application will increase the accuracy of billing and management.
7) Learning Difficulty: Because the development and management of applications on the IaaS is relatively close to the existing approach, while PAAs development may require learning a new language or a new framework, IaaS learning is less difficult.
|
Paas |
Iaas |
Development environment |
Perfect |
Ordinary |
Supported applications |
Finite |
Wide |
Versatility |
Lack |
Slightly better |
Scalability |
Auto Scaling |
Manual Scaling |
Consolidation rate and economy |
High integration rate, more economical |
Low integration rate |
Billing and regulation |
Fine |
Simple |
Learning Difficulty |
Slightly difficult |
Low |
Table 1. Comparison between PAAs and IaaS
PK of the Future
In today's cloud computing environment, IaaS is very mainstream, whether Amazon EC2 or Linode or joyent, and so on, but with Google's app Engine, The force.com of Salesforce is also the launch of a PAAs platform such as Microsoft's Windows Azure, making PAAs even more emerging. When it comes to the future of both, and especially the competitive relationship between the two, I personally think that in the short term, because of the advantages of the IaaS model in terms of both supported applications and learning difficulties, IaaS will become the developer's first choice in the short term, but in the long run, Because the high integration rate of the PAAs model brings economic benefits, it will replace IaaS as a developer's "favorite" if PAAs solves challenges such as versatility and supported applications.
[Part of the original link] http://www.leiphone.com/iaas-paas-and-saas.html http://www.svnclub.com/?q=node/137
Cloud three service models SaaS, PAAs and IaaS and their relationships (incidentally CaaS, MaaS)