Skip to content


Introduction to Cloud Computing

Cloud computing is a transformative technology that enables users to access computing resources such as

  • servers
  • storage
  • databases
  • networking
  • software
  • analytics

over the internet, often referred to as "The cloud." It shifts the traditional model of owning and managing physical IT infrastructure (on-premis infrastructure) to one where resources are delivered on demand and billed based on usage.

Key Characteristics of Cloud Computing

Broad Network Access

Broad network access simply means that no matter where we or our users are physically located, we can access resources in the cloud. Broad Network Access is a core characteristic of cloud computing that ensures resources hosted in the cloud are accessible from anywhere with an internet connection. This characteristic means that users—whether they are individuals or enterprises—can access cloud services and data from various devices, such as laptops, tablets, smartphones, or workstations, regardless of their physical location.

For example:

  • Office Collaboration: Employees in a multinational company can collaborate seamlessly on a shared document using platforms like Google Workspace or Microsoft 365 These platforms store data in the cloud, allowing employees to work together in real-time from different locations.

  • Streaming Services: Streaming platforms like Netflix and Spotify rely on cloud infrastructure to deliver media content. Users worldwide can access movies, shows and music instantly from their devices, without needing to be near physical data centers.

  • Remote Work Applications: Cloud applications like Zoom and Slack use broad network access to enable remote teams to stay connected through video calls, chats, and file sharing, supporting a flexible and mobile workforce.

  • Online Storage Solutions: Cloud storage solutions like Dropbox, Google Drive, and Amazon S3 provide on-demand access to files, photos, and videos from any location, allowing users to retrieve and upload data without being bound to a specific device or network.

In essence, broad network access allows cloud resources to be widely available, supporting the growing demand for mobility, flexibility, and global reach in today’s digital world.

On-Demand self-service

On-demand self-service in cloud computing allows users to independently provision computing resources like servers, storage, and applications without requiring human interaction with the service provider. This characteristic ensures that resources are instantly available whenever needed, enabling flexibility and rapid scaling.

Users manage resources through a web interface or API without depending on IT staff or support teams.

Resources are available in real-time, reducing delays in deployment.

Users pay only for what they consume, improving cost efficiency.

Example:

  • Scenario: A software development company is testing a new application. They require a server to host and test their application under different conditions.

  • Without On-Demand Self-Service: The development team must contact their IT department or a service provider, wait for resource approval, provisioning, and setup, which could take hours or even days.

  • With On-Demand Self-Service: The team logs into a cloud provider's portal, selects a server configuration, and provisions it instantly. In minutes, they have access to a virtual server tailored to their needs.

Resource pooling

Resource pooling in cloud computing refers to the provider's ability to serve multiple customers by dynamically assigning and reallocating resources like storage, processing power, and network bandwidth from a shared pool. Resources are abstracted and distributed among users based on demand, ensuring efficient utilization without any direct knowledge of the physical location of the resources.

Multiple customers (tenants) share the same physical resources securely and efficiently.

Resources are assigned based on user needs and are adjusted dynamically to accommodate demand.

Users do not know or control the exact location of the physical resources but can specify higher-level preferences (e.g., data region).

Example:

  • Scenario: An e-commerce company and a software development firm both use the same cloud provider.

  • How Resource Pooling Works: The cloud provider maintains a pool of servers, storage, and bandwidth in its data centers. * During a sale event, the e-commerce company experiences a spike in website traffic and requires additional processing power and storage. The cloud provider dynamically reallocates unused resources from the pool to handle this surge. * At the same time, the software development firm continues its operations without interruption because the provider ensures adequate isolation and fair resource distribution.

Rapid elasticity and scalability

Rapid elasticity and scalability are key characteristics of cloud computing, enabling resources to be quickly scaled up or down as needed. Elasticity ensures that the infrastructure can handle varying workloads by automatically adjusting resources, while scalability focuses on long-term growth, allowing systems to accommodate increasing demand efficiently.

Example:

  • Scenario: An online retailer launches a flash sale for 24 hours, expecting a surge in traffic.

  • How Rapid Elasticity Works: Before the sale starts, the retailer uses a cloud provider to deploy their website. As the traffic spikes during the sale, the cloud automatically increases the number of servers to handle the demand. Once the sale ends and traffic decreases, the extra servers are removed, saving costs.

  • How Scalability Works: Over time, the retailer's customer base grows steadily. The cloud infrastructure is scaled up by adding more resources (storage, servers, and bandwidth) to support this growth without interrupting service.

Measuread or metered service

Measured or metered service in cloud computing means that resource usage is monitored, controlled, and reported, providing transparency for both the provider and the consumer. This pay-as-you-go model ensures that users are charged based on their actual consumption of resources such as storage, processing power, or data transfer.

Tracks how much of a service (e.g., CPU hours, GBs of storage) is consumed.

Customers are charged only for what they use, ensuring cost efficiency.

Enables providers to optimize and allocate resources based on usage patterns.

Example:

  • Scenario: A small software company uses a cloud provider to host its application and database.

  • How Measured Service Works:

    • The company uses 10 virtual machines (VMs) for 50 hours in a month. The cloud provider tracks the usage of CPU hours, storage, and bandwidth for these VMs.
    • At the end of the month, the provider generates a detailed usage report and charges the company based on the resources consumed.
    • If the company uses additional storage during a product launch, the extra usage is also metered and billed accordingly.

Types of Cloud Computing Services

Cloud computing is typically categorized into three primary service models, often referred to as the "cloud stack":

Infrastructure as a Service (IaaS)

Provides fundamental computing resources such as virtual machines, storage, and networks. Example: Amazon EC2, Google Compute Engine.

Platform as a Service (PaaS)

Offers tools and frameworks for developers to build, test, and deploy applications without managing the underlying infrastructure. Example: Google App Engine, Microsoft Azure App Service.

Software as a Service (SaaS)

Delivers fully functional software applications over the internet, eliminating the need for installation or maintenance on local devices. Example: Salesforce, Microsoft 365.




Deployment Models

Cloud computing offers different deployment models to meet varying needs for security, scalability, and management. Each model provides a distinct way to deploy and access cloud services.

Public Cloud

The public cloud is a shared infrastructure operated by third-party providers like OCI, AWS, Google Cloud, or Microsoft Azure. Resources such as servers, storage, and applications are offered to multiple customers over the internet.

Advantages

  • Cost-effective: Pay only for what you use
  • Scalable: Easy to add resources as needed
  • Minimal maintenance: The provider handles updates and security

Use Cases:

  • Website hosting
  • Application development and testing
  • Big data analytics
  • AI based solutions

Private Cloud

A private cloud is a dedicated environment for a single organization. It can be hosted on-premises or by a third-party provider but offers exclusive access and control over the infrastructure.

Advantages:

  • Enhanced security: Resources are isolated and customized for one user.
  • Greater control: Tailored to specific business needs.
  • Compliance-friendly: Ideal for industries with strict data regulations.

Use Cases:

  • Financial services requiring strict data control.
  • Healthcare with sensitive patient data.
  • Large enterprises needing high customizability.

Hybrid Cloud

A hybrid cloud combines public and private clouds, allowing organizations to use both as needed. Sensitive workloads can remain on the private cloud, while less-critical ones run on the public cloud.

Advantages:

  • Flexibility: Utilize the best of both worlds.
  • Cost optimization: Scale with the public cloud when necessary.
  • Improved disaster recovery: Data can be mirrored across both environments.

Use Cases:

  • Seasonal workloads or spikes in demand.
  • Businesses transitioning to the cloud gradually.
  • Disaster recovery and backup solutions.

Multi-Cloud

Involves using services from multiple cloud providers to avoid dependency on a single vendor and increase resilience.




Benefits of Cloud Computing

Cost Efficiency

Reduces upfront capital expenditures by shifting to an operational expense model.

Scalability

Quickly adapts to changing workloads and business demands.

Global Reach

Provides services to users worldwide with minimal latency.

Business Continuity

Facilitates disaster recovery and data backup.

Collaboration

Enhances teamwork by enabling real-time data access and sharing.




Applications of Cloud Computing

Cloud computing has transformed how businesses and individuals operate, offering unmatched flexibility, scalability, and cost efficiency. Its applications span various industries, enabling innovation and streamlining operations. Cloud computing underpins a wide range of modern services and solutions like the following:

Data Storage and Backup

Cloud platforms like Google Drive, Dropbox, and Amazon S3 allow users to store vast amounts of data securely. Businesses can back up critical information without maintaining expensive on-premises hardware, ensuring easy recovery in case of data loss or disasters.

Software as a Service (SaaS)

Applications like Microsoft 365, Salesforce, and Zoom deliver software solutions via the cloud. Users can access these tools from any device with an internet connection, eliminating the need for installations and reducing IT overheads.

Big Data Analytics

Cloud platforms enable businesses to process and analyze large datasets efficiently. For example, e-commerce companies use tools like Google BigQuery or AWS Redshift to gain insights into customer behavior and improve decision-making.

Artificial Intelligence and Machine Learning

Cloud computing powers AI services like image recognition, language processing, and predictive analytics. Platforms such as IBM Watson and Google AI allow developers to integrate smart functionalities into their applications without extensive infrastructure.

Hosting and Web Applications

Cloud-based hosting solutions like AWS, Azure, and Google Cloud Platform support scalable websites and applications. They adapt to traffic demands dynamically, ensuring optimal performance during peak usage times.

Remote Work and Collaboration

Tools like Slack, Microsoft Teams, and Google Workspace rely on cloud technology to provide seamless communication and document sharing for remote teams. This enhances productivity and supports hybrid work models.

Gaming and Entertainment

Cloud gaming services like NVIDIA GeForce Now and Google Stadia allow users to play high-quality games without powerful hardware. Streaming platforms like Netflix and Spotify also leverage cloud computing for fast, reliable content delivery.

Education and E-Learning

Cloud platforms provide virtual classrooms and e-learning solutions. Services like Blackboard and Coursera enable students and educators to connect from anywhere, facilitating lifelong learning.

Healthcare

Cloud computing supports telemedicine, electronic health records (EHRs), and advanced diagnostics. Solutions like Microsoft Cloud for Healthcare enhance patient care while maintaining data security and compliance.

IoT and Smart Applications

The Internet of Things (IoT) relies on cloud infrastructure to store and process data from connected devices. This enables smart home systems, predictive maintenance in industries, and autonomous vehicles.


Virtualisation

Virtualization is a technology that creates virtual versions of physical resources, such as servers, storage, or networks. It allows multiple virtual environments to run on a single physical machine, enabling better resource utilization, cost efficiency, and flexibility. Each virtual environment operates independently, running its own operating system and applications.

Server Virtualisation

Server virtualization is a transformative technology that enables the creation of virtual machines (VMs), each emulating a physical server. These VMs operate independently, running their own operating systems (OS) and applications, fully isolated from other VMs on the same physical hardware. This ensures security, stability, and efficient resource management.

By consolidating multiple physical servers into a smaller number of virtualized machines, organizations can significantly enhance resource utilization, reduce operational costs, and simplify infrastructure management. Virtualization minimizes the need for extensive hardware, lowering power consumption and physical space requirements while increasing the flexibility and scalability of IT environments.

With server virtualization, businesses can streamline their IT operations, support rapid deployment, and adapt quickly to changing workloads, making it an essential component of modern IT strategies.

Desktop Virtualisation

Virtual desktop technology provides users with virtual desktops that can be accessed remotely from any device, offering flexibility and convenience. This approach enhances productivity by enabling work from anywhere while maintaining centralized control over resources and data.

Two key forms of desktop virtualization are:

  • Virtual Desktop Infrastructure (VDI): Each user is assigned their own isolated operating system (OS) and applications, running as a dedicated virtual desktop on the host server. VDI ensures high levels of customization, security, and performance, making it ideal for scenarios requiring personalized work environments.

  • Session-Based Desktop Virtualization: Multiple users share a single server session, accessing a common desktop environment simultaneously. This method is highly resource-efficient, reducing costs while supporting shared workflows and collaboration.

Both approaches enable organizations to simplify IT management, strengthen security, and offer scalable, remote access solutions tailored to their needs.

Storage virtualisation

Storage virtualization brings together physical storage devices from different vendors or systems into a single, centrally managed storage pool. This unified approach simplifies storage management and maximizes resource efficiency.

Key advantages of storage virtualization include:

  • Efficient Storage Allocation: Storage resources can be easily allocated or adjusted as needed, ensuring optimal use and reducing waste.

  • Enhanced Data Availability: By distributing data and creating redundancy, virtualization improves accessibility and minimizes downtime.

  • Simplified Backups: Centralized management makes backups faster, more reliable, and easier to handle, streamlining disaster recovery processes.

With storage virtualization, organizations can optimize their storage infrastructure, cut costs, and ensure their data is always accessible and protected.

Network virtualisation

Network virtualization creates virtual networks that operate independently of the physical network infrastructure beneath them. This technology allows businesses to abstract and segment their networks, providing greater flexibility and control.

Key benefits of network virtualization include:

  • Flexible and Scalable Network Configurations: Virtual networks can be easily customized and scaled to meet changing demands, supporting dynamic workloads and business growth.

  • Enhanced Security: By isolating virtual networks and applying tailored security policies, organizations can better protect their data and systems from threats.

  • Simplified Network Management: Centralized control and automation make managing complex network environments easier and more efficient.

Network virtualization empowers organizations to optimize their network infrastructure, improve security, and adapt quickly to evolving needs.

Application Virtualisation

Application virtualization shifts the focus from hardware to software, enabling applications to be packaged and run independently of the underlying operating system (OS). This abstraction ensures that applications function seamlessly, regardless of the system they’re deployed on.

Key benefits of application virtualization include:

  • Simplified Deployment and Management: Applications can be centrally managed, deployed quickly, and updated without disrupting end users, saving time and reducing complexity.

  • Cross-Platform Compatibility: Virtualized applications can run on different operating systems, allowing greater flexibility and eliminating compatibility issues.

By decoupling applications from their underlying OS, application virtualization enhances efficiency, streamlines IT operations, and provides a more flexible approach to application delivery.

Hypervisors

Server Virtualization: A Hypervisor-Driven Approach

Server virtualization uses hypervisor technology to establish a virtual layer atop physical server hardware. This layer manages the allocation of resources—processing power, memory, storage, and networking—across multiple virtual machines (VMs) hosted on the same server.

Each VM operates independently, with its own operating system (OS) and applications, fully isolated from others.

Key Benefits of Server Virtualization

  • Optimized Resource Utilization. By consolidating workloads from multiple physical servers onto fewer machines, organizations can achieve significantly higher server utilization rates.

  • Centralized Monitoring and Management. Hypervisors offer centralized tools for tracking VM performance, allocating resources, and assessing overall system health, ensuring efficient operations.

  • Enhanced Reliability and Redundancy. In the event of a physical server failure, VMs can be quickly migrated to another host with minimal disruption. Additionally, VMs are easy to back up and restore, supporting robust disaster recovery plans.

  • On-Demand Scalability. Hypervisors enable rapid creation and deployment of VMs, often within minutes, ensuring flexibility to meet changing business demands.

Hypervisor Configurations

There are two primary configurations for hypervisors, each tailored to specific use cases and performance needs:

  1. Bare-Metal (Type 1) Hypervisor Bare-metal hypervisors operate directly on physical server hardware, bypassing the need for an underlying operating system (OS).

    Advantages:

    • Superior Performance: Without an OS layer mediating hardware access, bare-metal hypervisors offer optimal performance for virtual machines (VMs), making them ideal for resource-intensive workloads.
    • Resource Efficiency: These hypervisors require minimal system resources, leaving more CPU, memory, and storage capacity available for VMs.
    • Enhanced Security: With no underlying OS to introduce vulnerabilities, bare-metal hypervisors provide a secure foundation for virtualized environments.

    Use Cases: Ideal for enterprise-grade virtualization, data centers, and performance-critical applications.

  2. Hosted (Type 2) Hypervisor Hosted hypervisors run as software applications on top of an existing OS, leveraging its infrastructure.

    Advantages:

    • Ease of Use: They are simpler to install and manage, making them accessible for environments with limited virtualization expertise.
    • Flexibility: Hosted hypervisors integrate well with the existing OS, allowing for quicker deployment.

Challenges: Performance Impact: Since they compete with the host OS for system resources, overall performance may be reduced, particularly for VMs. Security Concerns: Relying on the host OS introduces potential vulnerabilities, necessitating robust OS hardening and security practices.

Use Cases: Best suited for testing, development, or environments with lighter virtualization needs.