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

Module1 Introduction

Uploaded by

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

Module1 Introduction

Uploaded by

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

Cloud Computing

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.

 This vision of computing utilities based on a service-provisioning model anticipated


the massive transformation of the entire computing industry in the 21st century,
whereby computing services will be readily available on demand, just as other
utility services such as water, electricity, telephone, and gas are available in today’s
society.
Glance

 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.

 Cloud computing allows renting infrastructure, runtime environments, and services


on a pay per-use basis.

 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 - Glance


Glance
 Cloud computing is a service provisioning technique where computing resources
like hardware such as servers and storage devices, software's and complete
platform for developing applications are provided as a service by the cloud
providers to the customers.
 Customers can use these resources as and when needed, can increase or decrease
resource capacities dynamically according to their requirements and pay only for
how much the resource were used.
 Customers no need to invest money to purchase, manage and scale infrastructures,
software upgradation and software licensing.
1.1.1 The vision of cloud computing
vision

 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 entire stack of a computing system is transformed into a collection of utilities,


which can be provisioned and composed together to deploy systems in hours rather
than days and with virtually no maintenance costs.

 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

 Technological elements contributing to this vision already exist:

 Different stake-holders leverage clouds for a variety of services.


 The need for ubiquitous storage and compute power on demand is the most
common reason to consider cloud computing.
 A scalable runtime for applications is an attractive option for application and system
developers that do not have infrastructure or cannot afford any further expansion
of existing infrastructure.
 The capability for Web-based access to documents and their processing using
sophisticated applications is one of the appealing factors for end users.
 We imagine that in the near future it will be possible to find the solution that
matches our needs by simply entering our request in a global digital market that
trades cloud computing services.
 Datacenters, Green IT, Increase revenue.
1.1.2 Defining a cloud
 It is often associated with virtualized infrastructure or hardware on demand, utility
computing, IT outsourcing, platform and software as a service, and many other
things that now are the focus of the IT industry.

 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.

 Abstraction of the network in system diagrams.


Defining a cloud
Defining a cloud

 It introduces the concept of everything as a service, mostly referred as XaaS, where


the different components of a system—IT infrastructure, development platforms,
databases, and so on—can be delivered, measured, and consequently priced as a
service.
 This new approach significantly influences not only the way that we build software
but also the way we deploy it, make it accessible, and design our IT infrastructure,
and even the way companies allocate the costs for IT needs.
 The approach fostered by cloud computing is global: it covers both the needs of a
single user hosting documents in the cloud and the ones of a CIO deciding to
deploy part of or the entire corporate IT infrastructure in the public cloud.
 Definition proposed by the U.S. National Institute of Standards and Technology
(NIST): Cloud computing is a model for enabling ubiquitous, convenient, on-
demand network access to a shared pool of configurable computing resources (e.g.,
networks, servers, storage, applications, and services) that can be rapidly
provisioned and released with minimal management effort or service provider
interaction.
 Important aspect of cloud computing is its utility-oriented approach.
Defining a cloud

 According to Reese [29], we can define three criteria to discriminate whether a


service is delivered in the cloud computing style:
• The service is accessible via a Web browser (nonproprietary) or a Web services
application programming interface (API).
• Zero capital expenditure is necessary to get started.
• You pay only for what you use as you use it.
 Even though many cloud computing services are freely available for single users,
enterprise class services are delivered according a specific pricing scheme. In this
case users subscribe to the service and establish with the service provider a service-
level agreement (SLA) .
 The utility-oriented nature of cloud computing is clearly expressed by Buyya et al.
[30]: A cloud is a type of parallel and distributed system consisting of a collection of
interconnected and virtualized computers that are dynamically provisioned and
presented as one or more unified computing resources based on service-level
agreements established through negotiation between the service provider and
consumers.
1.1.3 A Closer look
 Cloud computing is helping enterprises, governments, public and private
institutions, and research organizations shape more effective and demand-driven
computing systems.

 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.

 Practical examples of such systems exist across all market segments:


• Large enterprises can offload some of their activities to cloud-based systems.
Recently, the New York Times has converted its digital library of past editions into a
Web-friendly format. This required a considerable amount of computing power for
a short period of time. By renting Amazon EC2 and S3 Cloud resources, the Times
performed this task in 36 hours and relinquished these resources, with no
additional costs.
A closer look

 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

Major deployment models for cloud computing


 The three major models for deploying and accessing cloud computing environments
are public clouds, private/enterprise clouds, and hybrid clouds
1. Public clouds are the most common deployment models in which necessary IT
infrastructure (e.g., virtualized datacenters) is established by a third-party service
provider that makes it available to any consumer on a subscription basis. Such clouds
are appealing to users because they allow users to quickly leverage compute, storage,
and application services. In this environment, users’ data and applications are
deployed on cloud datacenters on the vendor’s premises.

2. Private clouds:Large organizations that own massive computing infrastructures can


still benefit from cloud computing. In 2010, for example, the U.S. federal government,
one of the world’s largest consumers of IT spending (around $76 billion on more than
10,000 systems) started a cloud computing initiative aimed at providing government
agencies with a more efficient use of their computing facilities. The use of cloud-
based in-house solutions is also driven by the need to keep confidential information
within an organization’s premises. Institutions such as governments and banks that
have high security, privacy, and regulatory concerns prefer to build and use their own
private or enterprise clouds.
A closer look
 3. Whenever private cloud resources are unable to meet users’ quality-of-service
requirements, hybrid computing systems, partially composed of public cloud
resources and privately owned infrastructures, are created to serve the
organization’s needs. These are often referred as hybrid clouds, which are
becoming a common way for many stakeholders to start exploring the possibilities
offered by cloud computing.
1.1.4 Cloud computing Reference Model
Cloud computing reference model

 Cloud computing services offerings into three major categories: Infrastructure-as-a-


Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS).

 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.

 It gained major popularity in 2004.


Historical Developments
1.2.4 Service Oriented Computing
 It acts as a core reference model for cloud computing
systems.
 Service-oriented computing (SOC) supports the
development of rapid, low-cost, flexible, interoperable, and
evolvable applications and systems.

 Two important concepts: Quality of service (QoS) and Software-as-a-Service (SaaS).


 Quality of service (QoS) identifies a set of functional and non functional attributes that
can be used to evaluate the behavior of a service from different perspectives. These
could be performance metrics such as response time, or security attributes,
transactional integrity, reliability, scalability, and availability.

 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

 The creation of cloud computing environments encompasses both the


development of applications and systems that leverage cloud computing solutions
and the creation of frameworks, platforms, and infrastructures delivering cloud
computing services.
Building cloud computing environment
1.3.1 Application development
 Applications that leverage cloud computing benefit from its capability to
dynamically scale on demand. One applications that takes the biggest advantage of
this feature is that of Web applications.
 Their performance is mostly influenced by the workload generated by varying user
demands. With the Web 2.0 technology, the Web has become a platform for
developing rich and complex applications, including enterprise applications.
 Another applications that gain advantage by leveraging cloud computing is
resource-intensive applications. These can be either data-intensive or compute-
intensive applications.
 In both cases, considerable amounts of resources are required to complete
execution in a reasonable time frame.
 Cloud computing provides a solution for on-demand and dynamic scaling across the
entire stack of computing by:
 Providing methods for renting compute power, storage, and networking;
 Offering runtime environments designed for scalability and dynamic sizing; and
 Providing application services that mimic the behavior of desktop applications but
that are completely hosted and managed on the provider side.
1.3.2 Infrastructure and System
Building cloud computing environment

development
 Distributed computing is a foundation model for cloud computing.

 IaaS solutions provide the capabilities to add and remove resources.

 PaaS solutions embed into core algorithms and rules that control the provisioning

process and lease of resources, which are completely transparent to developers.


 Web 2.0 technologies constitute the interface through which cloud computing

services are delivered, managed, and provisioned.


 Cloud computing is often summarized with the acronym XaaS —Everything-as-a-

Service— that clearly underlines the central role of service orientation.


 Virtualization technology is a core feature of the infrastructure used by cloud

providers. Cloud computing provides mechanisms in demand by replicating the


required components of computing systems under stress (i.e., heavily loaded).
1.4 Computing Platforms and Technologies
Amazon Web Services (AWS)
 AWS offers comprehensive cloud IaaS services ranging from virtual compute,
storage, and networking to complete computing stacks.
 AWS is mostly known for its compute and storage-on-demand services, namely
Elastic Compute Cloud (EC2) and Simple Storage Service (S3). EC2 provides users
with customizable virtual hardware.
 EC2 also provides the capability to save a specific running instance as an image,
thus allowing users to create their own templates for deploying systems.
 With EC2 users can even provision hundreds or thousands of server instances
simultaneously.
GoogleAppEngine
 It is a scalable runtime environment mostly devoted to executing Web applications.
 These services include in-memory caching, scalable data store, job queues,
messaging and cron tasks.
 Developers can build and test applications on their own machines using the
AppEngine software development kit (SDK).

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.

 Hadoop is designed to scale up from a single computer to thousands of clustered


computers, with each machine offering local computation and storage.

 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.

 It supports a collection of programming abstractions for developing applications and a


distributed runtime environment that can be deployed on heterogeneous hardware
(clusters, networked desktop computers, and cloud resources).

 Developers can choose different abstractions to design their application: tasks,


distributed threads, and map-reduce.

 Services manage most of the activities happening at runtime: scheduling, execution,


accounting, billing, storage, and quality of service.

You might also like