DEV Community

Cover image for Introduction to Cloud Computing
Harsh Mishra
Harsh Mishra

Posted on

Introduction to Cloud Computing

Essentials of Cloud Computing

Cloud computing is the delivery of computing services such as servers, storage, databases, networking, software, and analytics over the internet (“the cloud”) to provide faster innovation, flexible resources, and economies of scale. Here are some of its essential features:

  • On-Demand Self-Service: Users can provision computing resources like storage or virtual machines as needed, without requiring human intervention.
  • Broad Network Access: Cloud services are available over the network, accessible via multiple devices like laptops, smartphones, and tablets.
  • Resource Pooling: Resources (e.g., computing power, storage) are pooled together to serve multiple consumers via a multi-tenant model.
  • Rapid Elasticity: Resources can be elastically provisioned and released to scale according to demand.
  • Measured Service: Cloud systems automatically control and optimize resource use by leveraging a metering capability, allowing transparency for both the provider and consumer.

Cloud Architecture and Virtualization

Cloud computing relies heavily on virtualization to create flexible and efficient environments. Here’s an overview of its architecture and key components:

Cloud Architecture:

  • Front-End: This refers to the client-side of the cloud, consisting of the interface or applications (e.g., browsers or applications) that interact with the back-end.
  • Back-End: The backbone of the cloud infrastructure, containing:
    • Cloud Servers: Hosts for virtual machines (VMs) or containers that handle processing.
    • Databases: Structured and unstructured data storage.
    • Virtualization: The process of creating multiple virtual resources from one physical resource.
    • Cloud Storage: Scalable storage solutions (e.g., object storage).

Virtualization:

Virtualization enables multiple virtual machines to run on a single physical server. It underpins cloud computing by allowing optimal resource utilization and isolation. Types of virtualization:

  • Server Virtualization: Dividing a single physical server into multiple VMs.
  • Storage Virtualization: Combining various storage devices into a unified storage system.
  • Network Virtualization: Creating virtual networks independent of the physical infrastructure.

Cloud Deployment Models

Cloud deployment models define the type of access to the cloud. There are four primary models:

  1. Public Cloud: Cloud resources are owned and operated by a third-party cloud service provider and delivered over the internet (e.g., AWS, Azure).
  2. Private Cloud: Cloud infrastructure is dedicated to a single organization. It can be hosted on-premises or by a third-party provider.
  3. Hybrid Cloud: A combination of public and private clouds that allows data and applications to be shared between them, offering flexibility and optimization.
  4. Community Cloud: Shared by several organizations with similar concerns (e.g., security, compliance), and managed either internally or by a third party.

Cloud Service Models

Cloud services are classified into three main categories, as illustrated in the provided image. Each category offers different levels of responsibility between the cloud service provider (CSP) and the cloud customer:

  1. Infrastructure as a Service (IaaS):

    • Objective: Provides virtualized computing resources over the internet.
    • Customer Responsibilities: Managing the OS, applications, data, middleware, and runtime environments.
    • Examples: AWS EC2, Azure Virtual Machines, Google Compute Engine.
  2. Platform as a Service (PaaS):

    • Objective: Offers a platform for developing, running, and managing applications without managing the underlying infrastructure.
    • Customer Responsibilities: Focus on applications and data.
    • Examples: AWS Elastic Beanstalk, Azure App Services, Google App Engine.
  3. Software as a Service (SaaS):

    • Objective: Delivers software applications over the internet, removing the need for installation and maintenance on individual machines.
    • Customer Responsibilities: Manage only the data.
    • Examples: Microsoft 365, Google Workspace, Salesforce.

On-premise vs SaaS vs PaaS vs IaaS


Business Drivers for Cloud Computing

  1. Cost Efficiency: Cloud computing reduces capital expenditure by transitioning from large upfront hardware costs to pay-as-you-go models.
  2. Scalability: Businesses can quickly scale resources up or down as needed.
  3. Faster Time to Market: Development and deployment times are reduced due to cloud automation and tools.
  4. Flexibility: Cloud services can adapt rapidly to changing business requirements.
  5. Business Continuity: Cloud providers offer high levels of redundancy and backup, ensuring better disaster recovery.
  6. Collaboration: Teams can work together from anywhere with real-time access to shared resources.

Different Cloud Providers

There are several major cloud providers, offering a range of cloud services, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). The top providers are:

  1. Amazon Web Services (AWS): The largest cloud provider, offering a broad range of services including computing power, storage, and machine learning.
  2. Microsoft Azure: Offers a range of cloud services, particularly strong with hybrid cloud solutions and integration with Microsoft products.
  3. Google Cloud Platform (GCP): Known for its big data, machine learning, and containerization services.
  4. IBM Cloud: Focused on AI, blockchain, and enterprise cloud solutions.
  5. Oracle Cloud: Strong in database services and enterprise applications.

Introduction to Amazon Web Services (AWS)

Amazon Web Services (AWS) is a comprehensive cloud computing platform offered by Amazon, providing on-demand cloud services such as compute power, database storage, content delivery, and other functionalities. Key features of AWS include:

  • EC2 (Elastic Compute Cloud): Virtual servers in the cloud to run applications.
  • S3 (Simple Storage Service): Scalable object storage for storing and retrieving any amount of data.
  • RDS (Relational Database Service): Managed database services for databases like MySQL, PostgreSQL, and Oracle.
  • Lambda: Serverless computing allowing code execution in response to events without provisioning or managing servers.
  • CloudWatch: Monitoring service for AWS resources and the applications running on AWS.

Top comments (0)