Unit 1 - CC
Unit 1 - CC
4. Virtualization:
Virtualization is a technology that allows multiple virtual machines (VMs) to
run on a single physical server by creating a virtual version of that serverʼs
hardware resources. Each VM operates independently with its own
operating system, enabling more efficient use of physical resources.
Virtualization also allows better resource management, reduces costs, and
provides flexibility, making it a core component of cloud computing.
Examples include VMware and Hyper-V.
5. Scalability:
Scalability in cloud computing refers to the ability to increase or decrease IT
resources as needed. It comes in two forms:
Vertical Scaling (Scaling Up): Adding more power (e.g., CPU, memory)
to an existing machine.
Horizontal Scaling (Scaling Out): Adding more instances or machines to
distribute the workload. Scalability ensures that applications can handle
increased traffic without compromising performance, and resources
can be scaled down during periods of low demand to save costs.
6. Elasticity:
Elasticity is a core feature of cloud computing that allows resources to be
automatically scaled up or down depending on the workload demand. This
automatic adjustment of resources helps businesses handle traffic spikes
without manual intervention. Elasticity is important for optimizing
performance, maintaining cost efficiency, and providing the flexibility
needed to meet fluctuating demands, particularly in SaaS and web
applications.
7. On-Demand Self-Service:
On-demand self-service allows cloud users to provision, configure, and
manage computing resources (such as server time, storage, or network
capabilities) as needed, without requiring direct interaction with the service
provider. Users can access a self-service portal or API to request resources
at any time, making it easier to scale and deploy applications efficiently.
8. Pay-As-You-Go:
Pay-as-you-go (PAYG) is a billing model in cloud computing where users are
charged only for the resources they consume. This approach allows for
flexible spending, where organizations can scale up or down based on
demand, paying only for actual usage, whether it's storage, compute power,
or bandwidth. PAYG reduces waste and unnecessary capital expenditure on
unused infrastructure, offering a cost-effective alternative to traditional IT
spending.
9. Multi-Tenancy:
Multi-tenancy is a cloud architecture where multiple users (tenants) share
the same physical resources, such as servers or storage, while keeping their
data logically isolated and secure. Each tenantʼs data is kept separate from
others, but the underlying infrastructure is shared, allowing for better
resource utilization and cost efficiency. Itʼs a common model in SaaS
platforms where many customers use the same application with their own
individual configurations and data.
13. Containerization:
Containerization packages an application and its dependencies into a
standardized unit called a container, ensuring that the application runs
consistently in different environments. Containers are lightweight, portable,
and run independently of the underlying system, unlike virtual machines,
which require their own OS. Popular tools include Docker, which creates
containers, and Kubernetes, which orchestrates them for scaling and
deployment.
1. Roles:
Cloud computing typically involves different stakeholders, each with distinct
roles. Here are the primary roles in cloud computing:
2. Boundaries:
Boundaries define the limits of responsibility between the cloud provider
and the customer. Understanding the Shared Responsibility Model is crucial
for defining these boundaries, especially in terms of security, compliance,
and management.
3. Operational Boundaries:
Resource Management: Cloud providers are responsible for ensuring
the availability of physical resources (servers, storage, etc.), while
customers are responsible for provisioning and managing virtual
resources (VMs, databases).
Scaling: CSPs provide auto-scaling tools, but customers must configure
scaling policies for their applications based on expected traffic or
workloads.
Monitoring: While CSPs monitor the physical health of their
infrastructure, customers must monitor their own usage, performance,
and availability of their services (using tools like AWS CloudWatch or
Azure Monitor).
Understanding roles and boundaries in cloud computing helps both
providers and customers manage resources, responsibilities, and security
more effectively.
Cloud Computing Characteristics
1. On-Demand Self-Service:
This characteristic allows users to provision cloud services, such as
compute power, storage, or networking, automatically without requiring
human interaction with the service provider. Through a web interface or API,
users can request and control resources at any time, making it convenient to
scale and manage resources dynamically. The ability to self-service
reduces the time needed to deploy applications and infrastructure,
empowering businesses to quickly adapt to changing requirements and
workloads.
Example: In AWS, users can create and manage virtual machines (EC2
instances) or storage volumes (S3) via the AWS Management Console
without involving the cloud providerʼs staff.
3. Resource Pooling:
Cloud providers use a multi-tenant model, meaning that resources such as
compute, storage, and network bandwidth are pooled and shared among
multiple users (tenants). Resource pooling allows for more efficient use of
hardware, as it maximizes the utilization of resources by allocating them
dynamically to different customers based on demand. The end-users,
however, remain unaware of the exact physical location of their data or
services, giving the illusion of infinite resources.
Example: In Microsoft Azure, multiple customers can use the same
underlying server infrastructure for running virtual machines. The provider
dynamically allocates resources to each user based on their needs, while
ensuring data isolation and security.
4. Rapid Elasticity:
Elasticity in cloud computing refers to the ability to automatically scale
resources up or down based on demand. When an application experiences
high traffic, the cloud can automatically allocate more resources to handle
the load, and when demand decreases, the resources can be scaled back
down. This elasticity ensures that businesses can maintain optimal
performance during peak times without overpaying for resources during
off-peak times.
Example: AWS Auto Scaling allows applications to automatically increase or
decrease the number of running instances based on predefined conditions,
such as CPU usage or network traffic.
5. Measured Service:
Cloud systems automatically monitor, control, and optimize resource usage
by metering the resources consumed. Cloud providers implement a pay-as-
you-go pricing model where customers are billed only for what they use.
This metering could involve compute usage, storage, bandwidth, or even
the number of API calls. The measured service ensures transparency and
allows customers to track their consumption patterns and optimize costs.
Example: AWS provides detailed billing information, allowing users to see
their exact consumption of services such as storage (S3), compute time
(EC2), or database queries (RDS). Customers can view reports on resource
utilization, helping them manage costs effectively.
6. Scalability:
Cloud computing offers both vertical and horizontal scalability:
7. Security:
Cloud providers ensure a high level of security by implementing encryption,
identity and access management (IAM), network isolation, and other best
practices. Security in the cloud includes both physical security (such as
secure data centers) and logical security (encryption, firewalls). Customers
are often responsible for securing their own applications, data, and user
access policies in the cloud, based on the shared responsibility model.
Example: In AWS, features like Identity and Access Management (IAM) help
customers create user roles and policies to manage access to resources
securely. CloudTrail logs every API call, which provides audit trails for
security monitoring.
8. Multitenancy:
Multitenancy refers to the ability of cloud systems to serve multiple users
(tenants) on shared infrastructure while ensuring their data and resources
remain isolated from one another. This allows providers to use resources
more efficiently, reducing costs while still maintaining security and data
privacy for each tenant.
Example: In SaaS platforms like Salesforce, multiple businesses use the
same application, but their data is kept separate and secure, giving each
company a tailored experience without resource overlap.
9. High Availability:
Cloud computing ensures that applications and services remain available
and functional even in the face of failures or spikes in demand. High
availability is achieved by distributing resources across multiple data
centers (availability zones), ensuring redundancy. Cloud services are
designed to quickly recover from failures and maintain minimal downtime.
Key Features:
Virtualized Hardware: IaaS provides virtual machines (VMs), storage,
and networking capabilities. Users can rent these resources and run
their own software on them.
Scalability: IaaS allows dynamic scaling. Resources can be increased or
decreased based on user demand, ensuring optimal performance
without over-provisioning.
Examples:
Amazon Web Services (AWS): AWS offers EC2 (Elastic Compute Cloud)
as part of its IaaS offering, allowing users to rent virtual machines to run
applications.
Advantages:
High flexibility and control over infrastructure.
Ideal for businesses that want to avoid the cost and complexity of
buying and managing physical servers.
Easy to scale up or down based on business needs.
Disadvantages:
Requires users to manage the OS, middleware, and applications
themselves, which increases complexity for non-expert users.
Security management is partly the responsibility of the customer.
Key Features:
Development Tools: PaaS offers integrated development environments
(IDEs), databases, and development frameworks (e.g., Java, Python,
Node.js).
Managed Infrastructure: Users donʼt have to worry about managing the
underlying infrastructure. The cloud provider takes care of everything
from servers to storage.
Automated Scaling: PaaS platforms can automatically scale based on
the number of users or the workload on the application.
Examples:
Google App Engine: A PaaS service that allows developers to build and
run applications on Googleʼs infrastructure without managing servers.
Advantages:
Simplifies the development process by managing infrastructure,
allowing developers to focus on coding and innovation.
Reduces the complexity of deployment and management.
Automatic scaling and load balancing to handle high traffic.
Disadvantages:
Limited control over the infrastructure since the provider manages it.
Less flexibility compared to IaaS, as users must work within the
constraints of the platform.
Risk of vendor lock-in due to the use of proprietary development tools
and environments.
Key Features:
Access via the Internet: SaaS applications are typically accessed
through a web browser, and users donʼt need to install any software on
their devices.
Automatic Updates: SaaS providers handle software updates, security
patches, and maintenance, ensuring that the application is always up to
date.
Multitenancy: A single instance of the software serves multiple
customers (tenants), ensuring cost efficiency and scalability.
Examples:
Google Workspace (formerly G Suite): Includes cloud-based
productivity apps like Gmail, Google Drive, Docs, and Sheets.
Microsoft 365: A suite of cloud-based productivity applications,
including Word, Excel, PowerPoint, and Teams.
Salesforce: A cloud-based customer relationship management (CRM)
platform that helps businesses manage customer interactions and sales
pipelines.
Advantages:
No need to worry about infrastructure, maintenance, or updates.
Rapid deployment of software, allowing users to start using it almost
instantly.
Cost-effective for businesses, as they donʼt need to invest in hardware
or software licenses.
Accessible from any device with an internet connection, enabling
remote work.
Disadvantages:
Limited customization compared to on-premises software.
Data security and privacy concerns, as sensitive data is stored on third-
party servers.
Dependency on the SaaS provider for performance and uptime.
Potential vendor lock-in, where migrating to a different service may be
complex or costly.
SaaS
No control over
infrastructure or
software
Provider manages
everything
Cloud-based software
applications
Google Workspace,
Microsoft 365,
Salesforce
Conclusion:
The cloud delivery models (IaaS, PaaS, and SaaS) cater to different needs
and levels of control, flexibility, and responsibility. IaaS provides the most
control but requires the user to manage the infrastructure. PaaS simplifies
development by abstracting the infrastructure, but limits control over the
underlying platform. SaaS offers the least control, but it's the easiest to use
and provides fully managed software solutions for end-users.
By understanding these cloud delivery models, businesses and developers
can choose the right model based on their specific needs, whether they
require full control over the infrastructure, a managed development
environment, or a fully functioning software solution.
Deployment Model
In cloud computing, the Deployment Models define how cloud services are
deployed and made accessible to users. These models specify the access
and management environment in relation to the cloud infrastructure. There
are four primary cloud deployment models: Public Cloud, Private Cloud,
Hybrid Cloud, and Community Cloud. Each model offers different levels of
control, privacy, and scalability based on the organizationʼs needs.
Hereʼs a detailed explanation of each model that you can write about in your
university exam:
1. Public Cloud:
A Public Cloud is a cloud computing model where services and
infrastructure are provided to multiple customers over the internet by a
third-party cloud service provider. In a public cloud, resources such as
servers, storage, and applications are shared across multiple users or
tenants, but each user's data and applications remain isolated and secure.
The cloud provider manages the infrastructure and charges customers on a
pay-per-use basis.
Key Features:
Shared Infrastructure: Resources are shared among multiple users
(tenants), making public clouds highly scalable and cost-effective.
Cost-Effectiveness: Public cloud services follow a pay-as-you-go
model, meaning users only pay for what they use. This eliminates the
need for large upfront investments in IT infrastructure.
Accessibility: Public cloud services are accessible via the internet from
any location, making them ideal for businesses with remote or
distributed teams.
Examples:
Amazon Web Services (AWS): AWS provides a wide range of cloud
services, including compute, storage, and databases, to users
worldwide.
Microsoft Azure: Azure is a popular public cloud platform offering
solutions like virtual machines, app services, and cloud storage.
Advantages:
Cost-efficient with no need for investing in hardware or infrastructure.
High scalability, allowing businesses to easily increase or decrease
resources.
Fast deployment of services and applications.
The provider is responsible for maintenance, security, and updates.
Disadvantages:
Security and privacy concerns due to shared infrastructure.
Limited control over the infrastructure since it's managed by the cloud
provider.
Dependent on internet connectivity for accessing services.
2. Private Cloud:
A Private Cloud is a cloud infrastructure that is dedicated exclusively to a
single organization. Unlike the public cloud, the private cloud is hosted
either on-premises or by a third-party provider, but all resources are
dedicated to one organization. This model offers greater control, security,
and privacy since the infrastructure is not shared with other users.
Key Features:
Exclusive Use: The cloud infrastructure is used solely by one
organization, providing enhanced security and privacy.
Customization: Organizations have full control over the cloud
environment and can customize it according to their specific needs.
On-Premises or Hosted: Private clouds can be hosted on the
organizationʼs premises (on-premises private cloud) or by a third-party
provider (hosted private cloud).
Greater Security: As the infrastructure is dedicated to a single
organization, private clouds provide higher levels of security and
compliance.
Examples:
VMware: VMware offers private cloud solutions for businesses to
manage and run their private cloud environments.
OpenStack: OpenStack is an open-source platform that allows
organizations to create and manage private clouds.
IBM Cloud Private: IBM Cloud Private provides an enterprise-grade
private cloud environment.
Advantages:
Enhanced security, privacy, and compliance due to exclusive use.
Full control over the infrastructure, applications, and data.
Customizable to meet specific business needs.
Suitable for businesses with strict data protection and regulatory
requirements.
Disadvantages:
Expensive to set up and maintain compared to public clouds due to the
need for dedicated hardware and IT resources.
Limited scalability compared to public clouds.
Requires in-house expertise for management and maintenance.
3. Hybrid Cloud:
A Hybrid Cloud is a combination of both public and private clouds, allowing
data and applications to be shared between them. This model enables
businesses to use the best of both worlds by keeping sensitive data in a
private cloud while leveraging the scalability and cost-effectiveness of the
public cloud for less critical workloads. A hybrid cloud provides more
flexibility and control over the deployment of resources.
Key Features:
Integration of Public and Private Clouds: Hybrid clouds enable
seamless integration between private and public cloud environments,
allowing organizations to move data and applications between them as
needed.
Workload Optimization: Organizations can run critical and sensitive
workloads on private clouds while using public clouds for non-critical
tasks.
Scalability: Hybrid clouds provide scalability by allowing businesses to
scale workloads into the public cloud during peak demand.
Security and Flexibility: While critical data remains in the private cloud,
non-sensitive data can be stored in the public cloud, ensuring security
while providing cost benefits.
Examples:
Microsoft Azure Stack: Allows organizations to run Azure services on
their own data centers while integrating with the Azure public cloud.
AWS Outposts: AWS offers hybrid cloud solutions where organizations
can run AWS services on-premises while connecting to the AWS public
cloud.
Google Anthos: Google Anthos enables hybrid cloud deployments
across both Google Cloud and on-premises environments.
Advantages:
Flexibility to use both public and private cloud resources depending on
the business needs.
Optimizes cost by running non-critical workloads on the public cloud.
Enhanced security for sensitive data kept in the private cloud.
Scalable during periods of high demand by leveraging public cloud
resources.
Disadvantages:
Complex to manage due to the integration of two different environments
(public and private).
Potential security vulnerabilities if data transfer between public and
private clouds is not properly managed.
Requires a good understanding of both cloud environments for effective
management.
4. Community Cloud:
A Community Cloud is a cloud infrastructure shared by several
organizations that have similar requirements, such as security, compliance,
and policies. The infrastructure can be managed by one or more of the
participating organizations or by a third-party service provider. This model is
often used by government agencies, healthcare organizations, or industries
with strict regulatory requirements.
Key Features:
Shared Infrastructure: The infrastructure is shared among a specific
community of users with common goals or requirements, such as
industry standards or compliance needs.
Examples:
Government Clouds: Governments may create community clouds for
different departments or agencies to share data and resources while
maintaining compliance with government regulations.
Advantages:
Tailored to meet the specific needs of a community of organizations
with similar goals or regulatory requirements.
Cost-effective for organizations that can share the infrastructure while
ensuring compliance.
Higher security and privacy than public clouds, as access is limited to a
specific community.
Encourages collaboration and resource sharing among organizations.
Disadvantages:
Not as widely adopted as other cloud models, limiting availability.
High Moderate
Conclusion:
The cloud deployment models (Public, Private, Hybrid, and Community)
offer varying levels of control, security, and cost based on organizational
needs. Public Cloud is cost-effective and highly scalable but may have
security concerns. Private Cloud offers the highest level of control and
security, but at a higher cost. Hybrid Cloud balances flexibility, security, and
cost-effectiveness, making it suitable for businesses with fluctuating
demands. Community Cloud caters to organizations with similar
requirements, offering shared infrastructure with a focus on collaboration
and compliance.
By understanding these models, organizations can choose the best
deployment strategy to meet their specific needs regarding performance,
security, and cost efficiency.