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 usage of resources. This model offers cost savings compared to traditional IT infrastructure, as it eliminates the need for large upfront investments in hardware and software.
Benefits of cloud computing
Before going further, let’s understand the benefits of cloud computing using a common scenario. During the holiday season, businesses experience a surge in online activity, requiring additional computing power to handle increased traffic and transactions. Let's consider a retail company preparing for the holiday rush. Traditionally, they would need to forecast their computing needs months in advance, purchasing and maintaining sufficient hardware to handle peak loads. However, this approach is often costly and inflexible, as demand can vary unpredictably during the holiday season. It would be difficult to scale down once the holiday season ends and the load is reduced.
Our retail company can adopt a more agile strategy by leveraging cloud computing. As the holiday season approaches, they can seamlessly scale up their computing resources to accommodate higher website traffic, customer inquiries, and online transactions. Cloud computing offers a pay-as-you-go pricing model, allowing the company to only pay for the resources they use during the holiday season. This eliminates the need for upfront investments in hardware and ensures cost-effectiveness, especially during fluctuating demand.
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 have control over 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 needing to install or maintain any software locally. SaaS offerings cover a wide range of applications, including email, customer relationship management (CRM), productivity tools, and collaboration software. For example, Microsoft 365, Netflix or Slack are cloud-based applications that are used for various purposes.
Function as a Service (FaaS): FaaS, also known as serverless computing, allows developers to execute code in response to events without provisioning or managing servers. Developers write code (typically as functions) that is 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.