0% found this document useful (0 votes)
92 views

Unit 1 Introduction To Cloud Computing

The document provides a detailed overview of the history and architecture of cloud computing. It discusses early models like client/server computing and distributed computing that preceded cloud. It then outlines the evolution of cloud computing from the 1960s to its mainstream adoption in the 2000s by companies like Amazon, Google, and Microsoft. The document also describes the architecture of cloud computing including front-end and back-end components as well as common cloud services and deployment models.

Uploaded by

yashgrover004
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views

Unit 1 Introduction To Cloud Computing

The document provides a detailed overview of the history and architecture of cloud computing. It discusses early models like client/server computing and distributed computing that preceded cloud. It then outlines the evolution of cloud computing from the 1960s to its mainstream adoption in the 2000s by companies like Amazon, Google, and Microsoft. The document also describes the architecture of cloud computing including front-end and back-end components as well as common cloud services and deployment models.

Uploaded by

yashgrover004
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

History of Cloud Computing

Before emerging the cloud computing, there was Client/Server computing which is basically a
centralized storage in which all the software applications, all the data and all the controls are
resided on the server side.

If a single user wants to access specific data or run a program, he/she need to connect to the server
and then gain appropriate access, and then he/she can do his/her business.
Then after, distributed computing came into picture, where all the computers are networked
together and share their resources when needed.

On the basis of above computing, there was emerged of cloud computing concepts that
later implemented.

At around in 1961, John MacCharty suggested in a speech at MIT that computing can be sold like a
utility, just like a water or electricity. It was a brilliant idea, but like all brilliant ideas, it was ahead
if its time, as for the next few decades, despite interest in the model, the technology simply was not
ready for it.

But of course time has passed and the technology caught that idea and after few years we
mentioned that:

In 1999, Salesforce.com started delivering of applications to users using a simple website. The
applications were delivered to enterprises over the Internet, and this way the dream of computing
sold as utility were true.

In 2002, Amazon started Amazon Web Services, providing services like storage, computation and
even human intelligence. However, only starting with the launch of the Elastic Compute Cloud in
2006 a truly commercial service open to everybody existed.

In 2009, Google Apps also started to provide cloud computing enterprise applications.

Of course, all the big players are present in the cloud computing evolution, some were earlier, some
were later. In 2009, Microsoft launched Windows Azure, and companies like Oracle and HP have
all joined the game. This proves that today, cloud computing has become mainstream.

Cloud computing architecture


Cloud computing architecture is a combination of service-oriented architecture and event-driven
architecture.

Cloud computing architecture is divided into the following two parts -

o Front End
o Back End

The below diagram shows the architecture of cloud computing -


Front End
The front end is used by the client. It contains client-side interfaces and applications that are
required to access the cloud computing platforms. The front end includes web servers (including
Chrome, Firefox, internet explorer, etc.), thin & fat clients, tablets, and mobile devices.

Back End
The back end is used by the service provider. It manages all the resources that are required to
provide cloud computing services. It includes a huge amount of data storage, security mechanism,
virtual machines, deploying models, servers, traffic control mechanisms, etc.

Components of Cloud Computing Architecture


There are the following components of cloud computing architecture -

1. Client Infrastructure

Client Infrastructure is a Front end component. It provides GUI (Graphical User Interface) to
interact with the cloud.

2. Application

The application may be any software or platform that a client wants to access.
3. Service

A Cloud Services manages that which type of service you access according to the client’s
requirement.

Cloud computing offers the following three type of services:

i. Software as a Service (SaaS) – It is also known as cloud application services. Mostly, SaaS
applications run directly through the web browser means we do not require to download and install
these applications. Some important example of SaaS is given below –

Example: Google Apps, Salesforce Dropbox, Slack, Hubspot, Cisco WebEx.

ii. Platform as a Service (PaaS) – It is also known as cloud platform services. It is quite similar
to SaaS, but the difference is that PaaS provides a platform for software creation, but using SaaS,
we can access software over the internet without the need of any platform.

Example: Windows Azure, Force.com, Magento Commerce Cloud, OpenShift.

iii. Infrastructure as a Service (IaaS) – It is also known as cloud infrastructure services. It is


responsible for managing applications data, middleware, and runtime environments.

Example: Amazon Web Services (AWS) EC2, Google Compute Engine (GCE), Cisco Metapod.

4. Runtime Cloud

Runtime Cloud provides the execution and runtime environment to the virtual machines.

5. Storage

Storage is one of the most important components of cloud computing. It provides a huge amount of
storage capacity in the cloud to store and manage data.

6. Infrastructure

It provides services on the host level, application level, and network level. Cloud infrastructure
includes hardware and software components such as servers, storage, network devices,
virtualization software, and other storage resources that are needed to support the cloud computing
model.

7. Management

Management is used to manage components such as application, service, runtime cloud, storage,
infrastructure, and other security issues in the backend and establish coordination between them.

8. Security

Security is an in-built back-end component of cloud computing. It implements a security


mechanism in the back end.
9. Internet

The Internet is medium through which front end and back end can interact and communicate with
each other.

Types of Cloud

✓ Cloud computing is a revolutionary technology transforming how we store, access, and process data.
It simply refers to delivering computing resources, such as servers, storage, databases, software, and
applications, over the Internet.
✓ Cloud computing uses a network of remote computer systems housed on the net to save and process
data rather than relying on physical infrastructure.
✓ Cloud service companies use advanced security techniques, which include encryption, firewalls, and
access restrictions, to secure your data from unauthorized access.
✓ Moreover, because your information is saved in the cloud, it is secure even if your nearby devices
are damaged, misplaced, or stolen.
✓ Redundancy and cloud backups guarantee that your data may be restored promptly and effectively in
case of any unexpected situations.
There are the following 5 types of cloud that you can deploy according to the organization's needs-
1. Public Cloud
2. Private Cloud
3. Hybrid Cloud
4. Community Cloud
5. Multi-Cloud

Public Cloud

Public cloud is open to all to store and access information via the Internet using the pay-per-usage method.
In public cloud, computing resources are managed and operated by the Cloud Service Provider (CSP). The
CSP looks after the supporting infrastructure and ensures that the resources are accessible to and scalable for
the users.
Due to its open architecture, anyone with an internet connection may use the public cloud, regardless of
location or company size. Users can use the CSP's numerous services, store their data, and run apps. By
using a pay-per-usage strategy, customers can be assured that they will only be charged for the resources
they actually use, which is a smart financial choice.
Characteristics of Public Cloud

1. Accessibility: Public cloud services are accessible to anyone with an internet connection and
typically operate on a pay-as-you-go model, allowing users to access resources and services as
needed without the need for upfront investment in hardware or infrastructure.
2. Shared Infrastructure: In the public cloud, resources such as servers, storage, and networking
infrastructure are shared among multiple users or organizations. This multi-tenant model enables
providers to achieve economies of scale, reducing costs for users.
3. Scalability: Public cloud services offer scalability, allowing users to easily scale up or down their
resources based on demand. This elasticity enables organizations to handle fluctuations in workload
without over-provisioning or under-provisioning resources.
4. Flexibility: Public cloud providers offer a wide range of services, including computing power,
storage, databases, networking, and more. Users can choose and customize the services that best
meet their needs, without having to manage the underlying infrastructure.
5. Security: Public cloud providers invest heavily in security measures to protect data and resources
hosted on their platforms. This includes physical security measures at data centers, as well as
encryption, access controls, and monitoring tools to safeguard against unauthorized access and cyber
threats.
6. Examples: Some popular public cloud providers include Amazon Web Services (AWS), Microsoft
Azure, Google Cloud Platform (GCP), and IBM Cloud. These providers offer a variety of services,
ranging from infrastructure services like virtual servers and storage to platform services like
databases, analytics, and artificial intelligence.

Advantages of Public Cloud

• Public cloud is owned at a lower cost than the private and hybrid cloud.
• Public cloud is maintained by the cloud service provider, so do not need to worry about the
maintenance.
• Public cloud is easier to integrate. Hence it offers a better flexibility approach to consumers.
• Public cloud is location independent because its services are delivered through the internet.
• Public cloud is highly scalable as per the requirement of computing resources.
• It is accessible by the general public, so there is no limit to the number of users.
• Rapid deployment of services and applications.
• Reduced time and effort in hardware procurement and setup.
• The cloud provider offers a range of services and resources that you can avail of.
• Built-in redundancy and resilience for enhanced reliability.

Disadvantages of Public Cloud

• Public Cloud is less secure because resources are shared publicly.


• Performance depends upon the high-speed internet network link to the cloud provider.
• The data is not under the control of the client.
• Dependency on the cloud service provider for availability and service level agreements (SLAs).
• Compliance challenges in meeting industry-specific regulations and standards.
• Risk of vendor lock-in and limited portability of applications and data.
• Concerns about data privacy and confidentiality.
• Potential for unexpected costs with usage-based pricing models.
• Lack of customization options and flexibility compared to private or hybrid cloud environments.
• Reliance to the cloud provider's support and responsiveness for issue resolution.
Private Cloud

Private cloud is also known as an internal cloud or corporate cloud. It is used by organizations to build and
manage their own data centers internally or by the third party. It can be deployed using Opensource tools
such as Openstack and Eucalyptus.

Examples: VMware vSphere, OpenStack, Microsoft Azure Stack, Oracle Cloud at Customer, and IBM
Cloud Private.

Based on the location and management, National Institute of Standards and Technology (NIST)
divides private cloud into the following two parts-
❖ On-premise private cloud: An on-premise private cloud is situated within the physical
infrastructure of the organization. It involves setting up and running a specific data center that offers
cloud services just for internal usage by the company. The infrastructure is still completely under the
hands of the organization, which gives them the freedom to modify and set it up in any way they see
fit. Organizations can successfully manage security and compliance issues with this degree of
control. However, on-premise private cloud setup and management necessitate significant hardware,
software, and IT knowledge expenditures.
❖ Outsourced private cloud: An outsourced private cloud involves partnering with a third-party
service provider to host and manage the cloud infrastructure on behalf of the organization. The
provider may operate the private cloud in their data center or a colocation facility. In this
arrangement, the organization benefits from the expertise and resources of the service provider,
alleviating the burden of infrastructure management. The outsourced private cloud model offers
scalability, as the provider can adjust resources based on the organization's needs. Due to its
flexibility, it is a desirable choice for businesses that desire the advantages of a private cloud
deployment without the initial capital outlay and ongoing maintenance expenses involved with an
on-premise implementation.
Compared to public cloud options, both on-premise and external private clouds give businesses more control
over their data, apps, and security. Private clouds are particularly suitable for organizations with strict
compliance requirements, sensitive data, or specialized workloads that demand high levels of customization
and security.

Characteristics of Private Cloud

1. Exclusive Use: Private cloud is dedicated to a single organization, ensuring the resources and
services are tailored to its needs. It is like having a personal cloud environment exclusively for that
organization.
2. Control and Security: Private cloud offers organizations higher control and security than public
cloud options. Organizations have more control over data governance, access controls, and security
measures.
3. Customization and Flexibility: Private cloud allows organizations to customize the infrastructure
according to their specific requirements. They can configure resources, networks, and storage to
optimize performance and efficiency.
4. Scalability and Resource Allocation: The private cloud can scale and allocate resources.
According to demand, businesses may scale up or down their infrastructure, effectively using their
resources.
5. Performance and dependability: Private clouds give businesses more control over the
infrastructure at the foundation, improving performance and dependability.
6. Compliance and Regulatory Requirements: Organizations may more easily fulfill certain
compliance and regulatory standards using the private cloud. It provides the freedom to put in place
strong security measures, follow data residency laws, and follow industry-specific norms.
7. Hybrid Cloud Integration: Private cloud can be integrated with public cloud services, forming a
hybrid cloud infrastructure. This integration allows organizations to leverage the benefits of both
private and public clouds.

Advantages of Private Cloud

• Private cloud provides a high level of security and privacy to the users.
• Private cloud offers better performance with improved speed and space capacity.
• It allows the IT team to quickly allocate and deliver on-demand IT resources.
• The organization has full control over the cloud because it is managed by the organization itself. So,
there is no need for the organization to depends on anybody.
• It is suitable for organizations that require a separate cloud for their personal use and data security is
the first priority.
• Customizable to meet specific business needs and compliance regulations.
• Higher reliability and uptime compared to public cloud environments.
• Seamless integration with existing on-premises systems and applications.
• Better compliance and governance capabilities for industry-specific regulations.
• Enhanced flexibility in resource allocation and application deployment.

Disadvantages of Private Cloud

• Skilled people are required to manage and operate cloud services.


• Private cloud is accessible within the organization, so the area of operations is limited.
• Private cloud is not suitable for organizations that have a high user base, and organizations that do
not have the prebuilt infrastructure, sufficient manpower to maintain and manage the cloud.
• Higher upfront costs and ongoing maintenance expenses.
• Scaling resources can be challenging compared to public or hybrid cloud options.
• Relies on internal IT staff for management and troubleshooting.
• Slower deployment timelines and implementation compared to public cloud solutions.
• Limited access to the latest advancements and innovations offered by public cloud providers.
• Reduced flexibility and agility compared to public cloud options.
• Challenges in keeping up with hardware and software upgrades and compatibility.
• Higher risks of technology becoming outdated and the need for regular infrastructure updates.

Hybrid cloud:

✓ A hybrid cloud is a heterogeneous distributed system formed by combining facilities of the public
cloud and private cloud. For this reason, they are also called heterogeneous clouds.
✓ A hybrid cloud is a cloud computing environment that combines elements of both public and
private clouds, allowing data and applications to be shared between them. In a hybrid cloud setup,
organizations can leverage resources from both public cloud providers (accessible over the
internet) and private cloud infrastructure (dedicated to a single organization).
✓ A major drawback of private deployments is the inability to scale on-demand and efficiently
address peak loads. Here public clouds are needed. Hence, a hybrid cloud takes advantage of both
public and private clouds.

Example: Google Application Suite (Gmail, Google Apps, and Google Drive), Office 365 (MS Office on
the Web and One Drive), Amazon Web Services.

Characteristics of Hybrid Cloud

1. Integration of Public and Private Clouds: Hybrid cloud combines the benefits of both public and
private clouds, letting organizations use them together. It's like having one platform where you can
manage your work stuff across different environments.
2. Flexibility and Scalability: Hybrid cloud lets organizations adjust their resources easily. They can
add more computing power from the public cloud when needed, while still keeping important stuff
secure in their own private cloud.
3. Enhanced Security and Control: With hybrid cloud, organizations can keep their sensitive data and
important applications safe. They get a secure space in the private cloud while using the public cloud
for less sensitive tasks, keeping a good balance between security and convenience.
4. Cost Optimization: Hybrid cloud helps organizations save money by using cheaper options for some
tasks. They can use the affordable public cloud for less important jobs while keeping their important
data and apps on the private cloud, which can be more cost-effective.
5. Data and Application Portability: Hybrid cloud lets organizations move their data and apps around
easily. This means they can adapt to changes quickly, ensuring everything runs smoothly and
efficiently.
6. Compliance and Regulatory Requirements: With hybrid cloud, organizations can follow rules and
regulations more easily. They can keep important data in their private cloud to meet specific industry
regulations while using the public cloud for everything else.
7. Disaster Recovery and Business Continuity: Hybrid cloud helps organizations prepare for
emergencies. By spreading their data and apps across different clouds, they reduce the risk of losing
important information and keep their services running smoothly even during unexpected events.
Advantages of Hybrid Cloud

• Hybrid cloud is suitable for organizations that require more security than the public cloud.
• Hybrid cloud helps you to deliver new products and services more quickly.
• Hybrid cloud provides an excellent way to reduce the risk.
• Hybrid cloud offers flexible resources because of the public cloud and secure resources because of
the private cloud.
• Hybrid facilitates seamless integration between on-premises infrastructure and cloud environments.
• Hybrid provides greater control over sensitive data and compliance requirements.
• Hybrid enables efficient workload distribution based on specific needs and performance
requirements.
• Hybrid offers cost optimization by allowing organizations to choose the most suitable cloud
platform for different workloads.
• Hybrid enhances business continuity and disaster recovery capabilities with private and public cloud
resources.
• Hybrid supports hybrid cloud architecture, allowing applications and data to be deployed across
multiple cloud environments based on their unique requirements.

Disadvantages of Hybrid Cloud

• In Hybrid Cloud, security feature is not as good as the private cloud.


• Managing a hybrid cloud is complex because it is difficult to manage more than one type of
deployment model.
• In the hybrid cloud, the reliability of the services depends on cloud service providers.
• Potential challenges in data integration and ensuring seamless connectivity between different cloud
platforms.
• Higher costs due to the need for managing and integrating multiple cloud environments.
• Increased complexity in data governance and compliance management across different cloud
providers.
• Dependency on stable and high-bandwidth internet connections for efficient hybrid cloud operations.
• Potential compatibility issues between various cloud platforms and applications.
• Risk of vendor lock-in and limited portability of applications and data across different cloud
providers.
• Requires skilled IT staff with expertise in managing hybrid cloud environments.

Community Cloud

✓ Community cloud allows systems and services to be accessible by a group of several organizations
to share the information between the organization and a specific community. It is owned, managed,
and operated by one or more organizations in the community, a third party, or a combination of
them.
✓ In a community cloud setup, the participating organizations, which can be from the same industry,
government sector, or any other community, collaborate to establish a shared cloud infrastructure.
This infrastructure allows them to access shared services, applications, and data relevant to their
community.
✓ A community cloud provides a collaborative and cost-effective way for organizations within a
specific community to access shared resources and services tailored to their common interests or
goals. It's like having a shared workspace where everyone contributes to create a productive
environment that benefits the entire community.
Example: Health Care community cloud

Characteristics of Community Cloud

1. Shared Infrastructure: Community cloud provides a shared space for a specific group of
organizations. They can all use this space together for their computing needs.
2. Community-specific Services: The services offered in a community cloud are tailored to fit the
needs of the organizations in that community. They're designed to help them communicate better
and solve their specific problems.
3. Community Ownership and Management: The community cloud is owned and run by either the
organizations in the community, an outside party, or a mix of both. Everyone involved gets a say in
how things are managed to ensure it meets their needs.
4. Enhanced Security and Compliance: Community cloud puts a lot of focus on keeping things safe
and following the rules. It uses strong security measures and follows the regulations that are
important to that community.
5. Cost Sharing and Efficiency: Organizations in a community cloud share the costs of setting up and
running it. This makes it cheaper for everyone involved and helps them use their money more
efficiently.
6. Collaboration and Knowledge Sharing: The community cloud encourages organizations to work
together and share information. It gives them a place to collaborate on projects, share ideas, and
learn from each other.
7. Scalability and Flexibility: With a community cloud, organizations can easily adjust the resources
they need based on how much they're using. This helps them stay flexible and use their cloud
resources more efficiently as their needs change.

Advantages of Community Cloud

• Community cloud is cost-effective because the whole cloud is being shared by several organizations
or communities.
• Community cloud is suitable for organizations that want to have a collaborative cloud with more
security features than the public cloud.
• It provides better security than the public cloud.
• It provdes collaborative and distributive environment.
• Community cloud allows us to share cloud resources, infrastructure, and other capabilities among
various organizations.
• Offers customization options to meet the unique needs and requirements of the community.
• Simplifies compliance with industry-specific regulations and standards through shared security
measures.
• Provides scalability and flexibility, allowing organizations to scale resources based on changing
demands.
• Promotes efficient resource utilization, reducing wastage, and optimizing performance within the
community.
• Enables organizations to leverage shared expertise and experiences, leading to improved decision-
making and problem-solving.

Disadvantages of Community Cloud

• Community cloud is not a good choice for every organization.


• Security features are not as good as the private cloud.
• It is not suitable if there is no collaboration.
• The fixed amount of data storage and bandwidth is shared among all community members.
• Challenges in ensuring consistent performance and availability when multiple organizations share
the same resources.
• Limited scalability options as the shared resources determine the community cloud's capacity.
• Potential conflicts of interest among community members regarding resource allocation and usage.
• Transparent governance and agreement frameworks are required to address potential disputes and
ensure fair resource distribution.
• Inadequate technical support and service level agreements (SLAs) compared to private or public
cloud options.

Multi-Cloud
✓ Multi-cloud refers to a strategy in cloud computing where organizations utilize services from
multiple cloud service providers or platforms to meet their computing needs.
✓ This approach involves distributing workloads, applications, and data across various cloud
environments, which can include public, private, and hybrid clouds.
✓ In a multi-cloud setup, organizations have the flexibility to select and leverage the most suitable
cloud services from different providers based on their specific requirements.
✓ By utilizing multiple cloud providers, companies can harness each provider's unique capabilities and
services, avoiding vendor lock-in and mitigating risks associated with relying solely on one vendor.
✓ Additionally, adopting a multi-cloud approach allows organizations to benefit from competitive
pricing models and ensure redundancy and resilience in their cloud infrastructure.

Examples: Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP).

Characteristics of Multi-cloud
1. Multiple Cloud Providers: Multi-cloud means using more than one cloud service provider, like
AWS, Azure, or Google Cloud, to access a variety of services.
2. Diversification and Risk Reduction: With multi-cloud, organizations spread their work across
different cloud environments. This lowers the risk of being stuck with one provider and reduces the
impact of any problems with a single provider.
3. Flexibility and Vendor Independence: Businesses can pick the best services from different
providers based on what they need. This gives them more options and avoids relying too much on
just one provider.
4. Optimization of Services and Costs: Using a multi-cloud strategy lets organizations choose the
most cost-effective provider for each task. They can use different providers for specific needs and
take advantage of competitive prices.
5. Enhanced Reliability and Performance: Multi-cloud improves reliability and performance by
using multiple cloud environments. This helps ensure that applications and services run smoothly
and can handle high demand.
6. Data Sovereignty and Compliance: Multi-cloud helps organizations meet data laws and rules by
picking providers with data centers in specific places. This gives them control over where their data
is stored and helps them follow regulations.
7. Interoperability and Integration: Multi-cloud requires different clouds to work together smoothly.
Organizations need to make sure their data and apps can move between different clouds and that all
the services they use work well together.

Advantages of Multi-Cloud:
• It allows organizations to choose the most suitable cloud services from different providers based on
their specific requirements.
• Distributing workloads and data across multiple cloud environments enhances reliability and ensures
resilience in case of service disruptions or downtime.
• By utilizing its providers, organizations can avoid dependency on a single vendor and mitigate the
risks associated with vendor lock-in.
• Organizations can optimize services and costs by selecting the most cost-effective and suitable cloud
provider for each workload or application.
• Leveraging the infrastructure and resources of different cloud providers allows organizations to
achieve high availability, scalability, and improved performance.
• It enables organizations to select cloud providers with data centers in specific regions, addressing
data sovereignty and compliance requirements.
• Access to specialized services and capabilities from different providers promotes innovation and
allows organizations to leverage the best-in-class offerings in the market.
• Distributing workloads across multiple clouds reduces the risk of data loss or service disruptions,
providing enhanced disaster recovery capabilities.

Disadvantages of Multi-Cloud:
• Increased complexity in managing multiple cloud environments.
• Potential for higher costs due to multiple subscriptions and data transfer fees.
• Challenges in ensuring data governance and compliance across multiple clouds.
• Integration difficulties and compatibility issues between different cloud providers.
• Potential for increased management overhead and resource requirements.
• Risk of vendor dependencies and interoperability challenges.

Difference between public cloud, private cloud, hybrid cloud, and community cloud -

The below table shows the difference between public cloud, private cloud, hybrid cloud, and community
cloud.

Parameter Public Cloud Private Cloud Hybrid Cloud Community Multi-Cloud


Cloud
Host Service provider Enterprise (Third Enterprise Community Multiple cloud
party) (Third party) (Third party) providers

Users General public Selected users Selected users Community Multiple


members organizations
Access Internet Internet, VPN Internet, VPN Internet, VPN Internet, VPN
Owner Service provider Enterprise Enterprise Community Multiple
organizations

Cost Pay-per-usage Infrastructure Mixed Shared cost Variable


investment (variable) among members depending on
usage
Security Provider's Enhanced control Varied (depends Varied (depends Varied (depends
responsibility on setup) on setup) on setup)

Scalability Highly scalable Scalable within Scalable within Scalable within Scalable within
resources resources resources resources

Customization Limited control High control Varied (depends Varied (depends Varied (depends
on setup) on setup) on setup)

Resource Not shared Not shared Varied (depends Shared among Shared among
Sharing on setup) community providers

Business models around cloud

Business models around cloud computing typically revolve around providing various services and
solutions leveraging cloud infrastructure. Here are some common business models:

1. Infrastructure as a Service (IaaS):


• Companies provide virtualized computing resources over the internet. Customers
pay for the resources they use on a pay-as-you-go basis.
• Example: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform
(GCP).
2. Platform as a Service (PaaS):
• Providers offer platforms allowing customers to develop, run, and manage
applications without dealing with the underlying infrastructure.
• Example: Heroku, Google App Engine, Microsoft Azure App Service.
3. Software as a Service (SaaS):
• Companies offer software applications hosted on the cloud and accessible via the
internet. Customers typically pay a subscription fee.
• Example: Salesforce, Microsoft Office 365, Google Workspace.
4. Serverless Computing:
• Allows developers to build and run applications and services without managing
infrastructure. They only pay for the resources consumed during execution.
• Example: AWS Lambda, Google Cloud Functions, Azure Functions.
5. Managed Services:
• Providers offer services to manage cloud infrastructure, applications, databases, etc.,
on behalf of the customer.
• Example: Managed cloud services, managed database services, managed security
services.
6. Cloud Consulting and Integration:
• Companies offer consulting, integration, migration, and optimization services to help
businesses adopt cloud technologies.
• Example: Accenture, Deloitte, Capgemini.
7. Hybrid Cloud Solutions:
• Providers offer solutions that integrate both on-premises infrastructure and cloud
services, providing flexibility and scalability.
• Example: VMware Cloud, Azure Stack, AWS Outposts.
8. Cloud Marketplace:
• Platforms where third-party vendors can offer their software, services, and solutions
to cloud customers.
• Example: AWS Marketplace, Azure Marketplace, Google Cloud Marketplace.
9. Vertical Cloud Solutions:
• Cloud services tailored to specific industries or verticals, addressing their unique
requirements and compliance needs.
• Example: Healthcare cloud solutions, financial services cloud solutions.
10. Edge Computing:
• Extending cloud computing capabilities to the edge of the network, closer to the data
source, to reduce latency and improve performance.
• Example: AWS IoT Greengrass, Azure IoT Edge, Google Cloud IoT.

These models can be combined or customized based on the specific needs of businesses and
industries. Additionally, there are opportunities for innovation and differentiation within each
model, allowing companies to create unique value propositions and capture market share.

Major Players in Cloud Computing

Cloud Service providers (CSP) offers various services such as Software as a Service, Platform as
a service, Infrastructure as a service, network services, business applications, mobile
applications, and infrastructure in the cloud. The cloud service providers host these services in a
data center, and users can access these services through cloud provider companies using an Internet
connection.
There are the following Cloud Service Providers Companies –

1. Amazon Web Services (AWS)


AWS (Amazon Web Services) is a secure cloud service platform provided by Amazon. It offers
various services such as database storage, computing power, content delivery, Relational Database,
Simple Email, Simple Queue, and other functionality to increase the organization's growth.
Top Companies using Amazon Web Services
(AWS)

• Netflix • Expedia
• Spotify • Pinterest
• Airbnb • Samsung
• Uber • Sony
• Peloton • Novartis
Features of AWS
AWS provides various powerful features for building scalable, cost-effective, enterprise
applications. Some important features of AWS is given below-
• AWS is scalable because it has an ability to scale the computing resources up or down
according to the organization's demand.
• AWS is cost-effective as it works on a pay-as-you-go pricing model.
• It provides various flexible storage options.
• It offers various security services such as infrastructure security, data encryption,
monitoring & logging, identity & access control, penetration testing, and DDoS attacks.
• It can efficiently manage and secure Windows workloads.

2. Microsoft Azure
Microsoft Azure is also known as Windows Azure. It supports various operating systems, databases,
programming languages, frameworks that allow IT professionals to easily build, deploy, and
manage applications through a worldwide network. It also allows users to create different groups
for related utilities.

Top Companies using Microsoft Azure

• Walmart • Bank of America


• Macy’s • JPMorgan Chase
• The Home Depot • Citigroup
• Starbucks • Fidelity Investments
• Coca-Cola • Standard Chartered

Features of Microsoft Azure


• Microsoft Azure provides scalable, flexible, and cost-effective
• It allows developers to quickly manage applications and websites.
• It managed each resource individually.
• Its IaaS infrastructure allows us to launch a general-purpose virtual machine in different
platforms such as Windows and Linux.
• It offers a Content Delivery System (CDS) for delivering the Images, videos, audios,
and applications.

3. Google Cloud Platform


Google cloud platform is a product of Google. It consists of a set of physical devices, such as
computers, hard disk drives, and virtual machines. It also helps organizations to simplify the
migration process.

Top Companies using Google Cloud Platform (GCP)


• Verizon • SAP
• Twitch • Facebook
• CenturyLink • Intel
• LinkedIn • Yahoo
• NewsCorp • Marriott

Features of Google Cloud


• Google cloud includes various big data services such as Google BigQuery, Google
CloudDataproc, Google CloudDatalab, and Google Cloud Pub/Sub.
• It provides various services related to networking, including Google Virtual Private Cloud
(VPC), Content Delivery Network, Google Cloud Load Balancing, Google Cloud
Interconnect, and Google Cloud DNS.
• It offers various scalable and high-performance
• GCP provides various serverless services such as Messaging, Data Warehouse, Database,
Compute, Storage, Data Processing, and Machine learning (ML)
• It provides a free cloud shell environment with Boost Mode.

4. IBM Cloud Services


IBM Cloud is an open-source, faster, and more reliable platform. It is built with a suite of advanced
data and AI tools. It offers various services such as Infrastructure as a service, Software as a service,
and platform as a service. You can access its services like compute power, cloud data & Analytics,
cloud use cases, and storage networking using internet connection.

Top Companies using IBM Cloud Services

• American Airlines • BMW


• Santander Bank • ING Group
• Caesars Entertainment • Airbus
• ExxonMobil • Honeywell
• Kraft Heinz • Anthem

Feature of IBM Cloud


• IBM cloud improves operational efficiency.
• Its speed and agility improve the customer's satisfaction.
• It offers Infrastructure as a Service (IaaS), Platform as a Service (PaaS), as well as Software
as a Service (SaaS)
• It offers various cloud communications services to our IT environment.

5. VMware Cloud
VMware cloud is a Software-Defined Data Center (SSDC) unified platform for the Hybrid Cloud. It
allows cloud providers to build agile, flexible, efficient, and robust cloud services.
Top companies using VMWare cloud services
• Columbia Sportswear • Lionsgate
• Siemens • Oxford University
• Ticketmaster • Moody's Corporation
• Mitel • Vodafone
• Medtronic • Toyota Motor
Corporation

Features of VMware
• VMware cloud works on the pay-as-per-use model and monthly subscription
• It provides better customer satisfaction by protecting the user's data.
• It can easily create a new VMware Software-Defined Data Center (SDDC) cluster on AWS
cloud by utilizing a RESTful API.
• It provides flexible storage options. We can manage our application storage on a per-
application basis.
• It provides a dedicated high-performance network for managing the application traffic and
also supports multicast networking.
• It eliminates the time and cost complexity.

6. Oracle cloud
Oracle cloud platform is offered by the Oracle Corporation. It combines Platform as a Service,
Infrastructure as a Service, Software as a Service, and Data as a Service with cloud infrastructure. It
is used to perform tasks such as moving applications to the cloud, managing development
environment in the cloud, and optimize connection performance.

Top Companies using Oracle Cloud

• Labcorp • UnitedHealth Group


• Diebold Nixdorf • Hitachi
• CVS Health • Ahold Delhaize
• Universal Studios • Bank of America
• Zurich

Features of Oracle cloud


• Oracle cloud provides various tools for build, integrate, monitor, and secure the
applications.
• Its infrastructure uses various languages including, Java, Ruby, PHP, Node.js.
• It integrates with Docker, VMware, and other DevOps tools.
• Oracle database not only provides unparalleled integration between IaaS, PaaS, and SaaS,
but also integrates with the on-premises platform to improve operational efficiency.
• It maximizes the value of IT investments.
• It offers customizable Virtual Cloud Networks, firewalls, and IP addresses to securely
support private networks.

7. DigitalOcean
DigitalOcean is the unique cloud provider that offers computing services to the organization. It was
founded in 2011 by Moisey Uretsky and Ben. It is one of the best cloud provider that allows us to
manage and deploy web applications.
Top Companies using DigitalOcean

• Shopify
• GitHub
• Airbnb

Features of DigitalOcean
o It uses the KVM hypervisor to allocate physical resources to the virtual servers.
o It provides high-quality performance.
o It offers a digital community platform that helps to answer queries and holding feedbacks.
o It allows developers to use cloud servers to quickly create new virtual machines for their
projects.
o It offers one-click apps for droplets. These apps include MySQL, Docker, MongoDB,
Wordpress, PhpMyAdmin, LAMP stack, Ghost, and Machine Learning.

8. Alibaba Cloud
Alibaba Cloud is used to develop data management and highly scalable cloud computing services.
It offers various services, including Elastic Computing, Storage, Networking, Security, Database
Services, Application Services, Media Services, Cloud Communication, and Internet of Things.

Top Companies using Alibaba Cloud

• ABS-CBN
• PrestoMall (formerly 11street
Malaysia)
• Hang Seng Bank
• Chow Tai Fook Jewellery Group

Features of Alibaba Cloud


• Alibaba cloud offers a suite of global cloud computing services for both international
customers and Alibaba Group's e-commerce ecosystem.
• Its services are available on a pay-as-per-use basis.
• It globally deals with its 14 data centers.
• It offers scalable and reliable data storage.

Issues In Clouds

Cloud Computing is a new name for an old concept. The delivery of computing services from a
remote location. Cloud Computing is Internet-based computing, where shared resources,
software, and information are provided to computers and other devices on demand.

These are major issues in Cloud Computing:


• Privacy: When you store data in the cloud, such as photos or documents, you expect it to
remain private. However, the cloud service provider has access to this data and could
potentially view or manipulate it. For example, a cloud storage provider might
accidentally delete your files, or a malicious insider could access your private information
without your consent.

• Compliance: Certain industries, like healthcare or finance, have strict regulations


regarding data protection and privacy. To comply with these regulations, organizations
might need to invest in specialized cloud deployment modes or security measures. For
instance, a hospital storing patient records in the cloud might need to implement
encryption and access controls to ensure HIPAA (Health Insurance Portability and
Accountability Act) compliance.

• Security: While cloud providers invest heavily in security measures, there's always a risk
of security breaches. Cyberattacks, insider threats, and vulnerabilities in cloud
infrastructure can all compromise the security of your data. For example, if a hacker gains
access to a cloud server, they could steal sensitive information stored on it.

• Sustainability: The environmental impact of cloud computing is a growing concern. Data


centers that power cloud services consume a significant amount of energy, leading to
carbon emissions and other environmental effects. For instance, the cooling systems used
in data centers require large amounts of electricity, contributing to overall energy
consumption.

• Abuse: Some individuals might exploit cloud services for illegal activities, such as
hosting malware or conducting phishing attacks. For example, cybercriminals might use a
cloud-based server to distribute malware to unsuspecting victims, leveraging the
anonymity and scalability of cloud services.

• Higher Cost: While cloud computing offers flexibility and scalability, it can also come
with higher costs. For example, organizations with large-scale or complex projects might
need to invest in high-performance cloud resources and fast internet connections to ensure
smooth operation. This can lead to increased expenses compared to traditional IT
infrastructure.

• Data Recovery: In the event of data loss or corruption, recovering data stored in the cloud
can be challenging. It's crucial to choose a cloud service provider that offers robust backup
and recovery solutions to minimize the risk of data loss. For example, a business that
relies on cloud-based customer data might face significant financial losses if that data
becomes inaccessible due to a server failure or security breach.

• Cloud Management: Managing a cloud infrastructure requires careful planning and


resource allocation. For example, cloud providers must determine how much to charge
users for cloud services based on resource consumption and demand. This involves
balancing the need for scalability and flexibility with cost-effectiveness and profitability.

• Lack of Expertise: As cloud technology continues to evolve rapidly, organizations may


struggle to find employees with the necessary skills and expertise to manage cloud
services effectively. This can lead to challenges in implementing and maintaining cloud-
based solutions, as well as keeping up with emerging trends and best practices.
• Pay-per-use Charges: Cloud services often operate on a pay-per-use model, where users
are charged based on their resource consumption. While this offers flexibility and cost
savings, it can also make budgeting and forecasting difficult for organizations. For
example, a sudden increase in demand for cloud resources could result in unexpected
expenses, impacting overall budget planning.

Eucalyptus
Eucalyptus is a Linux-based open-source software architecture for cloud computing and also a
storage platform that implements Infrastructure a Service (IaaS). It provides quick and efficient
computing services. Eucalyptus was designed to provide services compatible with Amazon’s EC2
cloud and Simple Storage Service(S3).

Eucalyptus Architecture

Eucalyptus CLIs can handle Amazon Web Services and their own private instances. Clients have
the independence to transfer cases from Eucalyptus to Amazon Elastic Cloud. The virtualization
layer oversees the Network, storage, and Computing. Occurrences are isolated by hardware
virtualization.

Important Features are:-

1. Images: A good example is the Eucalyptus Machine Image which is a module


software bundled and uploaded to the Cloud.
2. Instances: When we run the picture and utilize it, it turns into an instance.
3. Networking: It can be further subdivided into three modes: Static mode(allocates IP
address to instances), System mode (assigns a MAC address and imputes the
instance’s network interface to the physical network via NC), and Managed mode
(achieves local network of instances).
4. Access Control: It is utilized to give limitations to clients.
5. Elastic Block Storage: It gives block-level storage volumes to connect to an instance.
6. Auto-scaling and Load Adjusting: It is utilized to make or obliterate cases or
administrations dependent on necessities.

Components of Architecture

• Node Controller is the lifecycle of instances running on each node. Interacts with the
operating system, hypervisor, and Cluster Controller. It controls the working of VM
instances on the host machine.
• Cluster Controller manages one or more Node Controller and Cloud Controller
simultaneously. It gathers information and schedules VM execution.
• Storage Controller (Walrus) Allows the creation of snapshots of volumes. Persistent
block storage over VM instances. Walrus Storage Controller is a simple file storage
system. It stores images and snapshots. Stores and serves files using S3(Simple
Storage Service) APIs.
• Cloud Controller Front-end for the entire architecture. It acts as a Complaint Web
Services to client tools on one side and interacts with the rest of the components on the
other side.

Operation Modes of Eucalyptus

• Managed Mode: Numerous security groups to users as the network is large. Each
security group is assigned a set or a subset of IP addresses. Ingress rules are applied
through the security groups specified by the user. The network is isolated by VLAN
between Cluster Controller and Node Controller. Assigns two IP addresses on each
virtual machine.
• Managed (No VLAN) Node: The root user on the virtual machine can snoop into
other virtual machines running on the same network layer. It does not provide VM
network isolation.
• System Mode: Simplest of all modes, least number of features. A MAC address is
assigned to a virtual machine instance and attached to Node Controller’s bridge
Ethernet device.
• Static Mode: Similar to system mode but has more control over the assignment of IP
address. MAC address/IP address pair is mapped to static entry within the DHCP
server. The next set of MAC/IP addresses is mapped.

Advantages of The Eucalyptus Cloud

• Eucalyptus can be utilized to benefit both the eucalyptus private cloud and the eucalyptus
public cloud.
• Examples of Amazon or Eucalyptus machine pictures can be run on both clouds.
• Its API is completely similar to all the Amazon Web Services.
• Eucalyptus can be utilized with DevOps apparatuses like Chef and Puppet.
• Although it isn’t as popular yet but has the potential to be an alternative to OpenStack and
CloudStack.
• It is used to gather hybrid, public and private clouds.
• It allows users to deliver their own data centers into a private cloud and hence, extend the
services to other organizations.
Nimbus
Nimbus is a robust toolkit designed to facilitate the transformation of computer clusters into
Infrastructure-as-a-Service (IaaS) clouds, specifically tailored to meet the needs of scientific
communities. Its primary function is to enable the deployment and configuration of virtual
machines (VMs) on remote resources, thereby creating a cloud environment that aligns with the
requirements of users. Developed in Python and Java, Nimbus is freely available as open-source
software released under the Apache License.

Components and features of Nimbus:


1. Nimbus Infrastructure:
• Nimbus Infrastructure serves as an open-source EC2/S3-compatible IaaS solution
geared towards addressing the interests and requirements of scientific communities.
• Key features include support for auto-configuring clusters, proxy credentials, batch
schedulers, and best-effort allocations.
• This part of Nimbus provides the foundation for creating cloud-like environments.
It's designed to cater specifically to the needs of scientists, offering features like
automatic cluster setup and efficient resource management.
2. Nimbus Platform:
• Nimbus Platform encompasses an integrated suite of tools designed for managing
multi-cloud environments. It automates and simplifies tasks related to infrastructure
cloud deployment, scaling, and resource management, catering specifically to
scientific users.
• In simple words, The Nimbus Platform is a collection of tools that make it easier for
scientists to manage multiple clouds simultaneously. This includes deploying,
scaling, and managing their cloud resources with minimal hassle.
3. Compatibility:
• Nimbus is compatible with Amazon's Network Protocols, facilitating interaction via
EC2-based clients and S3 REST API clients. Additionally, it supports SOAP API
and REST API implementations.
• It provides support for X509 credentials, ensures fast propagation, and offers
compatibility with multiple protocols and compartmentalized dependencies.
• Nimbus works seamlessly with Amazon's services, allowing users to interact with
their cloud environments using familiar protocols. It also supports various security
measures to keep data safe.
4. Management and Tracking:
• Nimbus features flexible management capabilities for users, groups, and
workspaces, enabling efficient resource allocation and utilization.
• It incorporates robust request authentication and authorization mechanisms, ensuring
secure access to cloud resources.
• Per-client usage tracking facilitates monitoring and optimization of resource
consumption.
• Nimbus makes it simple for users to manage their cloud resources securely. It
provides tools for managing user access, tracking resource usage, and optimizing
resource allocation.

System Architecture and Design


The design of a Nimbus which consists of a number of components based on the web service
technology:
1. WORKSPACE SERVICE
• Allows client to manage and administer VMs by providing to two interfaces;
1. One is based on the web service resource framework (WSRF)
2. The other is based on EC2 WSDL.
2. WORKSPACE RESOURCE MANAGER
• Implements VM instance creation on a site and management.
3. WORKSPACE PILOT
• Provide virtualization with significant changes to the site configurations.
4. WORKSPACE CONTROL
• Implements VM instance management such as start, stop, and pause VM. It also provides
image management and sets up networks and provides IP management.
5. CONTEXT BROKER
• Allows client to coordinate large virtual cluster launches automatically and repeatedly
6. WORKSPACE CLIENT
• A complex client that provides full access to the workspace service functionality.
7. CLOUD CLIENT
• A simple client providing access to selected functionalities in the workspace service.
8. STORAGE SERVICE
• Cumulus is a web service providing users with storage capabilities to store images and
works in conjunction with GridFTP.

Nimbus is designed to satisfy the needs of developers, providers, and users within the
scientific community by achieving the following objectives:
• Provider Capabilities:
• The Nimbus Workspace Service enables resource providers to lease computational
resources by deploying virtual machines on available resources.
• Cumulus, an open-source implementation of the S3 REST API, facilitates scalable
quota-based storage cloud implementations and supports multiple storage cloud
configurations.
• Nimbus offers tools like the Workspace Service, which allows providers to lease
computational resources to users by deploying VMs. It also includes Cumulus, a tool
for setting up scalable storage clouds.
• User Capabilities:
• Nimbus offers powerful scaling tools, including the Nimbus Context Broker, which
enables users to automatically scale across multiple distributed providers.
• The Context Broker coordinates large virtual cluster launches automatically and
repeatedly, maintaining a common configuration and security context across
resources.
• Nimbus provides scaling tools that allow users to automatically adjust their cloud
resources as needed. The Context Broker helps users launch large virtual clusters
quickly and efficiently.
• Developer Capabilities:
• Developers benefit from the extension, experimentation, and customization
capabilities offered by Nimbus.
• For instance, the Workspace Service supports multiple virtualization
implementations, resource management options, and interfaces, including
compatibility with Amazon EC2.
• Nimbus is highly flexible, allowing developers to customize and extend its
capabilities to suit their specific needs. This includes support for different
virtualization methods, resource management options, and interfaces.
Nimbus empowers scientists and researchers to take control of their cloud environments, providing
them with the tools and capabilities they need to conduct their research efficiently. Whether they're
setting up complex simulations or analyzing large datasets, Nimbus makes it easier to harness the
power of cloud computing for scientific discovery.

Advantages of Nimbus
1. Ease of Use: It simplifies the process of setting up and managing cloud environments,
making it accessible to scientists and researchers.
2. Compatibility: It works seamlessly with Amazon's cloud services and supports various
protocols for secure connections.
3. Flexibility: Nimbus provides tools for managing multiple clouds simultaneously, allowing
users to scale and customize their resources as needed.
4. Efficiency: It helps optimize resource allocation and tracking, ensuring efficient use of
computing resources.
5. Empowerment: Nimbus enables scientists to harness the power of cloud computing for
their research, making data analysis and processing more manageable and impactful.

OpenNebula
• OpenNebula is an open-source platform designed to simplify the creation and management
of enterprise clouds, catering to various virtualized services, containerized applications, and
server-less computing needs.
• OpenNebula is an open source cloud middleware solution that manages heterogeneous
distributed data centre infrastructures.
• It is designed to be a simple but feature-rich, production-ready, customisable solution to
build and manage enterprise clouds—simple to install, update and operate by the
administrators; and simple to use by end users.
• OpenNebula combines existing virtualisation technologies with advanced features for multi-
tenancy, automated provisioning and elasticity.
• A built-in virtual network manager maps virtual networks to physical networks. Distributions
such as Ubuntu and Red Hat Enterprise Linux have already integrated OpenNebula.
The standard architecture of an OpenNebula Cloud comprises two main components:
1. Cloud Management Cluster:
• This includes the Front-end node(s), which serve as the central control point for
managing the cloud infrastructure.
2. Cloud Infrastructure:
• This consists of one or more workload clusters with hypervisor nodes and storage
systems. These clusters can be distributed across multiple geographical locations and
interconnected with various networks for different purposes such as internal storage
management and communication between virtual machines or containers.
OpenNebula allows for flexibility in configuring cloud infrastructure, enabling the combination of
multiple clusters with different configurations and technologies to meet diverse client needs.
There are two primary types of cluster models that can be utilized with OpenNebula:
1. Edge Clusters:
• OpenNebula provides its own Edge cluster configuration, which is based on reliable open-
source storage and networking technologies. This approach simplifies the deployment
process compared to more complex, customized cloud architectures. Edge clusters can be
deployed on-demand on virtual or bare-metal resources, both on-premises and on various
public cloud or edge providers, facilitating seamless hybrid cloud deployments.
2. Customized Clusters:
• In this model, users have the flexibility to choose and configure the underlying cloud
infrastructure components according to their specific requirements. OpenNebula is certified
to work with various combinations of hypervisors, storage, and networking technologies.
Users need to install and configure the underlying cloud infrastructure software
components before deploying OpenNebula to build their cloud. These clusters can be
deployed on-premises or on a preferred bare-metal cloud or hosting provider.
In essence, OpenNebula offers a versatile and adaptable solution for building and managing
enterprise clouds, allowing users to tailor their infrastructure to suit their unique needs and
preferences.

Advantages of Open Nebula

1. Simplicity: OpenNebula is designed to be easy to install, update, and operate, making it


accessible for administrators of all skill levels.
2. Feature-rich: Despite its simplicity, OpenNebula offers a comprehensive set of features,
allowing users to efficiently manage virtualized data centers.
3. Flexibility: It supports various deployment models, including private, public, and hybrid
clouds, providing flexibility to meet diverse business requirements.
4. Customizability: OpenNebula is highly customizable, allowing users to tailor the platform
to their specific needs and integrate it with existing infrastructure and tools.
5. Multi-tenancy: It supports multi-tenancy, enabling the isolation of resources and
management of multiple user groups within the same cloud environment.
6. Automated Provisioning: OpenNebula facilitates automated provisioning of resources,
streamlining the deployment process and improving operational efficiency.
7. Elasticity: It offers elasticity, allowing users to dynamically scale resources up or down
based on workload demands, ensuring optimal performance and resource utilization.
8. Virtual Network Management: OpenNebula includes a built-in virtual network manager,
simplifying the mapping of virtual networks to physical networks and enhancing network
management capabilities.
9. Integration: It integrates seamlessly with popular Linux distributions like Ubuntu and Red
Hat Enterprise Linux, ensuring compatibility and ease of deployment.
10. Hypervisor Support: OpenNebula supports multiple hypervisors, including Xen, KVM,
and VMware, providing users with flexibility in choosing virtualization technologies that
best suit their needs.

CloudSim
• CloudSim is an open-source framework, which is used to simulate cloud computing
infrastructure and services.
• It is developed by the CLOUDS Lab organization and is written entirely in Java.
• It is used for modelling and simulating a cloud computing environment as a means for
evaluating a hypothesis prior to software development in order to reproduce tests and results.

Following are the benefits of CloudSim:


• No capital investment involved. With a simulation tool like CloudSim there is no
installation or maintenance cost.
• Easy to use and Scalable. You can change the requirements such as adding or
deleting resources by changing just a few lines of code.
• Risks can be evaluated at an earlier stage. In Cloud Computing utilization of real
testbeds limits the experiments to the scale of the testbed and makes the reproduction
of results an extremely difficult undertaking. With simulation, you can test your
product against test cases and resolve issues before actual deployment without any
limitations.
• No need for try-and-error approaches. Instead of relying on theoretical and
imprecise evaluations which can lead to inefficient service performance and revenue
generation, you can test your services in a repeatable and controlled environment free
of cost with CloudSim.

Why use CloudSim?

Below are a few reasons to opt for CloudSim:


• Open source and free of cost, so it favours researchers/developers working in the
field.
• Easy to download and set-up.
• It is more generalized and extensible to support modelling and experimentation.
• Does not require any high-specs computer to work on.
• Provides pre-defined allocation policies and utilization models for managing
resources, and allows implementation of user-defined algorithms as well.
• The documentation provides pre-coded examples for new developers to get familiar
with the basic classes and functions.
• Tackle bottlenecks before deployment to reduce risk, lower costs, increase
performance, and raise revenue.
CloudSim Architecture:

CloudSim Core Simulation Engine provides interfaces for the management of resources such as
VM, memory and bandwidth of virtualized Datacenters.
CloudSim layer manages the creation and execution of core entities such as VMs, Cloudlets,
Hosts etc. It also handles network-related execution along with the provisioning of resources and
their execution and management.
User Code is the layer controlled by the user. The developer can write the requirements of the
hardware specifications in this layer according to the scenario.
Some of the most common classes used during simulation are:
• Datacenter: used for modelling the foundational hardware equipment of any cloud
environment, that is the Datacenter. This class provides methods to specify the
functional requirements of the Datacenter as well as methods to set the allocation
policies of the VMs etc.
• Host: this class executes actions related to management of virtual machines. It also
defines policies for provisioning memory and bandwidth to the virtual machines, as
well as allocating CPU cores to the virtual machines.
• VM: this class represents a virtual machine by providing data members defining a
VM’s bandwidth, RAM, mips (million instructions per second), size while also
providing setter and getter methods for these parameters.
• Cloudlet: a cloudlet class represents any task that is run on a VM, like a processing
task, or a memory access task, or a file updating task etc. It stores parameters defining
the characteristics of a task such as its length, size, mi (million instructions) and
provides methods similarly to VM class while also providing methods that define a
task’s execution time, status, cost and history.
• DatacenterBroker: is an entity acting on behalf of the user/customer. It is responsible
for functioning of VMs, including VM creation, management, destruction and
submission of cloudlets to the VM.
• CloudSim: this is the class responsible for initializing and starting the simulation
environment after all the necessary cloud entities have been defined and later stopping
after all the entities have been destroyed.

Features of CloudSim:

CloudSim provides support for simulation and modelling of:


1. Large scale virtualized Datacenters, servers and hosts.
2. Customizable policies for provisioning host to virtual machines.
3. Energy-aware computational resources.
4. Application containers and federated clouds (joining and management of multiple
public clouds).
5. Datacenter network topologies and message-passing applications.
6. Dynamic insertion of simulation entities with stop and resume of simulation.
7. User-defined allocation and provisioning policies.

You might also like