Professional Documents
Culture Documents
Cloud Computing
Cloud Computing
Introduction:
What is Distributed Computing?
Distributed Computing can be defined as the use of a
distributed system to solve a single large problem by breaking it down into several tasks where
each task is computed in the individual computers of the distributed system.
i) Abstraction
ii) Automation
iii) Elasticity
Automation:- Automation in the cloud means that the developers or users have complete
automatic control over their resources. There is no human interaction, even from a developer or
user perspective.
Elasticity:- In the early nineties, people bought large, expensive, scalable servers and waited
for long time to use the full capacity of their server. This is highly inefficient as most of the time
the server was underutilized. In the dot-com era, people started scaling horizontally, which
allowed them to add capacity according to their needs.
Rapid Elasticity: - IT resources are able to scale out and is quickly and os
as needed basis. Whenever the users require services it is provided to him
and it is scale out as soon as its requirement gets over.
SaaS: - SaaS can be defined as software that is owned and managed by one or
more providers. A SaaS provider delivers the software on the basis of a set of
common code and data definitions. In simple words, SaaS is software that is leased
and maintained by its creator on the basis of the metrics. SaaS is a key component of
the cloud computing technology. Cloud service provider takes the responsibility of
installing, operating and maintaining the respective type of software application on the
company’s behalf.
Service-oriented computing
Service orientation is the core reference model for cloud computing
systems. Service oriented computing and cloud computing have
reciprocal relationship --- one provides computing of services and
other provides services of computing.Service-oriented computing
(SOC) supports the development of rapid, low-cost, flexible,
interoperable, and evolvable applications and systems.
A service is an abstraction representing a self-describing and
platform-independent component that can perform any function-- from
a simple function to a complex business process. A service is
supposed to be loosely coupled, reusable, programming language
independent, and location transparent.
Loose coupling allows services to serve different scenarios more
easily and makes them reusable.
Independence from a specific platform increases services
accessibility.
Thus, a wider range of clients, which
can look up services in global registries and consume them in a
location-transparent manner, can be served.
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 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, reliability, scalability, and availability.
The concept of 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 datacenter and make them available on a
subscription or rental basis.
Cloud Environment
Cloud Computing environment is a new great approach of providing IT
related services. In simple words Cloud Computing environment is all
about IT and what IT needs: different kinds of software and
hardware, pay-per-use or subscription based services offered both
through the Internet and in real time.
Cloud computing environment Development of cloud computing application
happens by leveraging platforms & frameworks that provide different types
of services, from the bare metal infrastructure to customizable applications
servicing specific purposes. Various such platforms or technologies (PaaS)
that are available for the users to build and host an application are:
Amazon Web Services: AWS offers virtual compute, storage, networking &
complete computing stacks. It is known for its on-demand services namely
Elastic Compute Cloud (EC2) and Simple Storage Service (S3).
Google AppEngine: Launched in 2008, it provides an alternative to fixed
applications (SaaS) and raw hardware (IaaS). App Engine managed
infrastructure, provides a development platform to create apps, leveraging
Google's infrastructure as a hosting platform. Microsoft Azure: It is also a
scalable runtime environment for web & distributed applications. However,
it provides additional services such as support for storage (relational data &
blobs), networking, caching, content delivery & others