0% found this document useful (0 votes)
1 views13 pages

CC_Module1

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 13

Module 1

Introduction:
Introduction ,Cloud Computing at a Glance, Historical Developments, Building Cloud Computing
Environments, Amazon Web Services (AWS), Google AppEngine, Microsoft Azure, Hadoop,
Force.com and Salesforce.com, Manjrasoft Aneka

Introduction

Cloud Computing enables customers to use the information and applications via the
internet, without installing and maintaining them on-premises.

Cloud computing is the on-demand availability of computer system resources, especially


data storage and computing power, without direct active management by the user.

Cloud computing is a technological advancement it is based on the concept of dynamic


provisioning (allows storage to be created on demand), 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.

Cloud Computing at a Glance

Cloud computing allows renting infrastructure, runtime environments, and services on a pay per-
use basis. End users leveraging (use) cloud computing services can access their documents and
data anytime, anywhere, and from any device connected to the Internet. One of the most diffuse
views of cloud computing can be summarized as follows:

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.
The Vision of Cloud Computing

Vision of cloud computing is that in the near future it will be possible to find the solution that
matches the customer needs by simply entering our request in a global digital market that trades
cloud computing services.

Defining a Cloud

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. This
aspect is also reflected in the definition given by Armbrust:

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.

The notion of multiple parties using a shared cloud computing environment is highlighted in a
definition proposed by the U.S. National Institute of Standards and Technology (NIST):

Cloud computing is a model for enabling ubiquitous (present everywhere) , 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.

According to Reese, 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 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.

The utility-oriented nature of cloud computing is clearly expressed by Buyya:

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.

A Closer Look

Cloud computing is helping enterprises, governments, public and private institutions, and
research organizations shape more effective and demand-driven computing systems. Practical
examples of such systems exist across all market segments:

1. Large enterprises can offload some of their activities to cloud-based systems


2. Small enterprises and start-ups can afford to translate their ideas into business results
more quickly, without excessive up-front costs
3. System developers can concentrate on the business logic rather than dealing with the
complexity of infrastructure management and scalability.
4. End users can have their documents accessible from everywhere and any device.

The three major models for deploying and accessing cloud computing environments are public
clouds, private/enterprise clouds, and hybrid clouds
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. The infrastructure is made available to public.

Private cloud – the infrastructure is operated solely (only) for an organization

Hybrid cloud – It is the composition of 2 or more clouds. 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 infra- structures, 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
The cloud computing reference model

Cloud computing services are classified into three major categories:

Infrastructure-as-a-Service (IaaS),

Platform-as-a-Service (PaaS), and

Software-as-a-Service (SaaS)

1. IaaS - Infrastructure-as-a-Service solutions deliver infrastructure on demand in the form


of virtual hardware, storage, and networking. Ex: S3
The end users are the system admin.
2. PaaS – It is a cloud base where the development, testing and organizing the different
applications take place. Ex: Database
The end users are the developers
3. SaaS -- Software-as-a-Service solutions provide applications and services on demand.
Most of the common functionalities of desktop applications—such as office automation,
document management, photo editing, and customer relationship management (CRM)
software—are replicated on the provider’s infrastructure and made more scalable and
accessible through a browser on demand. Ex: Email, Google Apps
The end users are the customers

Characteristics and benefits

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: You don’t have to contractually agree to a specific amount
of usage up-front, it is based on “pay as you go” approach.
 On demand access
 Nice pricing
 Simplified application acceleration and scalability
 Efficient resource allocation
 Energy efficiency
 Seamless creation and use of third- party services

Challenges Ahead
1. Data Security and Privacy
Even if the cloud service provider assures data integrity, it is your responsibility to carry
out user authentication and authorization, identity management, data encryption, and
access control.
2. Cost Management
Almost all cloud service providers have a “Pay As You Go” model, which reduces the
overall cost of the resources being used, there are times when there are huge costs
incurred to the enterprise using cloud computing. When there is under optimization of the
resources, let’s say that the servers are not being used to their full potential, add up to the
hidden costs.

3. Performance Challenges
If the performance of the cloud is not satisfactory, it can drive away users and decrease
profits. Even a little latency while loading an app or a web page can result in a huge
drop in the percentage of users.

4. Interoperability and Flexibility


There is a lack of flexibility from switching from one cloud to another due to the
complexities involved.
5. Legal issues may also arise. These are specifically tied to the ubiquitous nature of Cloud
Computing

Historical developments
The idea of renting computing services by leveraging large distributed computing facilities has
been around for long time. It dates back to the days of the mainframes in the early 1950s. From
there on, technology has evolved and been refined. This process has created a series of
favorable conditions for the realization of cloud computing.
In tracking the historical evolution, we briefly review five core technologies that played an
important role in the realization of cloud computing. These technolo- gies are distributed
systems, virtualization, Web 2.0, service orientation, and utility computing.
Distributed systems

Clouds are essentially large distributed computing facilities that make available their services
to third parties on demand.

Three major milestones have led to cloud computing: mainframe computing, cluster
computing and grid computing.

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, and other
operations involving the processing of significant amounts of data. One of the most attractive
features of mainframes was the ability to be highly reliable computers that were “always on”
and capable of tolerating failures transparently. No system shutdown was required to replace
failed components, and the system could work without interruption.

Cluster computing started as a low-cost alternative to the use of mainframes and


supercomputers. Built by commodity machines (readily available), they were cheaper than
mainframes and made high-performance computing available to a large number of groups,
including universities and small research labs.

Grid computing 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. Users can “consume”
resources in the same way as they use other utilities such as power, gas, and water. Grids
initially developed as aggregations of geographically dispersed clusters by means of Internet
connections
Virtualization
Virtualization is another core technology for cloud computing. It encompasses a collection of
solutions allowing the abstraction of some of the fundamental elements for computing, such as
hardware, runtime environments, storage, and networking.
Virtualization is the process of running a virtual instance of a computer in a layer abstracted from
the actual hardware. Most commonly, it refers to running multiple operating systems on a
computer system simultaneously.

Web 2.0
The Web is the primary interface through which cloud computing delivers its services. At
present, the Web encompasses a set of technologies and services that facilitate interactive
information sharing, collaboration, user-centered design, and application composition.
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.

Service-Oriented Computing

Service orientation is the 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.
Virtually any piece of code that performs a task can be turned into a service and expose its
functionalities through a network-accessible protocol.
Service-oriented computing introduces and diffuses two important concepts, which are also
fundamental to cloud computing: quality of service (QoS) and Software-as-a-Service (SaaS).

Quality of service (QoS) identifies a set of functional and nonfunctional 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. QoS requirements are established between the client and
the provider via an SLA that identifies the minimum values (or an acceptable range) for the QoS
attributes that need to be satisfied upon the service call.
The concept of Software-as-a-Service introduces a new delivery model for applications.

Utility -oriented computing

Utility computing is a vision of computing that 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.

Building cloud computing environments


The creation of cloud computing environments encompasses both the development of
applications and systems that leverage (use) cloud computing solutions and the creation of
frameworks (A cloud computing framework is a collection of tools, libraries, and technologies
that developers can use to build and deploy cloud-based applications and services.), platforms,
and infrastructures delivering cloud computing services.

Application development
Applications that leverage cloud computing benefit from its capability to dynamically scale on
demand. One class of applications that takes the biggest advantage of this feature is that of Web
applications.
Another class of applications that can potentially gain considerable advantage by leveraging
cloud computing is represented by 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 timeframe.

Infrastructure and system development


Distributed computing, virtualization, service orientation, and Web 2.0 form the core
technologies enabling the provisioning of cloud services from anywhere on the globe.
Infrastructure-as-a-Service solutions provide the capabilities to add and remove resources, but
it is up to those who deploy systems on this scalable infrastructure to make use of such
opportunities with wisdom and effectiveness.
Platform-as-a-Service solutions embed into their core offering algorithms and rules that control
the provisioning process and the lease of resources. These can be either completely transparent to
developers or subject to fine control.
Web 2.0 technologies constitute the interface through which cloud computing services are
delivered, managed, and provisioned.
Virtualization is another element that plays a fundamental role in cloud computing. This
technology is a core feature of the infrastructure used by cloud providers.

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- web service that provides secure,
resizable compute capacity in the cloud) and Simple Storage Service (S3- is a Simple Storage
Service in AWS that stores files of different types like Photos, Audio, and Videos as Objects).
S3 is organized into buckets; these are containers of objects that are stored in binary form.

Google AppEngine
Google AppEngine is a scalable runtime environment mostly devoted to executing Web
applications. Google App Engine is a cloud computing platform used as a service for developing
and hosting of web applications. AppEngine provides both a secure execution environment and a
collection of services that simplify the development of scalable and high performance web
applications. The services include in-memory caching, scalable data store, job queues and
messaging. Developers can build and test applications on their own machines using the
AppEngine software development kit (SDK), which replicates the production runtime
environment and helps test and profile applications. Once development is complete, developers
can easily migrate their application to AppEngine, and make the application available to the
world. The languages currently supported are Python, Java.

Microsoft Azure
Microsoft Azure is a cloud operating system and a platform for developing applications in the
cloud. It provides a scalable runtime environment for Web applications and distributed
applications in general. Applications in Azure are organized around the concept of roles.
Currently, there are three types of role: Web role, worker role, and virtual machine role
The Web role is designed to host a Web application, the worker role is a more generic container
of applications and can be used to perform workload processing, and the virtual machine role
provides a virtual environment.
Besides roles, Azure provides a set of additional services that complement application execution,
such a support for storage, networking, caching, content delivery and others.

Hadoop
Hadoop is an open source software programming framework for storing a large amount of data
and performing the computation. Its framework is based on Java programming with some native
code in C and shell scripts.
Hadoop is an open-source software framework that is used for storing and processing large
amounts of data in a distributed computing environment. Hadoop is an implementation of
MapReduce, an application programming model, developed by Google. It provides 2
fundamental operations for data processing: Map & Reduce.
The former transforms and synthesizes the input data provided by the user. The latter aggregates
the output obtained by map operations. Hadoop provides the runtime environment, and
developers need only provide the input data and specify the map and reduce functions that need
to be executed.
Yahoo! The sponsor of the Apache Hadoop project, has put considerable efforts into
transforming the project into an enterprise ready cloud computing platform for data processing.
Currently, Yahoo! Manages the largest Hadoop cluster in the world.

Force.com and Salesforce.com


Salesforce is a company and salesforce.com is a Customer Relationship Management (CRM – it
is a system for managing all of your company’s interactions with current and potential
customers. CRM consists of Marketing, Sales, Feedback and Support. CRM technology helps
companies to stay connected to customers.) application developed based on Software as a
Service (SaaS). force.com is a cloud computing platform for developing social enterprise
applications. The platform is the basis for salesforce.com allows developers to create
applications by composing ready-to-use blocks; a complete set of components supporting all the
activities of an enterprise are available.
The platform provides complete support for developing applications, from the design of the data
layout to the definition of business rules and workflows and the definition of user interface.

Manjrasoft Aneka
Manjrasoft Aneka is a cloud application platform for rapid creation of scalable applications and
their deployment on various types of clouds in a seamless and elastic manner.
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).

Question Bank
1. Explain with suitable diagram the cloud computing reference model.
2. Discuss in detail the major deployment models for cloud computing.
3. What is cloud computing? Explain its characteristics and benefits.
4. Discuss about the milestones which have led to cloud computing
5. Explain the core technologies that play an important role in the realization of cloud
computing.
6. Write a note on challenges in cloud computing.

You might also like