Module1 Introduction
Module1 Introduction
21CS72
avaji
Assist
Module 1
Introduction
Basics of Cloud Computing
Computing is being transformed into a model consisting of services that are commoditized
and delivered in a manner similar to utilities such as water, electricity, gas, and telephony. In
such a model, users access services based on their requirements, regardless of where the
services are hosted.
Cloud computing is the most recent emerging paradigm promising to turn the vision of
“computing utilities” into a reality.
It is based on the concept of dynamic provisioning, which is applied not only to services but
also to compute capability, storage, networking, and information technology (IT)
infrastructure in general.
Resources are made available through the Internet and offered on a pay-per-use basis from
cloud computing vendors.
Today, anyone with a credit card can subscribe to cloud services and deploy and configure
servers for an application in hours, growing and shrinking the infrastructure serving its
application according to the demand, and paying only for the time these resources have been
used.
1.1 Cloud Computing at a Glance
In 1969, Leonard Klein rock, one of the chief scientists of the original Advanced
Research Projects Agency Network (ARPANET), which seeded the Internet, said:
As of now, computer networks are still in their infancy, but as they grow up and
become sophisticated, we will probably see the spread of ‘computer utilities’ which,
like present electric and telephone utilities, will service individual homes and offices
across the country.
Similarly, users (consumers) need to pay providers only when they access the
computing services. In addition, consumers no longer need to invest heavily or
encounter difficulties in building and maintaining complex IT infrastructure.
I don’t care where my servers are, who manages them, where my documents are
stored, or where my applications are hosted. I just want them always available and
access them from any device connected through Internet. And I am willing to pay
for this service for as a long as I need it.
Glance
Cloud computing allows anyone with a credit card to provision virtual hardware,
runtime environments, and services.
These are used for as long as needed, with no up-front commitments required.
The long-term vision of cloud computing is that IT services are traded as utilities in
an open market, without technological and legal barriers.
vision
The Internet plays a fundamental role in cloud computing, since it represents either
the medium or the platform through which many cloud computing services are
delivered and made accessible.
Definition given by Armbrust et al. [28]: Cloud computing refers to both the
applications delivered as services over the Internet and the hardware and system
software in the datacenters that provide those services.
Access to, as well as integration of, cloud computing resources and systems is now
as easy as performing a credit card transaction over the Internet.
Small enterprises and start-ups can afford to translate their ideas into business results
more quickly, without excessive up-front costs.
Animoto is a company that creates videos out of images, music, and video fragments
submitted by users.
The process involves a considerable amount of storage and backend processing
required for producing the video, which is finally made available to the user. Animoto
does not own a single server and bases its computing infrastructure entirely on
Amazon Web Services, which are sized on demand according to the overall workload
to be processed. Such workload can vary a lot and require instant scalability.
System developers can concentrate on the business logic rather than dealing with the
complexity of infrastructure management and scalability.
Little Fluffy Toys is a company in London that has developed a widget providing users
with information about nearby bicycle rental services. The company has managed to
back the widget’s computing needs on Google AppEngine and be on the market in
only one week.
A closer look
End users can have their documents accessible from everywhere and any device.
Apple iCloud is a service that allows users to have their documents stored in the
Cloud and access them from any device users connect to it. This makes it possible
to take a picture while traveling with a smart phone, go back home and edit the
same picture on your laptop, and have it show as updated on your tablet computer.
This process is completely transparent to the user, who does not have to set up
cables and connect these devices with each other.
A closer look
Cloud computing introduces a new way of thinking about IT services and resources: as
utilities. A bird’s-eye view of a cloud computing environment is shown in figure below.
A closer look
Iaas: At the base of stack, it delivers infrastructure on demand in the form of virtual
hardware, storage, and networking.
VM instance is created on user`s request.
Pricing model defined in terms of dollars per hour.
Virtual storage is delivered in the form of raw disk space or object store.
PaaS: solutions are the next step in the stack. They deliver scalable and elastic
runtime environments on demand and host the execution of applications.
responsible for creating the abstract environment where applications are deployed
and executed.
SaaS: provide applications and services on demand at the top of the stack. Area of
social networking websites.
1.1.5 Characteristics and benefits
Characteristics and benefits of Cloud computing has some interesting
characteristics that bring benefits to both cloud service consumers (CSCs) and cloud
service providers (CSPs).
These characteristics are:
No up-front commitments
On-demand access
Nice pricing
Simplified application acceleration and scalability
Efficient resource allocation
Energy efficiency
Seamless creation and use of third-party services
1.1.6 Challenges ahead
As any new technology develops and becomes popular, new issues have to be faced.
New, interesting problems and challenges are regularly being posed to the cloud
community, including IT practitioners, managers, governments, and regulators.
Technical challenges for managing large infrastructure and use of virtualization
technologies.
Security in terms of confidentiality, secrecy, and protection of data in a cloud
environment
Legal issues - . Different legislation about privacy in different countries may
potentially create disputes as to the rights that third parties (including government
agencies) have to your data.
1.2 Historical Developments
Historical Developments
1.2.1 Distributed Systems
Clouds are essentially large distributed computing facilities that make available their
services to third parties on demand.
“A distributed system is a collection of independent computers that appears to its users
as a single coherent system.”
The primary purpose of distributed systems is to share resources and utilize them better.
They exhibit other properties such as heterogeneity, openness, scalability, transparency,
concurrency, continuous availability, and independent failures.
Three major milestones have led to cloud computing:
Mainframe computing
Cluster computing
Grid computing.
The main problem with this system was that all the systems were required to be present
at the same geographical location.
Distributed Systems
1.2.1.1 Mainframes
The first examples of large computational facilities leveraging multiple processing
units.
Mainframes were powerful, highly reliable computers specialized for large data
movement and massive input/output (I/O) operations.
They were mostly used by large organizations for bulk data processing tasks such as
online transactions, enterprise resource planning, government services, etc.
They offered large computational power by using multiple processors, which were
presented as a single entity to users.
Main feature was the ability to be highly reliable computers that were “always on”,
capable of tolerating failures transparently. No system shutdown was required to
replace failed components.
Cons: Mainframes were very expensive.
Distributed Systems
1.2.1.2 Clusters
Low-cost alternative to the use of mainframes and super computers.
The technology advancement that created faster and more powerful mainframes and
super computers eventually generated an increased availability of cheap commodity
machines as a side effect.
These machines could then be connected by a high-bandwidth network and controlled
by specific software tools that manage them as a single system.
Also new nodes could easily be added to the cluster if it was required.
Thus, the problem of the cost was solved to some extent but the problem related to
geographical restrictions still pertained.
Distributed Systems
1.2.1.3 Grid Computing
It appeared in the early 1990s as an evolution of cluster computing.
In an analogy to the power grid, grid computing proposed a new approach to access
large computational power, huge storage facilities, and a variety of services.
A computing grid was a dynamic aggregation of heterogeneous computing nodes, and
its scale was nationwide or even worldwide.
1.2.2 Virtualization Historical Developments
Another core technology for cloud computing. It was introduced nearly 40 years back.
It refers to the process of creating a virtual layer over the hardware which allows the
user to run multiple instances simultaneously on the hardware. It is the base on which
major cloud computing services such as Amazon EC2, VMware vCloud, etc work on.
Virtualization refers to the partitioning the resources of a physical system (such as
computing, storage, network and memory) into multiple virtual resources.
Historical Developments
1.2.3 Web 2.0
Web is the primary interface through which cloud computing delivers its services.
Web 2.0 brings interactivity and flexibility into Web pages, providing enhanced user
experience by gaining Web-based access to all the functions that are normally found in
desktop applications.
It is the interface through which the cloud computing services interact with the clients.
It is because of web 2.0 that we have interactive and dynamic web pages.
Examples of Web 2.0 applications are Google Documents, Google Maps, Flickr,
Facebook, Twitter, YouTube, de.li.cious, Blogger, and Wikipedia. In particular, social
networking Websites take the biggest advantage of Web 2.0.
Software-as-a-Service introduces a new delivery model for applications. The term has
been inherited from the world of application service providers (ASPs), which deliver
software services – based solutions across the wide area network from a central data
center and make them available on a subscription or rental basis.
Historical Developments
1.2.5 Utility Oriented Computing
It defines a service-provisioning model for compute services in which resources such
as storage, compute power, applications, and infrastructure are packaged and
offered on a pay-per-use basis.
The American scientist JohnMcCarthy, who, in a speech for the Massachusetts
Institute of Technology (MIT) centennial in 1961, observed,:
“If computers of the kind I have advocated become the computers of the future, then
computing may someday be organized as a public utility, just as the telephone
system is a public utility . . . The computer utility could become the basis of a new
and important industry.”
1.3 Building Cloud Computing
Environments
development
Distributed computing is a foundation model for cloud computing.
PaaS solutions embed into core algorithms and rules that control the provisioning
Microsoft Azure
This is an IaaS offering from Microsoft.
Azure VM`s provides virtual machines of various computing capacities ranging from
small instances to memory intensive 8 virtual cores with 56GB memory.
there are three types of role:
Web role- host web application.
Worker role-container of applications and can be used to perform workload
processing.
Virtual machine role-provides a virtual environment in which the computing stack
can be fully customized, including the operating systems.
Hadoop
Apache Hadoop is an open-source framework that is suited for processing large data sets
on commodity hardware. Hadoop is an implementation of MapReduce, an application
programming model developed by Google. Currently, Yahoo! manages the largest
Hadoop cluster in the world, which is also available to academic institutions.
Hadoop uses:
Data storage and archiving: Hadoop can store large amounts of data, including
transactions, click streams, and sensor data, on commodity hardware.
Analytics and big data: Hadoop can process large amounts of data in parallel, which is
useful for research, production data processing, and analytics.
Marketing analytics: Hadoop can store and analyze customer relationship management
(CRM) data.
Risk management: Hadoop can be used to build risk analysis and management models.
Operational intelligence: Hadoop can help telecommunications companies understand
network utilization and switching system performance.
Supply chain management: Hadoop can be used to track the movement of goods and
vehicles.
Customer analytics: Hadoop can be used to analyze clickstream data, predict customer
churn, and track customer sentiment.
In this way, Hadoop can efficiently store and process large datasets ranging in size from
gigabytes to petabytes of data.
Force.com and Salesforce.com
Force.com is a cloud computing platform for developing social enterprise
applications.
The platform is the basis for SalesForce.com, a Software-as-a-Service solution for
customer relationship management.
Salesforce.com provides customer relationship management (CRM) software and
applications focused on sales, customer service, marketing automation,
e-commerce, analytics, and application development. Salesforce Platform (formerly
known as Force.com) is a platform as a service (PaaS) that allows developers to add
applications to the main Salesforce.com application. These applications are hosted
on Salesforce.com's infrastructure.
Manjrasoft Aneka
Aneka includes an extensible set of APIs associated with programming models like
MapReduce.
These APIs support different cloud models like a private, public, hybrid Cloud.