Cloud-based applications provide a wide range of solutions to a very large number of users. To help us analyze and describe cloud-based systems, many people refer to a cloud solution in terms of its deployment model and services model. These two terms originated within a cloud computing document from the National Institute of Standards and Technology (NIST), as shown in FIGURE 1-5.
A cloud deployment model specifies how resources within the cloud are shared. As discussed in TABLE 1-2, there are four primary cloud deployment models: private cloud, public cloud, community cloud, and hybrid cloud. Each model influences the corresponding scalability, reliability, security, and cost.
TABLE 1-2 Cloud deployment models.
Deployment Model | Characteristics |
---|---|
Private cloud | Owned by a specific entity and normally used only by that entity or one of its customers. The underlying technology may reside on- or off-site. A private cloud offers increased security at a greater cost. |
Public cloud | Available for use by the general public. May be owned by a large organization or company offering cloud services. Because of its openness, the cloud may be less secure. A public cloud is usually the least expensive solution. |
Community cloud | The cloud is shared by two or more organizations, typically with shared concerns (such as schools within a university). |
Hybrid cloud | A cloud that considers two or more private, public, or community clouds. |
A cloud can interact with a client (user or application) in a variety of ways, through capabilities called services. Across the web, three major types, or models, of services have emerged, which are defined in TABLE 1-3.
TABLE 1-3 Common cloud service models.
Cloud Service Model | Characteristics |
---|---|
Software as a service (SaaS) | A complete software application with a user interface. Examples: Salesforce, ADP Payroll, and Amazon. |
Platform as a service (PaaS) | A platform within which developers can deploy their applications. A PaaS solution includes hardware (servers and disks), operating systems, development tools, and administrative tools. Examples: Amazon Web Services, Microsoft Azure, and Google Cloud Platform. |
Infrastructure as a service (IaaS) | Provides machines, storage, and network resources that developers can manage by installing their own operating system, applications, and support resources. Examples: Amazon Web Services, Microsoft Azure, and Google Cloud Platform. |
The software as a service (SaaS) model provides a cloud-based foundation for software on demand. In general, an SaaS solution is web-delivered content that users access via a web browser. The software can reside within any of the deployment-model clouds. FIGURE 1-6 illustrates the SaaS model.
The advantages of SaaS solutions are simplicity of integration (users only need a browser), cost (the data center resides within the cloud), and scalability (customers can add user licenses or seats as needed). The disadvantage of SaaS solutions is the perception of security issues. Users who are new to the cloud may not feel comfortable storing company data in a remote data-storage facility (the cloud).
Well-known SaaS solution providers include Salesforce.com, Google Apps, TurboTax, and QuickBooks.
The platform as a service (PaaS) model provides the underlying hardware technology, such as one or more servers (physical or virtual servers), operating systems, database solutions, developer tools, and network support, for developers to deploy their own solutions. The hardware and software within a PaaS solution are managed by the platform provider. Developers need not worry about performing hardware or operating system upgrades. Instead, developers can focus on their own applications. FIGURE 1-7 illustrates the PaaS model. When the developers need to enable specific software on a PaaS solution, such as a database or other services, they can often use a self-service interface provided by the PaaS-service provider. Well-known PaaS solution providers include Amazon Web Services, Microsoft Azure, and Google Cloud Platform.
The infrastructure as a service (IaaS) model provides a virtual data center within the cloud. IaaS provides servers (physical and virtualized), cloud-based data storage, and more. Within an IaaS solution, developers must install their own operating system, database management software, and support software. Then the developers (or the company’s system administrators) must manage both the hardware and the software. FIGURE 1-8 illustrates the IaaS model. The Amazon Elastic Compute Cloud (Amazon EC2) is an IaaS solution, as is Microsoft Azure and Google Cloud Play.
18.216.4.79