Unit-1 Cloud Computing
Unit-1 Cloud Computing
What is Cloud?
The term Cloud refers to a Network or Internet. In other words, we can say that Cloud is
something present far at remote location over Network or Internet. Cloud provide
services over Network. Application such as e-mail, web conferencing, CRM, all run over
cloud.
Cloud Computing refers to manipulating, configuring, and accessing the applications online.
It offers online data storage, infrastructure, and applications.
Cloud Disclaimers
• Talk from Oracle CEO Larry Ellison
• We’ve redefined Cloud Computing to include everything that we already do.
I don’t understand what we would do differently other than change the
wording of some of our ads.
• Talk from Rich Stallman
• It's stupidity. It's worse than stupidity: it's a marketing hype campaign.
Somebody is saying this is inevitable – and whenever you hear somebody
saying that, it's very likely to be a set of businesses campaigning to make it
true.
• The name cloud computing was inspired by the cloud symbol that's often used to
represent the Internet in flowcharts and diagrams. Cloud computing is a general
term for anything that involves delivering hosted services over the Internet.
Cloud computing is a paradigm of computing, a new way of thinking about IT industry but
not any specific technology.
• Properties and characteristics
• High scalability and elasticity
• High availability and reliability
• High manageability and interoperability
• High accessibility and portability
• High performance and optimization
• Enabling techniques
• Hardware virtualization
• Parallelized and distributed computing
• Web service
Cloud Properties
Lecture:1.2
IaaS
Infrastructure as a Service (IaaS) is a form of cloud computing where hardware is provided
and managed by an external provider. This hardware is provided in the cloud environment
and can include anything from virtual servers to network connections and load balancers.
Because this hardware is virtualized, it gives businesses the ability to easily scale their IT
solutions.
This makes it particularly popular with growing businesses and
when working on temporary projects.
Benefits of IaaS:
Scalability
One of the main benefits of IaaS is the scalability it offers. Through a subscription service,
you access the IT system you require when you need it. Due to its virtualization, scaling up
your systems can be done quickly and efficiently, minimizing downtime.
Minimized hardware maintenance
The hardware behind your IaaS system is managed externally, minimizing the time and
money your business spends on this type of maintenance.
Flexibility
Many IaaS systems can be accessed remotely, although this will vary from system to system.
Reduced downtime
If your hardware fails, you’ll usually need to wait for a repair, impacting the productivity of
both your staff and business overall. An IaaS system relies on a multitude of servers and data
centres; if one area fails, other hardware resources are available to pick up the slack.
On–demand access
An IaaS system can be accessed on-demand and you’ll only pay for the resources you use,
keeping costs down.
PaaS
Platform as a Service (PaaS) is a form of cloud computing that allows a dedicated space to
build and test applications. It’s predominantly used by software and web developers,
although it can also be utilized by businesses who want to create and test their own internal
software. It’s usually available on a subscription basis.
Benefits of PaaS
Reduced costs
In the past, developing software was costly, as a result of the hardware, skills and experience
needed. Instead, PaaS allows users to effectively rent the required infrastructure, paid for
through their subscription fee.
Eliminates skills barriers
PaaS systems are often simple to use, meaning businesses don’t need to employ specialists to
develop their apps. Rather, an app can be developed inhouse through only a web browser.
Increased collaboration
In larger businesses, multiple parties may be working on the same app development project.
Via cloud connectivity, multiple developers across different locations can collaborate on the
same project.
SaaS
Software as a Service (SaaS) is a way for software applications to be delivered over the
internet through the cloud. Because of this, SaaS is often referred to as cloud software.
Different from previous methods of purchasing software outright and installing it onto a
device, SaaS is usually subscription-based. The software isn’t localised on a specific PC —
rather, it’s accessed via an internet connection. Although the acronym SaaS may sound
complicated, you’ll actually come into contact with this type of software every day —
whether you’re logging into Office 365 or streaming your favourite films via Netflix.
Benefits of SaaS
Eradicates initial costs
Because SaaS is usually delivered on a subscription basis, it eliminates the initial costs that
were traditionally associated with implementing software. With cost a barrier for many, this
approach makes accessing more sophisticated systems easier and more affordable.
Stop using, stop paying
Another benefit of a subscription SaaS system is that it means you can often terminate your
contract when you no longer require the software.
Keep your data safer
Through using cloud-connected software systems, you eliminate the vulnerability of storing
files to a local device. PCs, laptops and tablets can fail, but you’ll always have a digital back-
up to hand.
Flexibility
One of the main benefits of SaaS is the flexibility it offers. You’re no longer
tethered to specific devices that have the software capability; rather, you can access the
applications you need wherever you are using a simple internet connection.
Examples of Cloud
Google Drive
This is a pure cloud computing service, with all the storage found online so it can work with
the cloud apps: Google Docs, Google Sheets, and Google Slides.
Apple iCloud
Apple's cloud service is primarily used for online storage, backup, and synchronization of
your mail, contacts, calendar, and more. All the data you need is available to you on your
iOS, Mac OS, or Windows device (Windows users have to install the iCloud control panel)
Amazon Cloud Drive
Storage at the big retailer is mainly for music, preferably MP3s that you purchase from
Amazon, and images—if you have Amazon Prime, you get unlimited image storage.
Facebook and Instagram
Which are definitely cloud services—regarding what they get to do with your photos
Chromebook
The primary example of a device that is completely cloud-centric is the Chromebook. These
are laptops that have just enough local storage and power to run the Chrome OS, which
essentially turns the Google Chrome Web browser into an operating system. With a
Chromebook, most everything you do is online: apps, media, and storage are all in the cloud.
Cluster Computing
• Cluster computing it’s a group of computers connected to each other and work
together as a single computer. These computers are often linked through a
LAN.
• The cluster is a tightly coupled system, and from its characteristics that it’s a
centralized job management and scheduling system.
• All the computers in the cluster use the same hardware and operating system, and the
computers are the same physical location and connected with a very high speed
connection to perform as a single computer.
• The resources of the cluster are managed by centralized resource manager.
Architecture: The architecture of cluster computing contains some main components and
they are:
• 1. Multiple standalone computers.
• 2. Operating system.
• 3. High performance interconnects.
• 4. Communication software.
• 5. Different applications
Advantages:
• Software is automatically installed and configured, and the nodes of the cluster
can be added and managed easily, so it’s very easy to deploy, it’s an open
system, and very cost effective to acquire and manage, clusters have many
sources of support and supply, it’s fast and very flexible, the system is
optimized for performance as well as simplicity and it can change software
configurations at any time, also it saves the time of searching the net for latest
drivers, The cluster system is very supportive as it includes software updates.
Disadvantages:
• It’s hard to be managed without experience, also when the size of cluster is
large, it’ll be difficult to find out something has failed, the programming
environment is hard to be improved when software on some node is
different from the other.
Grid Computing
• Grid computing is a combination of resources from multiple administrative domains
to reach a common target, and this group of computers can distributed on several
location and each a group of grids can be connected to each other.
• The computers in the grid are not required to be in the same physical location and
can be operated independently, so each computer on the grid is concerned a distinct
computer.
• The computers in the grid are not tied to only on operating system and can run
different OSs and different hardware, when it comes to a large project, the grid
divides it to multiple computers to easily use their resources.
Architecture:
• Fabric layer to provide the resources which shared access is mediated by
grid computing.
• Connectivity layer and it means the core communication and authentication
protocols required for grid specific network functions.
• Resource layer and it defines the protocols, APIs and SDK for secure
negotiations, imitations, monitoring control, accounting and payment of
sharing operations on individual resources.
• Collective layer which it contains protocols and services that
capture interactions among a collection of resources
• Application layer, its user applications that operate within environment.
Advantages:
• One of the advantages of grid computing that you don’t need to buy large
servers for applications that can be split up and farmed out to smaller
commodity type servers,
• Secondly it’s more efficient in use of resources.
• Also the grid environments are much more modular and don't have much points
of failure.
• About policies in the grid it can be managed by the grid software, besides that
upgrading can be done without scheduling downtime, and jobs can be
executed in parallel speeding performance.
Disadvantages:
• It needs fast interconnect between computers resources,
• Some applications may need to be pushed to take full advantage of the new
model,
• Licensing across many servers may make it forbidden for some applications,
• The grid environments include many smaller servers across various
administrative domains. Also political challenges associated with
sharing resources especially across different admin domains.
Utility Computing
• Utility Computing refers to a type of computing technologies and business models
which provide services and computing resources to the customers, such as storage,
applications and computing power.
• This repackaging of computing services is the foundation of the shift to on demand
computing, software as a service and cloud computing models which late developed
the idea of computing, applications and network as a service.
• Utility computing is kind of virtualization, that means the whole web storage space
and computing power which it’s available to users is much larger than the single
time- sharing computer.
• Multiple backend web servers used to make this kind of web service possible.
• Utility computing is similar to cloud computing and it often requires a cloud-
like infrastructure.
Architecture:
• It depends on the devices of the users and the providing company for the
utility service. And similar to the architecture of the cloud.
Advantages:
• The client doesn't have to buy all the hardware, software and licenses needed
to do business. Instead, the client relies on another party to provide these
services.
• It also gives companies the option to subscribe to a single service and use
the same suite of software throughout the entire client organization.
• It offers compatibility of all the computers in large companies.
Disadvantages:
• Less reliability: which means the service could be stopped from the utility
computing company for any reason such as a financial trouble or
equipment problems.
• Also utility computing systems can also be attractive targets for hackers,
and much of the responsibility of keeping the system safe falls to the
provider
Cloud Computing
Lecture:1.3
The architecture is mainly dividing the cloud architecture into two parts:
1) Front End
• It’s comprises the client's device or a computer network and some applications
are needed for accessing the cloud computing system.
2) Back End
• It refers to the cloud itself which may contain various computer machines, data
storage systems and servers. Group of these clouds make a whole cloud
computing system.
Private Cloud: Here, computing resources are deployed for one particular organization.
This method is more used for intra-business interactions. Where the computing resources
can be governed, owned and operated by the same organization.
Community Cloud: Here, computing resources are provided for a community and
organizations.
Public Cloud: This type of cloud is used usually for B2C (Business to Consumer) type
interactions. Here the computing resource is owned, governed and operated by government,
an academic or business organization.
Hybrid Cloud: This type of cloud can be used for both type of interactions - B2B (Business
to Business) or B2C (Business to Consumer). This deployment method is called hybrid cloud
as the computing resources are bound together by different clouds.
Cloud Computing
Lecture:1.5
Major Players in Cloud Computing
Lecture:1.6
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.
Privacy:
The user data can be accessed by the host company with or without permission. The service
provider may access the data that is on the cloud at any point in time. They could
accidentally or deliberately alter or even delete information.
Compliance:
There are many regulations in places related data and hosting. To comply with regulations
(Federal Information Security Management Act, Health Insurance Portability and
Accountability Act, etc.) user may have to adopt deployment modes that are expensive.
Security:
Cloud-based services involve third-party for storage and security. Can one assume that a
cloud-based company will protect and secure one’s data if one is using their services at a
very low or for free? They may share user’s information with others. Security presents a real
threat to cloud.
Sustainability:
This issue refers to minimizing the effect of cloud computing on environment. Citing the
server’s effects on the environmental effects of cloud computing, in areas where climate
favors natural cooling and renewable electricity is readily available, the countries with
favorable conditions, such as Finland, Sweden, and Switzerland are trying to attract cloud
computing data centers. But other than nature’s favors, would these countries have enough
technical infrastructure to sustain the high-end clouds?
Abuse:
While providing cloud services, it should be ascertained that the client is not purchasing the
services of cloud computing for nefarious purpose. In 2009, a banking Trojan illegally used
the popular Amazon service as a command and control channel that issued software updates
and malicious instruction to PCs that were infected by the malware.
Although building a private cloud isn’t a top priority for many organizations, for those who
are likely to implement such a solution, it quickly becomes one of the main challenges
facing cloud computing – private solutions should be carefully addressed.
Creating an internal or private cloud will cause a significant benefit: having all the data in-
house. But IT managers and departments will need to face building and gluing it all together
by themselves, which can cause one of the challenges of moving to cloud computing
extremely difficult.
Most organizations did not have a robust cloud adoption strategy in place when they started
to move to the cloud. Instead, ad-hoc strategies sprouted, fueled by several components. One
of them was the speed of cloud adoption. Another one was the staggered expiration of data
center contracts/equipment, which led to intermittent cloud migration. Finally, there also
were individual development teams using the public cloud for specific applications or
projects. These bootstrap
Migration:
One of the main cloud computing industry challenges in recent years concentrates on
migration. This is a process of moving an application to a cloud. An although moving a new
application is a straightforward process, when it comes to moving an existing application to
a cloud environment, many cloud challenges arise.
Lecture:1.7
An open source cloud is any cloud service or solution that is developed using open source
technologies and software. This covers any public, private or hybrid cloud models providing
SaaS, IaaS and PaaS that have been built and operate entirely on open source technologies.
The source code will be made available for the community, for adopters and end users
to study and modify the software and to redistribute copies of either the original or the
modified version. Source code will also be free from any royalty.
With no vendor monopoly, the use of free and open standards is possible. With data
transferability and open data formats, there are greater opportunities to share data
across interoperable platforms.
Adoption of open source software enhances the interoperability with other enterprise
solutions because the reuse of recommended software stacks, libraries and
components is possible.
Eucalyptus
2. The partnership also allows Eucalyptus to work with Amazon’s product teams
to develop unique AWS-compatible features
This makes it possible to efficiently extend a Eucalyptus private cloud to a hybrid
cloud environment.
Eucalyptus was founded out of a research project in the Computer Science Department
at the University of California, Santa Barbara, and became a for-profit business called
Eucalyptus Systems in 2009.
• The Eucalyptus cloud platform pools together existing virtualized infrastructure to
create cloud resources for infrastructure as a service, network as a service and storage
as a service.
Cloud Computing
Lecture:1.8
Eucalyptus Architecture
The main components of Eucalyptus cloud architecture are as follows:
Cloud Controller (CLC): This is the controller that manages virtual resources like
servers, network and storage. It is at the highest level in hierarchy. It is a Java program
with web interface for outside world. It can do resource scheduling as well as system
accounting. There is only one CLC per cloud. It can handle authentication, accounting,
reporting and quota management in cloud.
Walrus: This is another Java program in Eucalyptus that is equivalent to AWS S3
storage. It provides persistent storage. It also contains images, volumes and snapshots
similar to AWS. There is only one Walrus in a cloud.
Cluster Controller (CC): It is a C program that is the front end for a Eucalyptus cloud
cluster. It can communicate with Storage controller and Node controller. It manages the
instance execution in cloud.
Storage Controller (SC): It is a Java program equivalent to EBS in AWS. It can
interface with Cluster Controller and Node Controller to manage persistent data via
Walrus.
Node Controller (NC): It is a C program that can host a virtual machine instance. It is at
the lowest level in Eucalyptus cloud. It downloads images from Walrus and creates an
instance for computing requirements in cloud.
VMWare Broker: It is an optional component in Eucalyptus. It provides AWS
compatible interface to VMWare environment.
Nimbus
• Nimbus Platform is an integrated set of tools that deliver the power and versatility of
infrastructure clouds to scientific users. Nimbus Platform allows you to combine
Nimbus, OpenStack, Amazon, and other clouds.
• Nimbus is another open source IaaS implementation framework which came online
September 2005.
• Nimbus allows a client to lease remote resources by deploying virtual machines
(VMs) on those resources and configuring them to represent an environment desired
by the user.
• It was formerly known as the "Virtual Workspace Service" (VWS) but the "workspace
service" is technically just one the components in the software collection.
• Nimbus was designed with the goal of turning clusters into clouds mainly to be used in
scientific applications.
• An open source Infrastructure-as-a-Service Implementation Turns your cluster into a
cloud
• The current stable release of Nimbus Infrastructure is 2.10.1.
Nimbus Architecture
Workspace Resource Manager: Its used to implements VM instance creation on a site and
management.
Workspace Pilot: Its provides virtualization with significant changes to the site
configurations.
Workspace control: Its used to implements VM instance management such as start, stop
and pause VM. It also provides image management and sets up networks and provides IP
assignment.
Context Broker: Its allows clients coordinate large virtual cluster launches automatically
and repeatedly.
Workspace Client: It is a complex client that provides full access to the workspace service
functionality.
Storage Service: Cumulus is a web service providing users with storage capabilities to store
images and works in conjunction.
Cloud Computing
Lecture:1.9
OpenNebula Cloud
• [Link] was an open-source project in 2005 by Ignacio M. Llorente and
Ruben
S. Montero, first public release in 2008, starting from 2010 [Link] is
managed by C12G labs.
• OpenNebula is a free and open source software solution for building clouds and for
data centre virtualisation.
• It is based on open technologies and is distributed under the Apache License 2.
• OpenNebula has features for scalability, integration, security and accounting. It offers
cloud users and administrators a choice of interfaces.
Benefits of OpenNebula
The plurality of support to Hyper-V and platform-independent architecture makes
OpenNebula the ideal solution for heterogeneous computing centre environments.
The main advantages of OpenNebula are:
It is 100 per cent open source and offers all the features in one edition.
It provides control via the command line or Web interface, which is ideal for
a variety of user groups and needs.
OpenNebula is available for all major Linux distributions, thus
simplifying installation.
The long-term use of OpenNebula in large scale production environments
has proven its stability and flexibility.
OpenNebula is interoperable and supports OCCI (Open Cloud
Computing Interface) and AWS (Amazon Web Services).
OpenNebula presents a highly modular architecture that offers broad support for commodity
and enterprise-grade hypervisor, monitoring, storage, networking and user management
services.
Components of OpenNebula
Based on the existing infrastructure, OpenNebula provides various services and
resources. You can view the components in above Figure.
APIs and interfaces: These are used to manage and monitor OpenNebula
components. |To manage physical and virtual resources, they work as an
interface.
Users and groups: These support authentication, and authorise individual users
and groups with the individual permissions.
Hosts and VM resources: These are a key aspect of a heterogeneous cloud that
is managed and monitored, e.g., Xen, VMware.
Storage components: These are the basis for centralised or decentralised
template repositories.
Network components: These can be managed flexibly. Naturally, there is
support for VLANs and Open vSwitch.
CloudSim
• It is a framework for modeling and simulation of cloud computing infrastructures and
services.
• Originally built primarily at the Cloud Computing and Distributed Systems
(CLOUDS) Laboratory, The University of Melbourne, Australia
• CloudSim has become one of the most popular open source cloud simulators in the
research and academia.
• CloudSim is completely written in Java.
• CloudSim is a software framework that supports several core functionality of cloud
like job/task queue, processing of events, creation of cloud entities, communication
between entities, implementation of broker policies etc.
Features:
• Support of modeling and simulation of large scale computing environment.
• A self-contained platform for modeling clouds, service brokers and allocation policies.
• Support for simulation of network connections among the simulated system elements.
• Facility for simulation of federated cloud environment, that inter-networks resources
from both private and public domains.
• Availability of a virtualization engine that aids in the creation and management of
multiple independent and co-hosted virtual services on a data center node.
• Flexibility to switch between space shared and time shared allocation of processing
cores to virtualized services.