Unit 1 Introduction To Cloud Computing
Unit 1 Introduction To 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.
o Front End
o Back End
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.
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.
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 –
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: 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
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.
• 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.
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.
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.
• 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.
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.
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.
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
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.
• 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.
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.
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 computing typically revolve around providing various services and
solutions leveraging cloud infrastructure. Here are some common business models:
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.
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 –
• 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.
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.
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.
• ABS-CBN
• PrestoMall (formerly 11street
Malaysia)
• Hang Seng Bank
• Chow Tai Fook Jewellery Group
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.
• 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.
• 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.
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.
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.
• 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.
• 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.
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.
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.
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: