0% found this document useful (0 votes)
19 views14 pages

Cloud Computing Internals 2

Uploaded by

Ananya Lokesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views14 pages

Cloud Computing Internals 2

Uploaded by

Ananya Lokesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Here is a more detailed list of six advantages and six disadvantages of virtualization:

Advantages:

1. Isolation and Security: Virtual machines (VMs) can operate independently, allowing secure
environments where potentially harmful applications are restricted to their virtual hosts.

2. Controlled Resource Allocation: Resources can be partitioned and allocated to different VMs
as needed, enabling fine-tuned resource management, essential for efficient server
consolidation.

3. Scalability and Flexibility: Virtual environments can be quickly scaled up or down, offering
flexibility to meet changing demands without requiring new physical infrastructure.

4. Cost Savings on Hardware: Virtualization reduces the need for multiple physical machines, as
multiple VMs can run on a single host, lowering hardware and energy costs.

5. Improved Disaster Recovery: VMs can be easily backed up, moved, and restored, making
disaster recovery processes more efficient and reducing downtime risks.

6. Enhanced Resource Utilization: By maximizing resource sharing across multiple virtual


instances, virtualization promotes optimal usage of underlying hardware, increasing overall
efficiency.

Disadvantages:

1. Performance Overhead: VMs experience latency due to the extra abstraction layer, causing
slower execution compared to running on bare metal, especially in hardware virtualization.

2. Resource Competition: The virtual machine manager (VMM) or hypervisor competes for
resources with other applications on the host, potentially degrading VM performance.

3. Limited Access to Host Features: Not all host features, like specific device drivers or certain
hardware optimizations, are accessible to VMs, limiting their capabilities.

4. Security Risks: Virtualization can introduce security vulnerabilities, such as phishing attacks
through host emulation, which can extract sensitive information from guest systems.

5. Management Complexity: Running multiple VMs requires advanced management and


monitoring tools, adding to complexity and potential for configuration errors.

6. Higher Licensing and Maintenance Costs: Although hardware costs are reduced, licensing
and maintenance of virtualization software and tools can add expenses, potentially offsetting
some savings.

Xen: Paravirtualization

- **Overview**: Xen is an open-source virtualization platform developed initially at the University of


Cambridge, now backed by a large open-source community. It supports both desktop and server
virtualization and is used in cloud computing via the Xen Cloud Platform (XCP).

- **Architecture**: Xen uses a hypervisor, which runs in the highest privilege mode, to manage guest
operating system access to hardware.
- **Domains**: Guest operating systems run in isolated domains, with a special privileged domain
called **Domain 0** managing other guest OSs and handling VM operations like creation,
configuration, and termination.

- **x86 Privilege Model**: The x86 architecture has four privilege levels (rings). Xen uses **Ring 1**
for guest OS operations, as running in **Ring 0** could lead to faults due to restricted instructions.

- **Hypercalls**: To allow system calls without faults, guest OSs need to replace sensitive system
calls with **hypercalls** that interact with the Xen hypervisor, making control more secure.

- **Limitations**: Paravirtualization requires modifications to guest OS code. Open-source OSs like


Linux can be modified easily, but Windows typically requires **hardware-assisted virtualization**
due to closed-source limitations.

### VMware: Full Virtualization

- **Overview**: VMware’s platform supports **full virtualization**, where the hardware is


replicated for the guest OS, allowing it to run unmodified and unaware of the virtual environment.

- **Hypervisor Types**: VMware provides full virtualization through Type II hypervisors (for
desktops) and Type I hypervisors (for servers).

- **Execution Mechanism**: Full virtualization is achieved by **direct execution** of non-sensitive


instructions and **binary translation** for sensitive ones, enabling the virtualization of x86
architecture.

### Cloud Computing Architecture: Layered View of the Stack

Cloud computing architecture can be organized into layers, from hardware to application services,
creating a comprehensive stack of resources:

1. **Infrastructure Layer**:
- This layer consists of physical resources, often located in data centers, including clusters and
networked PCs. These resources are used to provide the computational power for cloud services and
can also include storage and database systems.

- The physical infrastructure may be heterogeneous, supporting diverse hardware configurations


and operating systems.

2. **Virtualization Layer**:

- At the base of the stack, virtualization enables resource customization, application isolation,
sandboxing, and quality of service. Hardware virtualization, managed by hypervisors, partitions
resources (CPU, memory) and virtualizes devices, allowing users to run isolated environments with
specific configurations.

- Virtual machine technology is prominent here, helping manage and distribute resources efficiently
across multiple users and applications.

3. **Middleware Layer**:

- This layer manages the cloud infrastructure, providing a runtime environment and optimally
utilizing resources. It supports programming-level virtualization for portable environments where
applications developed in languages like Java, .NET, or Python can operate seamlessly.

4. **Service Models**:

- **Infrastructure-as-a-Service (IaaS)**: Offers raw virtual infrastructure (e.g., VMs), where users
can install and manage their own software stack. Some IaaS solutions provide both the infrastructure
and management, while others (IaaS(M)) offer only a management layer, integrating with existing
infrastructure.

- **Platform-as-a-Service (PaaS)**: Provides a platform for developing cloud-based applications. It


includes user-level APIs, web interfaces, and programming frameworks, allowing users to create
applications specifically for the cloud environment.

- **Software-as-a-Service (SaaS)**: Delivers applications directly to end users, often as web-based


services, leveraging cloud resources to serve large user bases. Examples include social media
platforms and online gaming portals.

5. **Everything-as-a-Service (XaaS)**:

- The XaaS model extends beyond IaaS, PaaS, and SaaS, integrating various cloud services into a
complete, cohesive solution. XaaS allows cloud service providers to combine multiple offerings to
cover the full computing stack, providing flexibility and customizability to meet diverse business
needs.
This layered architecture enables cloud providers to offer scalable, customizable solutions across a
range of applications, from infrastructure to software services.

### Infrastructure/Hardware-as-a-Service (IaaS/HaaS) Reference Implementation

IaaS/HaaS solutions provide on-demand, customizable infrastructure through hardware


virtualization. This allows virtual machines (VMs) to be configured and interconnected, forming
distributed systems for deploying applications. Key benefits of IaaS/HaaS include workload
partitioning, application isolation, and reduced hardware costs for customers.

The **IaaS architecture** has three main layers:

1. **Physical Infrastructure Layer**:

- Consists of data centers or clusters that host hundreds to thousands of physical nodes.

- Resources are heterogeneous, meaning different setups (e.g., PCs, workstations, clusters) can be
aggregated based on needs. Large public cloud providers like Amazon use massive data centers,
while smaller setups may use clusters or networked PCs.
2. **Infrastructure Management Software Layer**:

- This layer manages VMs and coordinates core functions. A scheduler component allocates VM
resources and coordinates with other key components:

- **Pricing and Billing**: Manages costs associated with VM usage.

- **Monitoring**: Tracks performance and maintains execution records.

- **Reservation**: Manages VM instance schedules for past, present, and future use.

- **QoS/SLA Management**: Ensures VMs meet service level agreements, maintaining consistent
quality of service.

- **VM Repository**: Provides a catalog of available VM images, allowing users to select or


upload custom configurations.

- **VM Pool Manager**: Tracks active VMs within the infrastructure.

- **Provisioning**: Integrates additional resources from external IaaS providers when needed.

3. **User Interface Layer**:

- Provides access to IaaS services through Web 2.0 interfaces, RESTful APIs, or Web services. These
allow seamless access and management, enabling both full-featured consoles for human users and
programmatic access for applications.

This architecture supports complete IaaS solutions for public clouds (e.g., Amazon, Rackspace) that
provide all three layers, as well as partial solutions that integrate with third-party IaaS providers or
manage private infrastructures (e.g., Eucalyptus, VMware). This flexibility makes IaaS a powerful
solution for diverse use cases, from large-scale cloud deployments to small enterprise setups.
### Platform-as-a-Service (PaaS) Reference Model

Platform-as-a-Service (PaaS) solutions provide a cloud-based development and deployment


environment, allowing applications to run without direct management of the underlying
infrastructure. The core of PaaS is a middleware layer that handles application deployment,
component configuration, and provisioning of additional services (e.g., load balancers, databases) to
simplify application scalability and management.

#### Key Features of PaaS:

1. **Runtime Framework**: This software stack runs end-user code according to preset policies,
forming the foundation of PaaS.

2. **Abstraction**: Unlike IaaS, which offers access to raw infrastructure, PaaS focuses on supporting
cloud-based applications, abstracting infrastructure concerns.

3. **Automation**: PaaS automates deployment and scaling, dynamically provisioning resources


based on demand and service-level agreements (SLAs).

4. **Cloud Services and APIs**: Developers are provided with APIs and services for easier creation,
monitoring, and management of applications, with options for integrating third-party services using
standard protocols.

#### Types of PaaS:

PaaS solutions can be grouped into three main categories:


- **PaaS-I**: Fully cloud-native platforms with integrated development environments (IDEs) hosted
on the web (e.g., Force.com).

- **PaaS-II**: Focuses on providing infrastructure specifically for scalable web applications.

- **PaaS-III**: Offers general-purpose cloud platforms supporting diverse applications (e.g.,


Microsoft Azure).

#### Vendor Lock-in Challenge:

PaaS environments are often tied to specific APIs and runtimes, which can make applications highly
dependent on a single provider. This dependency can create challenges if an application needs to be
moved to a different provider or environment.

PaaS is a powerful cloud solution for developers, reducing infrastructure concerns and enabling rapid
application deployment and management, though users must consider the risk of vendor lock-in
carefully.

### Public Clouds Summary

Public clouds represent the earliest and most widely used form of cloud computing. They offer
scalable services via the Internet to a broad audience, accessible to anyone, anywhere, and anytime.
Public clouds typically comprise multiple interconnected data centers, providing an infrastructure
that is flexible and affordable for organizations, especially small businesses, who can leverage this
model to reduce initial IT costs. By renting infrastructure or subscribing to services, companies can
scale their resources up or down to meet demand, making public clouds ideal for handling peak
loads.

#### Key Features of Public Clouds:

- **Multitenancy**: Public clouds are designed for multiple users, ensuring each customer has a
secure, isolated virtual environment. Multitenancy supports accountability and QoS (Quality of
Service) by monitoring usage, billing accurately, and maintaining usage histories.

- **Service Variety**: Public clouds can offer IaaS, PaaS, or SaaS. Examples include Amazon EC2
(IaaS), Google App Engine (PaaS), and Salesforce (SaaS).

- **Scalability**: Public clouds are built to scale on demand, handling large user loads with flexibility.

- **Global Datacenter Network**: Public clouds often have geographically distributed data centers
(e.g., Amazon's AWS data centers in the U.S., Europe, and Asia) to optimize performance and reduce
latency. These regions are priced variably and are further divided into availability zones.
Public clouds allow enterprises to either completely replace or augment their local IT infrastructure,
supporting rapid growth without the overhead of physical infrastructure management.

### Private Clouds Summary

Private clouds are virtual systems that operate on private infrastructure to provide internal users
with dynamic computing resources, allowing organizations to leverage existing IT infrastructure while
maintaining in-house control over operations. Billing structures may vary, enabling resource usage-
based departmental billing within enterprises. Private clouds offer improved security, ensuring
sensitive information remains within the organization, while also enabling cost-effective testing
before potential deployment on public clouds.

#### Key Benefits of Private Clouds:

1. **Enhanced Security**: Customer data remains in-house, reducing exposure to potential risks
associated with public cloud providers.

2. **Service Level Agreement (SLA) Assurance**: Private clouds allow custom configurations for
clustering, failover, replication, and disaster recovery, meeting application-specific uptime
requirements.

3. **Compliance**: Private clouds make it easier to adhere to organizational and regulatory


standards, which may not be feasible on public infrastructures.

#### Architecture and Technologies:

Private clouds often utilize the existing IT infrastructure (datacenters, clusters, desktop grids) and are
managed by various virtualization technologies like **Xen**, **KVM**, and **VMware**. For
Infrastructure as a Service (IaaS), solutions such as **VMware vCloud** (proprietary),
**Eucalyptus**, and **OpenNebula** (open-source) help manage virtual infrastructure.

#### Additional Tools:

Private clouds can be further enhanced with platforms like:

- **OpenPEX**: Allows web-based reservation of virtual machine instances.

- **InterGrid**: Adds support for multi-domain cloud management.

- **Aneka**: A development platform for deploying private clouds, supporting distributed


programming models like MapReduce.

These solutions offer robust, secure, and customizable infrastructures that help organizations
maximize resource efficiency while maintaining full control over IT operations.
### Hybrid Clouds Summary

Hybrid clouds integrate private and public cloud infrastructures, allowing enterprises to retain
sensitive operations in-house while leveraging public cloud resources for scaling on demand. This
setup provides flexibility, enabling companies to handle peak loads without sacrificing security by
limiting sensitive data to private resources. The hybrid approach, also known as a heterogeneous
cloud, combines private cloud stability with the scalability of public resources through dynamic
provisioning, where external resources are temporarily leased and released as needed.

#### Key Features and Benefits:

1. **Scalability**: Hybrid clouds address private cloud limitations by providing on-demand access to
additional resources from public clouds.

2. **Security**: Sensitive data remains within the private infrastructure, with less secure operations
directed to the public component.

3. **Cost Efficiency**: Advanced scheduling manages dynamic provisioning, optimizing costs by


allocating public resources only when necessary.

#### Infrastructure Management:

Hybrid clouds often use **infrastructure management software** like **OpenNebula** and
**InterGrid**, which integrate with public cloud providers (e.g., Amazon EC2). Scheduling engines
such as **Haizea** enhance cost-based allocations, while **InterGrid** uses a distributed
scheduling engine to manage allocations across local clusters and public clouds based on user
budgets and peer network agreements.

#### PaaS and Dynamic Provisioning:


Platform-as-a-Service (PaaS) solutions, including **Aneka**, support hybrid deployments with
dynamic provisioning, ensuring application performance through budget-aware scheduling. Solutions
like **Elastra CloudServer** and **Zimory Pools** also enable hybrid cloud implementation by
supporting resource scaling and distributed application execution to meet Quality of Service (QoS)
requirements.

Hybrid clouds, therefore, offer a balanced solution that provides scalability, cost optimization, and
controlled data security by seamlessly combining private and public cloud capabilities.

### Community Clouds Summary

Community clouds are collaborative cloud infrastructures shared by organizations within a specific
industry, community, or sector. Unlike public clouds, which serve diverse users, or private clouds,
which are limited to a single organization, community clouds are tailored to shared needs and
concerns, such as compliance and policy. Managed by either the community members or third
parties, these clouds may be hosted on-premises or off-premises.

#### Key Sectors for Community Clouds:

1. **Media Industry**: Community clouds facilitate business-to-business collaboration and support


resource-intensive tasks like data movement and rendering, benefiting content production.

2. **Healthcare Industry**: They allow for information sharing and process automation while
securely storing sensitive patient data in private clouds.
3. **Energy and Core Industries**: Community clouds provide a fair marketplace for vendors and
partners, supporting comprehensive service management and orchestration.

4. **Public Sector**: Governments use community clouds for processes like infrastructure planning
and public hearings, ensuring data control and regulatory compliance.

5. **Scientific Research**: Science clouds are a common example, allowing organizations to share
infrastructure for scientific computing.

#### Benefits of Community Clouds:

- **Openness**: Fosters competition by reducing vendor dependency.

- **Community Support**: Scalable as it expands with user participation.

- **Resilience**: Lacks a single point of failure due to distributed management.

- **Convenience and Control**: Owned and controlled by the community, ensuring democratic
decision-making.

- **Environmental Sustainability**: Lowers carbon footprint by utilizing shared resources and


adjusting to community demand.

Community clouds thus provide a balanced solution of convenience, control, and environmental
consciousness, particularly suited to sectors with shared goals and regulatory requirements.

### Economics of Cloud Computing Summary


Cloud computing transforms traditional IT cost structures by converting capital expenditures into
manageable operational expenses. This shift reduces the financial burden of purchasing and
maintaining IT assets and lowers associated costs like depreciation, maintenance, and licensing fees.

#### Key Benefits of Cloud Computing:

1. **Reduced Capital Costs**: Enterprises avoid upfront expenses on IT hardware and software,
moving instead to a model where resources are rented as needed.

2. **Elimination of Depreciation Costs**: Cloud services reduce or eliminate the depreciation of


physical IT assets, as they are managed by cloud providers.

3. **Subscription-Based Software**: Replaces one-time software licensing with flexible


subscriptions, reducing long-term IT expenditures.

4. **Lower Maintenance and Administration Costs**: Cloud infrastructure reduces the need for
internal IT management and maintenance staff, lowering operational costs.

#### Savings for Different Enterprises:

- **Large Enterprises**: Cloud adoption reduces data center maintenance, power, cooling, and
administrative staffing costs.

- **Small Startups**: Entirely reliant on the cloud, startups can manage CRM, ERP, and software
development without the need for heavy IT investments.

Cloud adoption also minimizes indirect costs:

- **Software Licensing and Support**: Subscription-based access to cloud applications eliminates


upfront licensing fees.

- **Reduced Carbon Footprint**: Cloud consolidation enables eco-friendlier operations, cutting


emissions and possibly reducing carbon taxes in countries where such emissions are taxable.

#### Cloud Pricing Models:

1. **Tiered Pricing**: Fixed specifications with varying prices per time unit based on service levels
(e.g., Amazon EC2 offers multiple server configurations).

2. **Per-Unit Pricing**: Charges based on specific service units (e.g., RAM/hour in GoGrid).

3. **Subscription-Based Pricing**: SaaS providers offer recurring subscriptions, which simplify


budgeting for software expenses.

In summary, cloud computing optimizes IT expenditure, aligns costs with usage, and supports
scalable and sustainable business operations through varied pricing models.
### Open Challenges in Cloud Computing

Cloud computing, while transformative, presents several ongoing challenges. These challenges span
definitions, interoperability, scalability, security, and organizational adaptations, each of which is
evolving to meet the needs of modern enterprises.

#### 1. Cloud Definition

Defining cloud computing remains a complex task, with various frameworks:

- **NIST Definition**: The widely accepted definition includes five essential characteristics (e.g., on-
demand self-service, broad network access), three service models (SaaS, PaaS, IaaS), and four
deployment models (public, private, hybrid, community).

- **Alternative Classifications**: Other frameworks, like Linthicum's 10-class taxonomy and UCSB's
ontology, propose layers such as applications, environments, infrastructure, kernel, and hardware.
These frameworks suggest different ways to interact with and understand cloud layers and services.

#### 2. Cloud Interoperability and Standards

Interoperability and standardization are crucial for widespread cloud adoption:

- **Vendor Lock-in**: Many enterprises fear reliance on a single vendor, which can complicate
migration and increase costs.

- **Standardization Efforts**: Organizations like CCIF and DMTF Cloud Standards Incubator are
working to establish standards, but most efforts focus on IaaS, where proprietary formats hinder
virtual machine migration across vendors.

- **API Consistency**: Lack of standardized APIs limits compatibility, though some IaaS vendors
provide Amazon Web Services (AWS)-compatible APIs as a partial solution.

#### 3. Scalability and Fault Tolerance

Scalability is a key feature of cloud computing, but with challenges:

- **Design for Scalability**: Cloud systems must support large, dynamic loads, which increases
administrative and maintenance costs.

- **Fault Tolerance**: Ensuring fault tolerance is critical, sometimes more so than performance
optimization, to maintain reliable service under high-demand scenarios.

#### 4. Security, Trust, and Privacy

Security and privacy remain significant barriers:


- **Virtualization Risks**: Virtual environments expose data to new threats, as memory pages of
applications may be accessible to virtual machine managers.

- **Trust and Liability**: The lack of control over data and third-party service dependencies
introduces liability concerns, especially in cases of data breaches or privacy violations, making it hard
to establish a clear responsibility chain.

#### 5. Organizational Aspects

Adopting cloud solutions requires cultural and structural changes within enterprises:

- **IT Department Role**: As IT services move to the cloud, the role of traditional IT departments
shifts towards vendor management and strategic oversight.

- **Compliance and Control**: Compliance activities and risk management must adapt to reduced
control over workflows.

- **User Perception and Adaptation**: Changes in data control and service delivery impact end-user
trust and satisfaction.

Overall, while cloud computing offers advantages, challenges in interoperability, scalability, security,
and organizational adaptation must be addressed to ensure sustainable and secure cloud adoption.

You might also like