Cloud Computing 600 – summary
Topic 1
1.2 History and Evolution of Cloud Computing
• The concept of cloud computing originates from utility computing, first proposed in 1961 by
John McCarthy.
• In 1969, Leonard Kleinrock of the ARPANET project highlighted early ideas related to shared
computing resources.
• From the mid-1990s, the public started using Internet-based services like Yahoo, Google,
Hotmail, Gmail, and social media platforms (e.g., MySpace, Facebook, YouTube, Twitter),
which helped popularize core ideas of cloud computing.
• In the late 1990s, [Link] introduced cloud-based services to businesses.
• In 2002, Amazon launched AWS, offering cloud-based storage and computing services.
• The term "Network Cloud" was used in the early 1990s in networking to describe abstract
data delivery across networks, setting foundational ideas for cloud computing.
• In 2006, the term "cloud computing" became commercially recognized, with Amazon EC2
and Google Apps providing enterprise-level browser-based services. Google App Engine
followed in 2009.
1.3 The History of Computing Models
• Cloud computing evolved from previous computing models and technologies; it didn't appear
suddenly.
• It is not necessarily the final computing model but one that fits current business and
technical needs.
• Cloud computing integrates multiple older models:
o Client/server model – similar in how users access cloud services.
o Automatic computing – reflected in cloud’s auto-scaling features.
o Grid computing – seen in how cloud systems pool and allocate resources.
Introduction to Cloud Computing
Cloud computing is a model that delivers scalable, on-demand IT resources (e.g., servers, storage,
apps) over the internet with minimal user management. It enables users to store and access data
remotely instead of on local hardware.
• IBM's view: It emphasizes delivering software, services, and processing over public/private
networks.
• Eric Schmidt (Google): Highlights cloud's scalability and network-based access across
multiple devices.
Driving Forces Behind Cloud Computing
Cloud computing gained traction due to several key developments:
1. Improved Internet Bandwidth – Faster internet (broadband, 4G/5G) supports remote access
to cloud services.
2. Technology Maturity – Advancements like virtualization and distributed computing make
cloud models practical.
3. Mobile Internet Growth – Smartphones/tablets demand synchronized access to data from
anywhere.
4. Data Center Evolution – Modern data centers operate efficiently and are central to cloud
service delivery.
5. Economic Factors – Cloud reduces IT costs via shared infrastructure and a pay-as-you-go
model.
6. Big Data Demands – Cloud supports large-scale data storage and processing that traditional
IT systems can't handle.
7. Other Supporting Factors:
o Better resource utilization
o Lower maintenance costs
o Stronger security
o Improved disaster recovery
Common Cloud Service Providers
• Microsoft Azure
• Amazon Web Services (AWS)
• Apple iCloud
• Google Cloud
• Dropbox
• Salesforce
• Oracle Cloud
Key Characteristics of Cloud Computing
1. On-Demand Self-Service – Users can provision resources without provider assistance.
2. Broad Network Access – Accessible from anywhere via internet-enabled devices.
3. Resource Pooling – Resources are shared among users dynamically.
4. Rapid Elasticity – Resources scale up/down automatically with demand.
5. Measured Service – Users pay only for what they use (“pay-as-you-go” model).
6. Multitenancy – Shared infrastructure serves multiple users securely.
7. Virtualization – Enables efficient resource allocation via virtual machines.
8. Automated Management – Resources are managed and scaled automatically.
9. Reliability & Redundancy – Built-in failover ensures high availability and disaster recovery.
10. Security – Strong protection through encryption, firewalls, identity management; responsibility
is shared between provider and user.
Factors to Consider Before Deploying Applications to the Cloud
1. Cost
o Cloud uses a pay-as-you-go model.
o Analyze cost structure for storage, bandwidth, and compute power.
o Estimate and budget to avoid unexpected bills.
2. Security
o Protect data both in transit and at rest.
o Use encryption, access controls, and ensure provider compliance (e.g., GDPR, HIPAA).
o Define strong authentication and security policies.
3. Scalability & Flexibility
o Design applications to scale dynamically with demand.
o Cloud enables easy resource allocation, but applications must be cloud-ready.
4. Reliability & Availability
o Check provider SLAs (Service Level Agreements) for uptime guarantees.
o Ensure redundancy and failover mechanisms for high availability.
5. Compliance & Legal Considerations
o Different industries/regions have specific legal regulations.
o Verify that the provider meets required certifications (e.g., ISO, SOC).
6. Vendor Lock-In
o Consider interoperability and portability.
o Avoid getting too dependent on one vendor to reduce switching costs and complexity.
Technologies Behind Cloud Computing
1. Virtualization
o Enables sharing of physical resources via logical abstraction.
o Allows multiple tenants to use the same hardware independently.
2. Grid Computing
o Connects distributed computers to solve large tasks.
o Breaks tasks into smaller chunks, distributed across a heterogeneous network.
3. Utility Computing
o Offers on-demand services with a metered, pay-per-use model.
o Forms the foundation of cloud, grid, and managed IT services.
Cloud Enabling Technologies
1. Broadband Network & Internet Architecture
o Cloud depends on high-speed internet for global access.
o Redundant networks ensure continuous availability despite failures.
o Overseen by regulators like ICANN, though locally governed by countries.
2. Data Center Technology
o Houses physical and virtual infrastructure.
o Modular, standardized designs improve efficiency.
o Features: automation, load balancing, and high availability.
3. Virtualization Technology
o Abstracts hardware to allow dynamic resource allocation.
o Central to cloud efficiency and scalability.
o Enables unified management of distributed resources.
4. Web Technology
o Powers user interaction via web apps.
o Key components:
▪ URL – Identifies resources.
▪ HTTP – Communication protocol.
▪ HTML/XML – Present and structure data.
o Follows three-tier architecture and MVC pattern for modularity.
5. Multi-Tenant Technology
o One app serves multiple users (tenants) securely and independently.
o Benefits:
▪ Usage & data isolation
▪ Customization
▪ Scalable updates
▪ Metered billing
6. Service Technology
o Enables "as-a-service" delivery.
o Standards used:
▪ WSDL – Describes APIs
▪ XML Schema – Defines data format
▪ SOAP – Communication protocol
▪ UDDI – Service discovery and integration
1.6 Concepts in Cloud Computing
Cloud
• A cloud is a distinct IT environment designed for remote provisioning of scalable and
measured IT resources.
• The term originated as a metaphor for the Internet, often shown as a cloud symbol.
• Clouds are finite environments, typically privately owned, offering metered access to IT
resources.
• Clouds may use Internet protocols but don't have to be Web-based.
IT Resource
• An IT resource can be software-based (e.g., virtual servers, applications) or hardware-based
(e.g., physical servers, network devices).
• Cloud environments host and provision these resources.
On-Premise
• Refers to IT resources hosted within a traditional enterprise IT environment, not cloud-
based.
• On-premise resources:
o Can interact with cloud-based ones
o Can be migrated to the cloud
o Can exist redundantly in both environments
Cloud Providers vs Cloud Consumers
• Cloud provider: Offers cloud-based IT resources
• Cloud consumer: Uses these resources
Scaling
• The ability of IT resources to adjust to usage demand.
• Horizontal Scaling: Adds/removes same type of resources (e.g., virtual servers). Common in
cloud environments.
o Scaling out = adding resources
o Scaling in = removing resources
• Vertical Scaling: Replaces a resource with one of higher or lower capacity.
o Scaling up = more capacity
o Scaling down = less capacity
o Less common in cloud due to downtime
Cloud Service
• Any IT resource made accessible via a cloud, such as:
o Web-based applications
o Remote tools
o Administrative interfaces
• Provides on-demand, remote functionality to clients.
Cloud Service Consumer
• A runtime role (usually a program or device) that accesses a cloud service.
• Can include:
o Software programs
o Laptops, mobiles, workstations running the software
1.7 Goals and Benefits of Cloud Computing
• Scalability, Availability, Reliability
• Access and manage applications online anytime
• No need for local software installation
• Offers development tools (via PaaS)
• Platform-independent access
• On-demand self-service
• Cost-effective, requires only an Internet connection
1.8 Risks and Challenges of Cloud Computing
1. Security and Privacy
• Major concern due to third-party control of sensitive data.
2. Limited Portability
• Difficult to migrate between cloud providers due to lack of industry standards.
3. Legal Issues
• Unclear data location raises compliance and privacy concerns across regions.
4. Security Vulnerabilities
• Cloud increases the trust boundary, which can be risky if security frameworks are
incompatible.
5. Vendor Lock-in
• Difficult to switch providers, leading to dependency on one CSP.
6. Insecure or Incomplete Data Deletion
• Data may not be completely removed, due to backups or shared storage systems.
7. Interoperability
• Integrating services from different platforms is complex, even though web services try to
support it.
Topic 2
2.2 Classification by Service Model
Cloud services are commonly categorized into three layers based on what they offer:
1. Infrastructure-as-a-Service (IaaS)
• Definition: Delivers computing infrastructure (e.g., virtual machines, storage, networks) over
the internet.
• Users: IT administrators and organizations needing full control over infrastructure.
• Examples: AWS EC2, Google Compute Engine.
• Key Characteristics:
o On-demand access via web
o Centralized management
o Elastic and scalable
o Shared physical infrastructure
o Preconfigured virtual machines
o Metered billing (pay-as-you-go)
• Benefits:
o Full administrative control
o Cost-effective resource rental
o Supports legacy apps
• Challenges:
o Data erasure concerns
o Security compatibility with older systems
o Isolation of virtual machines
2. Platform-as-a-Service (PaaS)
• Definition: Provides a platform for developers to build, test, and deploy applications without
managing the underlying infrastructure.
• Users: Developers and software engineers.
• Examples: Google App Engine, Salesforce, Azure App Services.
• Key Characteristics:
o Integrated development environment (IDE) for full app lifecycle
o Web-based access and offline development support
o Built-in scalability and collaboration tools
o Variety of client tools (CLI, APIs, Web UI)
• Benefits:
o Scalable and efficient
o Reduced maintenance
o Lower total ownership cost
• Challenges:
o Portability issues between PaaS platforms
o Event-driven processing limitations
o Security engineering complexities
3. Software-as-a-Service (SaaS)
• Definition: Delivers software applications over the internet, accessible through a browser.
• Users: End-users and businesses.
• Examples: Gmail, Google Calendar, Salesforce CRM, Dropbox.
• Key Characteristics:
o No local installation required
o Auto updates and maintenance handled by providers
o Subscription-based pricing (or free)
• Benefits:
o Easy access and usability
o Reduces IT overhead
o Cost-effective (pay-per-use)
• Challenges:
o Internet dependency
o Less customization
o Potential data security concerns
Cloud Deployment Models
A cloud deployment model defines how cloud infrastructure is owned, accessed, and managed. The
four primary models are:
1. Private Cloud
• Used by: A single organization.
• Location: On-premise or hosted by a third-party.
• Control: Full control over infrastructure.
• Benefits:
o High security and privacy.
o High customization and control.
o Reliable for sensitive data.
• Drawbacks:
o High cost for setup and maintenance.
o Limited scalability.
o Restricted to internal use only.
2. Public Cloud
• Used by: General public; owned by providers like AWS, Azure, GCP.
• Model: Shared infrastructure, multi-tenant.
• Benefits:
o Cost-effective with pay-as-you-go pricing.
o Highly scalable and flexible.
o High availability with global data centers.
• Drawbacks:
o Security concerns due to shared environment.
o Limited control over infrastructure.
o Risk of vendor lock-in.
3. Hybrid Cloud
• Combination of: Private and public clouds.
• Use Case: Sensitive workloads on private, scalable tasks on public.
• Benefits:
o Flexible workload placement.
o Scalable like public cloud, with security of private.
o Disaster recovery options.
• Drawbacks:
o Complex management and integration.
o Higher costs and potential networking/security issues.
4. Community Cloud
• Used by: Multiple organizations with common needs (e.g., government, education).
• Model: Shared resources, governance, and infrastructure.
• Benefits:
o Cost-sharing across organizations.
o Promotes collaboration.
o Better compliance and security than public cloud.
• Drawbacks:
o Governance complexity.
o Limited scalability.
o Security concerns due to shared use.
Topic 3
Virtualization Technology
Definition & Purpose:
Virtualization enables the creation of multiple virtual environments on a single physical system. It
abstracts IT resources—like servers, storage, and networks—into software-defined components,
increasing flexibility, scalability, and efficiency. Originally from IBM in the 1950s, it's now essential for
cloud computing and modern IT infrastructures.
Key Concepts:
• Virtual Machines (VMs): Run isolated environments with their own OS on a shared host.
• Host Machine: The physical system.
• Guest Machine: The virtual machine created.
• Hypervisor: The software/firmware that manages VMs.
Types of Hypervisors:
• Type 1 (Bare-Metal): Run directly on hardware (e.g., VMware ESXi, Microsoft Hyper-V).
• Type 2 (Hosted): Run on top of an OS (e.g., VirtualBox, VMware Workstation).
Core Benefits:
1. Efficient Resource Utilization: Multiple OSs share one machine, optimizing CPU, memory,
etc.
2. Cost Reduction: Less hardware, power usage, and extended lifespan of legacy systems.
3. Increased ROI: Better resource allocation and performance at lower costs.
4. Green IT: Energy savings through server consolidation.
5. Dynamic Workload Management: Load balancing, real-time scaling, and high availability.
6. Disaster Recovery & Security: Easy backup/migration and isolated, secure environments.
7. Simplified Administration: Centralized management and reduced hardware footprint.
Trends in Development:
• Openness to multiple vendors.
• Standardized protocols for compatibility.
• Enhanced client hardware.
• Secure private clouds within public infrastructure.
Disadvantages of Virtualization:
1. High Initial Cost: Requires investment in hardware, hypervisor licenses, storage, networking,
and migration efforts.
2. Scalability Challenges: Bottlenecks can occur if resources aren't properly allocated; scaling
needs careful planning and upgrades.
3. Requires Powerful Infrastructure: Needs high-end servers, ample RAM, and fast storage to
handle multiple virtual machines efficiently.
4. Security Risks: New vulnerabilities arise, such as hypervisor attacks or misconfigured
networks; requires strict security policies.
5. Specialized Skills Needed: IT staff must be trained in virtualization tech, making hiring and
training costly.
Virtualization Approaches:
1. Full Virtualization:
o Uses a hypervisor to simulate hardware.
o Each VM is independent and can run its own OS.
o Example: VirtualBox.
o Con: May reduce performance due to binary translation.
2. Para-Virtualization:
o Guest OS is aware of the virtual environment.
o Uses hypercalls to communicate with the hypervisor.
o Pro: Better performance.
o Con: Requires guest OS modification.
3. Hardware-Assisted Virtualization:
o Uses CPU features (e.g., Intel VT-x, AMD-V).
o Pro: Better performance and efficiency.
o Con: Not supported by all vendors.
Types of Virtualization (Based on Resource Being Virtualized):
1. Server Virtualization:
• Divides one physical server into multiple VMs.
• Each VM runs its own OS and applications.
• Managed via a hypervisor.
• Benefits: Cost savings, resource efficiency, centralized management, better security, and
disaster recovery.
• Adoption: Popularized by VMware; widely adopted by Microsoft, Google, Cisco, etc.
2. Host-Based Virtualization (OS-Level):
• Type 2 hypervisor runs on a host OS.
• Easier to set up; good for personal use and development.
• Con: Lower performance due to overhead.
• Examples: VMware Workstation, VirtualBox.
3. Hypervisor-Based Virtualization (Bare-Metal):
• Type 1 hypervisor runs directly on hardware.
• No underlying OS, leading to better performance and security.
• Examples: VMware ESXi, Microsoft Hyper-V, Citrix XenServer.
Types of Server Virtualization:
1. Full Virtualization:
o Strong VM isolation.
o Can run different OSs without modification.
o Con: Higher overhead.
2. Para-Virtualization:
o Guest OS modified for better interaction with hypervisor.
o Pro: Improved performance.
o Con: Less flexible due to OS modification.
3. Hardware-Assisted Virtualization:
o Uses CPU hardware features for performance.
o Pro: Efficient resource management and isolation.
o Use Case: High-performance virtual environments.
1. OS-Level Virtualization (Containerization)
• Description: Runs multiple isolated applications sharing the same OS kernel.
• Benefits: Lightweight, fast startup, ideal for cloud-native apps and rapid development.
• Limitations: Less isolation than full VMs due to shared kernel.
• Examples: Docker, LXC, Kubernetes.
2. Hybrid Virtualization
• Description: Combines full, para-, and OS-level virtualization to suit varied workloads.
• Benefits: Optimized performance, flexibility for both heavy and lightweight applications.
• Examples: VMware with Docker, Hyper-V with Windows Server Containers.
3. Virtual Machine Clustering
• Description: Groups VMs to work together for better availability and fault tolerance.
• Benefits: Ensures continuity in case of VM failure; supports load balancing.
• Examples: VMware vSphere HA, Hyper-V Failover Clustering.
4. OS Virtualization (Detailed)
• Description: Containers run on a shared host OS, providing isolated environments.
• Benefits: Low overhead, efficient resource use, quick scaling, good for CI/CD and
microservices.
• Challenges: Some processing overhead; less isolation than VMs.
• Technologies: Docker, Kubernetes, LXC.
5. Memory Virtualization
• Description: Abstracts physical memory and allocates it efficiently across VMs.
• Key Concepts:
o Page Tables: Map virtual to physical memory.
o Overcommitment: Allocates more memory than physically available.
o Ballooning: Reclaims/allocates memory dynamically.
o Transparent Page Sharing: Shares duplicate memory pages between VMs.
o Swapping/Paging: Uses disk when physical memory is full (can hurt performance).
6. Storage Virtualization
• Description: Pools multiple physical storage devices into one logical resource.
• Benefits: Simplifies management, improves scalability and efficiency.
• Types:
o Block-Level: Used in SANs for performance and flexibility.
o File-Level: Used in NAS for managing files.
o Unified: Combines both block and file-level in one platform.
7. Application Virtualization
• Description: Runs applications in virtual environments without installing them on the host.
• Types:
o Streaming: Apps delivered from a central server on-demand.
o Containerization: Isolated runtime environments with all dependencies.
o Remote Desktop: Access full desktops hosted on a server.
o Hypervisor-based: Apps run in their own isolated VMs.
• Benefits: Easier deployment, compatibility, and support for legacy apps.
8. Hardware Virtualization
• Description: Multiple OSs or VMs run on a single physical machine using a hypervisor.
• Components:
o Host Machine: Physical system with hypervisor.
o Guest Machines: Independent VMs running OS/apps.
o Hypervisor: Abstracts and allocates hardware to VMs.
• Benefits: Efficient resource use, workload isolation, flexibility.
Multitenant Technology Summary
Multitenancy is a software architecture where a single application instance serves multiple tenants
(customers), each with its own data, settings, and configurations, but within a shared
environment. While tenants share the application and infrastructure, their data remains logically
isolated and secure.
This model is commonly used in cloud computing and SaaS platforms, offering benefits like:
• Cost savings through shared resources
• Simplified maintenance and updates
• Easy scalability for adding new tenants
However, it also presents challenges such as:
• Complex customization and performance management
• Ensuring security and data isolation
Advantages:
• Reduces investment costs
• Easy to add new tenants
• Efficient maintenance of a single application
• Supports multiple tenants simultaneously
Disadvantages:
• Security concerns
• Limited ability to customize
• Rigid service level agreements
• Possible need for costly re-architecture
• Increased infrastructure and staffing costs
• Service delivery complexities
Topic 4
1. Introduction to Cloud Security
Cloud security involves protecting data, applications, and services hosted in the cloud through
policies, technologies, and practices. Since cloud infrastructure is managed by third-party providers
and stored off-premises, it brings unique challenges in ensuring confidentiality, integrity, and
availability of data.
Key Security Concerns
• Outsourcing sensitive data to cloud providers poses risks.
• A breach can lead to data loss, business damage, and loss of customer trust.
• Security measures like encryption, access control, firewalls, and intrusion detection are
essential.
• Multi-tenancy increases the need for data separation and protection.
Key Cloud Security Concepts
• Confidentiality
o Ensures data is accessible only to authorized users.
o Achieved through encryption, access control, and secure authentication.
• Integrity
o Ensures data remains accurate and unaltered.
o Maintained using hash functions, checksums, and audit logs.
• Availability
o Ensures services and data are accessible when needed.
o Achieved through redundancy, load balancing, and disaster recovery.
• Authenticity
o Verifies the source of data or interactions.
o Includes non-repudiation (prevents denial of action).
• Threat
o Any potential event that can cause harm to a system or data.
• Vulnerability
o A system weakness that can be exploited by threats.
o Examples: software bugs, configuration errors, poor architecture.
• Risk
o The likelihood of damage resulting from threats exploiting vulnerabilities.
• Security Controls
o Measures to detect, prevent, or respond to threats.
o Defined and implemented through security policies.
• Security Policies
o Set of rules governing the use and enforcement of security controls.
• Threat Agent
o An entity capable of carrying out a threat (e.g., hacker, malware).
• Trusted Attacker
o A malicious insider or user with valid access trying to exploit shared resources.
Common Cloud Security Threats
• Traffic Eavesdropping
o Unauthorized interception of data in transit.
o Compromises confidentiality.
• Denial of Service (DoS)
o Overloading cloud resources to make them unusable.
o Affects availability and performance.
• Virtualization Attack
o Exploiting vulnerabilities in virtual machines to access the underlying physical system.
• Malicious Intermediary
o Intercepts and possibly alters messages between cloud users and services.
• Overlapping Trust Boundaries
o Attackers exploit shared infrastructure to target other users.
• Flawed Implementation
o Poor system design/configuration making it vulnerable to attacks.
• Other Threats
o Malware Injection – Inserting malicious code into the cloud.
o Insecure APIs – Exploiting poorly designed APIs.
o Insider Threats – Malicious actions by internal users.
o Advanced Persistent Threats (APT) – Long-term, targeted attacks by skilled
adversaries.
5. Cloud Security Mechanisms
As data moves to the cloud, providers must implement strong security mechanisms. The expansion of
trust boundaries requires well-designed security architecture to reduce vulnerabilities and protect IT
resources from evolving threats.
4.2.1 Encryption
Encryption protects data confidentiality and integrity by converting plaintext into unreadable
ciphertext using cryptographic algorithms and keys.
• Symmetric encryption: Uses one key for encryption and decryption—fast but needs secure
key sharing.
• Asymmetric encryption: Uses a public/private key pair—more secure, enables non-
repudiation, but slower.
Encryption is vital for securing networks, cloud storage, and communications.
4.2.2 Hashing Mechanism
Hashing is a one-way cryptographic process that converts input data into a fixed-length hash value.
• It's irreversible and used for data integrity checks, password storage, and verifying messages.
• In cloud systems, hashing helps detect tampering during data transmission by comparing hash
values.
4.2.3 Digital Signature
A digital signature verifies the authenticity, integrity, and non-repudiation of data using public-key
encryption.
• The sender signs data with their private key, and the receiver verifies it using the public key.
• Common in secure communications, digital contracts, and software distribution.
4.2.4 Public Key Infrastructure (PKI)
PKI manages public-key encryption on a large scale, using digital certificates issued by trusted
Certificate Authorities (CAs).
• Ensures secure data exchange by validating identities and keys.
• Essential for cloud security, secure transactions, and preventing impersonation and man-in-
the-middle attacks.
4.2.5 Identity and Access Management (IAM)
IAM controls user authentication, authorization, and access to IT resources.
• Involves:
o Certification (e.g., passwords, biometrics)
o Authorization (role-based access control)
o User Management (roles, policies)
o Certificate Management
• Helps prevent unauthorized access and supports secure cloud resource usage.
4.2.6 Single Sign-On (SSO)
SSO allows users to log in once and access multiple cloud services without re-authenticating.
• Uses security tokens to maintain access across sessions.
• Improves user experience and reduces password fatigue while enhancing security.
4.2.7 Cloud-Based Security Group Mechanism
Cloud resources are segmented into security groups that define network boundaries and access
rules.
• Each resource belongs to at least one security group.
• Isolates threats: even if one group is compromised, others remain secure.
• Crucial in multi-tenant cloud environments to enforce separation and limit attack spread.
Topic 5
5.2 Workload Distribution Architecture
• Purpose: Distributes workloads across multiple identical IT resources using a load balancer.
• Benefits: Reduces over- and under-utilization of IT resources depending on the efficiency of
the load balancing logic.
• Use Cases: Applied to virtual servers, cloud storage, and services.
• Key Components:
o Load Balancer: Routes requests evenly.
o Audit Monitor: Ensures compliance based on where processing occurs.
o Cloud Usage Monitor: Tracks workload distribution.
o Hypervisor: Manages workload distribution across virtual servers.
o Logical Network Perimeter: Isolates workloads.
o Resource Cluster: Distributes workload across active cluster nodes.
o Resource Replication: Creates new resource instances based on workload.
5.3 Resource Pooling Architecture
• Purpose: Groups identical IT resources into pools managed for synchronization and
scalability.
• Types of Resource Pools:
o Physical Server Pool
o Virtual Server Pool
o Storage Pool
o Network Pool
o CPU Pool
o Memory Pool
• Sub-pooling: Multiple smaller pools can be grouped into a larger one.
• Supporting Mechanisms:
o Audit Monitor: Monitors compliance when using pooled data.
o Cloud Usage Monitor: Tracks pool usage.
o Hypervisor: Connects virtual servers to resource pools.
o Pay-Per-Use Monitor: Tracks usage and billing.
o Remote Admin System: Interfaces for managing pools.
o Resource Management System: Provides tools and permissions for managing pools.
o Resource Replication: Adds new resources to pools as needed.
5.4 Dynamic Scalability Architecture
• Purpose: Automatically adjusts resource allocation based on predefined scaling conditions.
• Types of Dynamic Scaling:
o Horizontal Scaling: Adds/removes resource instances (e.g., virtual servers).
o Vertical Scaling: Increases/decreases capacity of a single instance (e.g., more RAM or
CPU).
o Relocation: Moves resources to better-performing hosts.
• Use Cases: Adapts to varying workloads without manual intervention.
• Supporting Mechanisms:
o Cloud Usage Monitor: Tracks resource changes.
o Virtual Machine Monitor: Manages virtual machine instances.
o Pay-Per-Use Monitor: Collects usage cost data.
o Logical Network Perimeter: Organizes network resources during scaling.
5.5 Elastic Resource Capacity Architecture
This architecture dynamically allocates and adjusts virtual server resources (CPU, RAM) in real time
based on user demand. It relies on a monitoring system and automation scripts to interact with the
Virtual Machine Monitor (VMM) and Virtual Infrastructure Manager (VIM). Resources are added or
removed automatically to maintain performance and cost-efficiency. It supports vertical scaling and
includes mechanisms like load balancing, policy-driven management, and resource monitoring.
5.6 Service Load Balancing Architecture
Aimed at distributing cloud workloads efficiently, this architecture uses redundant cloud services
and a load balancer to balance incoming traffic. The load balancer can be external or integrated
within the servers and ensures efficient performance by redirecting traffic based on capacity and
demand.
5.7 Cloud Bursting Architecture
This enables on-premise resources to "burst" into the cloud when demand exceeds local capacity.
Cloud resources are pre-deployed and activated only when needed, then released after use. It uses
an automatic extension listener and resource replication to synchronize cloud and on-premise
data, providing on-demand scalability.
5.8 Cloud Storage Device
Cloud storage devices offer virtualized storage with pay-per-use models. They support various data
formats and access methods, ensuring remote availability. Security and legal concerns exist when
trusting third-party providers.
5.8.1 Cloud Storage Levels and Interfaces
• Files – Data stored in folders.
• Blocks – Smallest storage units, close to hardware.
• Datasets – Structured data in tables.
• Objects – Data with metadata, accessed via HTTP/REST.
Interfaces:
• Network – Uses protocols like SCSI, NFS.
• Object – Web-based storage using HTTP (e.g., CDMI).
• Database – Relational (SQL) and Non-relational (NoSQL).
Relational storage uses tables and SQL, good for structured data but harder to scale. Non-relational
storage (NoSQL) is more scalable and flexible for large, unstructured datasets.
5.9 Distributed Computing
In distributed computing, tasks are split across multiple computers to increase efficiency,
performance, and fault tolerance. Systems work together to solve problems and share resources.
Benefits:
• Scalability
• Fault tolerance
• Improved efficiency
• Cost-effectiveness
• Reliability, flexibility, and resource sharing
Disadvantages:
• Message loss
• Security concerns
• Overloading
• Complexity
• Network dependence
• High initial cost