SPI service model for cloud computing
Although there is no uniform definition of cloud computing, we have a relatively unified understanding of cloud computing service models. We know that cloud computing improves resource utilization by sharing resource pools. In cloud computing, the cloud computing service model can be divided into three types based on the resource categories in the resource pool, namely, the so-called SPI model, as shown in Table 1.1.
Table 1.1 SPI Model
Resource category cloud computing service model (SPI)
Application software as a service (SAAS)
System Platform platform as a service (PAAs)
Infrastructure Infrastructure as a service (IAAS)
1.4.1 software as a service (SAAS, software as a service)
Software as a service (SAAS) is a new way for users to obtain software services. It is also the most common and used cloud computing service method. Generally, users do not need to install software products on their own computers or servers, but follow a certain level of service agreement (SLA) you can directly obtain the required services with corresponding software functions from a dedicated provider through the network. In essence, software as a service is the computing power of the software that cloud computing service providers provide to meet users' specific needs. Saas-based cloud computing services have the following main features.
(1) users mainly use software services on the Internet through standard web browsers.
(2) Multi-tenancy ).
(3) users do not need to buy software. They only need to rent the software on demand or use it free of charge in advertising mode.
SAAS is actually a concept that has appeared earlier than cloud computing, and is called SAAS in the industry. In the past, there was also a concept closely related to it, called the Application Service Provider (ASP ), but now we have summarized it into a service model of cloud computing. Currently, SAAS has a variety of typical applications, such as online mail services, online conferences, and online anti-virus services, there are also various management services such as online CRM, online HR, online invoicing, and online project management. SAAS is a development trend of application software and has attracted the participation of many vendors. Online services such as Microsoft office365 and online CRM of Salesforce are typical SaaS services. Domestic software vendors such as yonyou and Kingdee have also launched their own SaaS applications.
1.4.2 platform as a service (PAAs, platform as a service)
Platform as a service (PAAs) refers to providing a complete application running platform as a service to the customer. In this service mode, you do not need to buy underlying hardware and platform software. You only need to use the PAAs platform to create, test, and deploy applications.
Figure 1.13 PAAs services at the IT level
PAAs has the following main features.
(1) provide programming interfaces for the Application Service Platform. developers need to develop applications based on the service interfaces provided by the platform.
(2) provides an application hosting platform. applications developed for this platform can only be deployed on this platform.
To facilitate understanding of the platform-as-a-service model, we can regard it as a cloud computing-based operating system, and developers can develop applications for this new cloud operating system. Currently, typical PAAs instances include Microsoft's Windows azure platform and Google App Engine. PAAs not only has good market application prospects, but also can promote and develop SaaS together with it. For service providers who want to enter the SAAs field, the key to Paas is to lower the threshold for developing and providing SaaS services and improve the development efficiency.
1.4.3 infrastructure as a service (IAAS, infrastructure as a service)
Infrastructure as a service (IAAS) refers to providing IT infrastructure as a service externally through the network. In this service model, users do not need to build a data center by themselves, but use infrastructure services, including servers, storage and networks, by leasing. In terms of usage mode, IAAs is similar to traditional host hosting, but IAAs has a strong advantage in terms of service flexibility, scalability, and cost. You do not need to purchase physical hardware. You only need to apply for services through the network to build your own system environment. This service model is equivalent to providing IT infrastructure in the form of services as water and electricity in daily life, and charging according to the service content and actual usage. To ensure dynamic resource allocation and Custom Resource allocation granularity, various Virtualization Technologies are generally used in IAAs platform implementation.
Figure 1.14 IAAs functional architecture
IAAs has the following main features.
(1) provide virtual hardware resources in the form of services, including servers, storage, and networks.
(2) You need to perform system management on the infrastructure environment.
Among these service types, the most famous is Amazon's AWS (Amazon Web Services) service. Amazon uses different service methods to provide leasing services for its large data center infrastructure. For example, it uses Elastic Computing Service (EC2) to provide virtual machine rental services and simple storage service (S3) provides storage leasing services.
We may also see some other service form names, such as office as a service, hardware as a service, database as a service, and integration as a service, these can be seen as an extension or subdivision of the above three major service models. Generally, they can be classified into one of the industry-recognized SPI models.
1.4.4 connection and difference between the three service models
Any of the three service models of cloud computing can independently provide external services. Cloud computing service providers can also directly build their own services from the underlying hardware platform. For example, an SaaS service provider can build an SaaS platform on its own to provide services. However, in terms of level, these three different services are services at different levels, and there can be some dependencies between them. The relationship between the three services can be expressed in Figure 1.15.
Figure 1.15 relationship between three services
If an isV wants to provide SaaS services, it can build its own data center, purchase software and hardware, and develop corresponding applications to provide services. However, a relatively simple method is to use the PAAs platform provided by other service providers, so that this isV can focus mainly on building the business logic of the application, instead of spending too much energy on basic platform construction, O & M, platform scalability, and disaster recovery. For IAAs, both end users, SaaS providers, and PAAs providers can obtain the computing power required by applications from infrastructure services, however, there is no need to invest a lot in basic IT software and hardware that supports this computing capability.
The three service models of cloud computing are actually different in user types. Because SAAS provides application services, it targets end users, that is, general application users. When using SaaS, users generally do not need to have special requirements on the technology itself. They only need to understand some operation rules of the software service itself. Generally, you do not need to perform secondary development for the SAAs service provided by the service provider. You only need simple settings to use the service. PAAs provides platform services, so it targets developers. PAAs requires developers to design and develop applications for the platform's programming interfaces, and then deploy them on the platform. If the deployed application provides external software services, it is the SAAs service. IAAs provides the underlying IT infrastructure services, so it directly targets IT administrators. The services provided by IAAs must be configured and managed by IT administrators before application deployment can be performed on them. Compared with the requirements of end users, the functions provided by the three service types differ by 1.16.
Figure 1.16 function comparison between three services
The advantage of SAAS is that it has low requirements for users and is basically a ready-made application. Users can directly apply the application, but the problem is that not all of the user's needs are addressed by ready-made application services. The advantage of Paas is that you can develop applications directly on the platform without worrying about the maintenance of the underlying system platform. However, the problem with Paas is that it is not conducive to the migration of existing applications. IAAs has relatively smooth migration of existing applications, and the flexibility of using the platform is relatively higher, but there are more things to do.
Figure 1.17 comparison of automation and flexibility between the three services
Therefore, the functions provided by the three cloud computing service types are different from those targeted at users. Users can select the corresponding cloud computing service based on their actual needs. The last thing to note is that the division of the above three service models is not absolute. Sometimes there are some duplicate service coverage at different levels, cloud computing service providers also make some adjustments and extensions to their services based on user needs.