Introduction to Cloud

Traditional Data Centres

Deployment Types


  • On-premises:An organization takes full responsibility for establishing and maintaining a data centre. This includes owning and managing all hardware, software, and networking infrastructure. Organizations may also opt for a service provider to manage specific aspects of networking, though the majority of physical and operational control remains internal.


  • Colocation:This involves a partnership with third-party firms for data centre setup and maintenance. The organization provides its own servers, storage, and networking while the third-party company supplies essential services such as power, cooling, and physical security. This can be a cost-effective solution for organizations that do not want to invest in building their own facility but still require significant resources.

Disadvantages of Traditional Data Centres

  1. High Costs:

    • Significant upfront investments are needed for power backup, telecommunication infrastructure, cooling systems, and racks.

    • Annual maintenance costs can reach millions, particularly for high-density data operations.

  2. Limited Physical Space:

    • Organizations often face constraints in their physical space, as expanding their data centre involves both costs and logistical challenges.

    • Adding additional servers or hardware can lead to increased complexity in management.

  3. Labor-Intensive Management:

    • Upgrading, patching, and scaling infrastructure can be both costly and labor-intensive.

    • Internal team management and training are necessary to keep pace with the ever-evolving technological landscape, straining resources further.

  4. Long Lead Times:

    • Acquiring new hardware can take between 1 to 2 months due to procurement processes and necessary approval systems, delaying the implementation of critical upgrades.

Evolution of Cloud Computing

The early 2000s saw a significant increase in internet adoption and digital service demands, shaping the future of data storage and computing.

  • 2006: Launch of Amazon Web Services, revolutionizing how businesses consume IT resources.

  • 2008: Google released the beta version of Google App Engine, enabling seamless application development on the web.

  • 2010: NASA partnered with Rackspace to introduce OpenStack, fostering a collaborative open-source cloud infrastructure.

What is Cloud Computing?

According to the National Institute of Standards and Technology (NIST), cloud computing is defined as a model that enables on-demand network access to a shared pool of configurable computing resources (such as networks, servers, storage, applications, and services) that can be rapidly provisioned with minimal management effort. This innovative model transforms how individuals and organizations access technology, providing greater flexibility and scalability compared to traditional data centres.

Key Aspects of Cloud Computing

  • On-demand self-service: Users can automatically provision computing capabilities, such as server time and network storage, without requiring human interaction with service providers.

  • Broad network access: Services are available over the network and can be accessed through standard mechanisms that promote use across various devices.

  • Resource pooling: Providers serve multiple consumers using a multi-tenant model, dynamically assigning and reallocating physical and virtual resources based on consumer demand.

  • Rapid elasticity: Capabilities can be elastically provisioned and released to scale rapidly outward and inward commensurate with demand.

  • Measured service: Cloud systems automatically control and optimize resource use through a metering capability, providing transparency for both the provider and consumer.

Benefits of Cloud over Traditional Data Centres

  • Instant Resource Provisioning: Cloud computing allows users to allocate resources nearly instantaneously with just a click, drastically reducing time to deployment.

  • Scalability and Flexibility: Resources can be adjusted instantly based on demand, supporting businesses with fluctuating workloads and enabling automatic scaling features.

  • Virtualization: This technology allows multiple operating systems to run on a single hardware unit, optimizing resource utilization and significantly decreasing costs.

Virtualization Architecture

The architecture of virtualization consists of multiple layers:

  • Hardware Layer: This is the physical layer combining CPU, memory, and networking.

  • Virtualization Layer: It separates the hardware from operating systems and applications, enabling multiple virtual machines (VMs) to operate on the same physical hardware.

  • Hypervisor: This software is crucial for creating and managing VMs, interacting directly with the hardware to allocate resources. Genrally, hypervisors are classified as:

    • Type-1 (Bare-metal): These hypervisors run directly on hardware and provide better performance and efficiency for enterprise applications. Examples include VMware ESXi and Microsoft Hyper-V.

    • Type-2 (Hosted): Operating within a host operating system, these hypervisors utilize the underlying OS resources and are typically slower than Type-1. Examples include Oracle Virtual Box and VMware Workstation.

Comparison of Hypervisors


  • Bare-Metal Hypervisors (Type-1):Fast and efficient since they interact directly with hardware without needing an intermediary operating system. This optimizes performance and resource utilization for intensive computing tasks.


  • Hosted Hypervisors (Type-2):Run on top of an existing operating system, which can introduce overhead, leading to slower performance compared to bare-metal hypervisors. Suitable for scenarios with less demanding performance requirements.

Containerization vs Virtualization


  • Containerization:This technology allows applications to run in isolated environments called containers, which share the same operating system kernel but are otherwise completely independent. Containerization is more lightweight than virtualization with significant benefits including:

    • Faster Deployment: Applications in containers can spin up and down in a matter of seconds, vastly improving operational efficiency.

    • Resource Efficiency: Containers utilize fewer resources than traditional virtual machines, minimizing overhead and maximizing server utilization.

    • Greater Isolation: Bugs in one container do not affect others, leading to more stable and reliable applications.

Cloud Computing Advantages

  1. Cost-Efficiency:

    • Flexible billing models decrease upfront costs and align expenses more closely with actual resource consumption.

  2. Scalability and Elasticity:

    • Organizations can rapidly adjust resources as needed, facilitating automatic scaling in response to real-time demand.

  3. Infrastructure as Code (IaC):

    • This practice automates the management of infrastructure through code, allowing for simplified management, deployment, and replication of resources through configuration files.

  4. Multi-tenancy:

    • Many users can share the same computing resources without compromising their own data privacy, improving resource utilization.

  5. Global Presence:

    • Cloud computing enables the hosting of applications across multiple geographical regions, ensuring reduced latency for users worldwide.

Cloud Deployment Models


  • Public Cloud:Services are available to the general public over the Internet. Advantages include cost-effectiveness and scalability, though potential drawbacks include security vulnerabilities and limited customization options.


  • Private Cloud:Infrastructure is dedicated to a single organization, providing enhanced security and control, commonly adopted by industries such as finance and healthcare.


  • Community Cloud:A shared cloud infrastructure set up for a specific community that has similar requirements (e.g., government or healthcare organizations), offering compliance benefits and cost efficiencies.


  • Hybrid Cloud:This model combines private and public cloud elements, allowing for greater flexibility and security tailored to an organization’s specific needs.

Cloud Service Providers

Key players in the cloud computing market include:


  • AWS (Amazon Web Services):Market leader known for a wide array of services that support extensive use-cases efficiently.


  • Microsoft Azure:Used widely across Fortune 500 companies for its strong integration with Microsoft products and services.


  • Google Cloud:Especially strong in big data and machine learning services, making it popular among data scientists and analytics-driven organizations.

Cloud Service Models

  1. IaaS (Infrastructure as a Service):

    • Provides fundamental computing resources, allowing users to manage software installations themselves. This flexibility supports extensive customization.

  2. PaaS (Platform as a Service):

    • A managed environment to develop, run, and manage applications without dealing with infrastructure management. It boosts speed and efficiency for developers.

  3. SaaS (Software as a Service):

    • Users can access software applications hosted on the cloud, eliminating the need for local installations and supporting multi-device accessibility.

Summary of AWS Services


  • Amazon EC2:Provides virtual server management with capabilities for rapid scaling and secure access control.


  • Amazon S3:A scalable storage solution that offers low latency and high durability for data storage needs.


  • Infrastructure Management:Includes tools for managing cloud resources, Identity and Access Management (IAM) for security, and Virtual Private Clouds (VPCs) for secure networking configurations.


  • Database Services:Amazon RDS delivers a fully managed relational database service, simplifying database management and scaling for users.