Introduction to Cloud Computing
Learn about the core concepts of cloud computing, including the different deployment and service models.
We'll cover the following
The National Institute of Standards and Technology (NIST) defines cloud computing as a model for providing on-demand network access to computing resources that can be rapidly provisioned and released. At its core, cloud computing delivers various services over the internet, from storage and processing power to software applications and development platforms.
Core concepts
Here’s a breakdown of some key components and concepts in cloud computing:
On-demand access: Users can provision and utilize resources like virtual machines, storage, and applications as needed, typically paying only for what they use.
Resource pooling: Cloud providers maintain pools of computing resources, such as servers, storage, and networking equipment, shared among multiple users. This pooling enables efficient resource utilization and scalability.
Elasticity: Cloud services are designed to scale up or down dynamically in response to changing demands. This elasticity allows users to easily accommodate fluctuations in workload without the need for manual intervention.
Pay-as-you-go pricing: Cloud computing often operates on a pay-as-you-go or subscription-based pricing model, where users are billed based on their actual resource usage. This model offers cost savings compared to traditional IT infrastructure, eliminating the need for large upfront investments in hardware and software.
Service models
Cloud service providers offer four major types of service models. They vary in the extent of services provided by the cloud provider. These are briefly discussed below:
Infrastructure as a Service (IaaS): In the IaaS model, cloud providers offer virtualized computing resources over the internet. These resources typically include virtual machines, storage, and networking components. Users control the operating systems, applications, and development frameworks running on these virtual machines. In AWS, services like EC2, S3, and VPC are included in the IaaS model.
Platform as a Service (PaaS): PaaS provides a platform for developers to build, deploy, and manage applications without dealing with the underlying infrastructure. Developers can focus on writing code and deploying applications while the PaaS provider handles scalability, security, and maintenance tasks. PaaS offerings often include development tools, middleware, databases, and runtime environments. Services like Amazon Lambda, AWS Elastic Beanstalk, and AWS RDS come under the PaaS model from the AWS catalog.
Software as a Service (SaaS): SaaS delivers software applications over the internet on a subscription basis. Users access these applications through a web browser or API without installing or maintaining any software locally. SaaS offerings cover various applications, including email, customer relationship management (CRM), productivity tools, and collaboration software. For example, Microsoft 365, Netflix, or Slack are cloud-based applications used for various purposes.
Function as a Service (FaaS): FaaS (also known as serverless computing) allows developers to execute code responding to events without provisioning or managing servers. Developers write code (typically as functions) triggered by events such as HTTP requests, database changes, or file uploads. FaaS platforms charge users only for the resources consumed during execution.
Deployment models
Deployment models in cloud computing refer to the ways in which cloud services are deployed and accessed. These models define the location, ownership, and management of cloud infrastructure and resources. Here are the three main deployment models:
Public cloud: In the public cloud model, cloud services are provided by third-party providers over the public internet. These services are available to anyone who wants to use them, typically on a pay-as-you-go or subscription basis.
Private cloud: A private cloud is dedicated to a single organization and may be hosted on-premises or by a third-party provider. Unlike the public cloud, the infrastructure in a private cloud is not shared with other organizations, providing greater control, security, and customization.
Hybrid cloud: The hybrid cloud model combines elements of both public and private clouds, allowing organizations to leverage the benefits of each. In a hybrid cloud deployment, workloads can be deployed across multiple environments, including on-premises data centers, public clouds, and private clouds. Common use cases for hybrid cloud include disaster recovery and bursting into the public cloud during peak demand.