2. Introduction
• It is a technology that uses remote servers on the internet to store, manage,
and access data online rather than local drives.
• Cloud computing is the next stage in evolution of the Internet.
• The cloud itself is a set of hardware, networks, storage, services, and
interfaces that enable the delivery of computing as a service. Cloud services
include the delivery of software, infrastructure, and storage over the
Internet (either as separate components or a complete platform) based on
user demand.
NIST (National institute of standards and Technology) definition of Cloud
Computing
• Cloud computing is a model for enabling 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.
3. History
• Before emerging the cloud computing, there was Client/Server computing
which is basically a centralized storage in which all the software
applications, all the data and all the controls are resided on the server side.
• Then after, distributed computing came into picture, where all the
computers are networked together and share their resources when needed.
• At around in 1961, John MacCharty suggested in a speech at MIT that
computing can be sold like a utility, just like a water or electricity.
• In 2002, Amazon started Amazon Web Services, providing services like
storage, computation.
• After that in 2009, Google also started providing Cloud
Computing(Google Cloud). In 2009, Microsoft launch Microsoft
Azure and after that other companies like Alibaba, IBM, Oracle, HP also
introduces their Cloud Services.
4. Essential characteristics of
Cloud Computing
1. On-demand self-service: Services can be provided unilaterally and on demand to
consumers without requiring human interaction.
2. Broad network access: Services are available over the network in real-time
through standard mechanisms.
3. Elasticity: Resources are rapidly provisioned in various, fine-grained quantities so
that the systems can be scaled as required. To the consumer, the resources appear
to be unlimited.
4. Measured quality of service: The services leverage a quantitative and qualitative
metering capability so that usage-based billing and validation of the service quality
are possible.
5. 5. Resource pooling: The resources are pooled to enable parallel service
provision to multiple users (multi-tenant model), while being adjusted to
the actual demand of each user. In other words, space and resources are
pooled to serve multiple clients at one time.
Advantage:
o High Availability
o Load Balancing
o High Performance Computing
6. Architecture
• Front End
Front End is mainly used by the client-
side. It contains the interfaces which are
essential for accessing the platforms of
cloud computing. The front End involves
the web browser, which is used by web
servers, for example, Google Chrome,
Mozilla Firefox, Internet Explorer and
others.
• Back End
Back End has the complete responsibility
of monitoring all the programs
responsible for running the applications
on the Front End. It is mainly used by the
service provider. It has to manage all the
resources which are necessary for
providing Cloud Computing Services.
Back End involves massive amounts of
data storage, security operations, virtual
machines, servers, and many more.
7. 1. Client Infrastructure
• Client Infrastructure is a Front end component. It contains the applications
and user interfaces which are required to access the cloud platform, or in
another words It provides GUI (Graphical User Interface) to interact with the
cloud.
2. Back End
i. Application: The application may be any software or platform that a client
wants to access.
ii. Service in backend refers to the major three types of cloud based services
like SaaS, PaaS and IaaS. Also manages which type of service the user
accesses.
8. Three type of services:
• i. Software as a Service (SaaS) – It is also known as cloud
application services. Mostly, SaaS applications run directly through
the web browser means we do not require to download and install these
applications. Some important example of SaaS is given below –
Example: Google Apps.
• ii. Platform as a Service (PaaS) – It is also known as cloud
platform services. It is quite similar to SaaS, but the difference is that
PaaS provides a platform for software creation, but using SaaS, we can
access software over the internet without the need of any platform.
Example: Windows Azure
• iii. Infrastructure as a Service (IaaS) – It is also known as cloud
infrastructure services. It is responsible for managing applications
data, middleware, and runtime environments.
Example: Amazon Web Services (AWS)
9. • Runtime Cloud : Runtime Cloud provides the execution and runtime
environment to the virtual machines.
• Storage: Cloud storage is where the data resides within a cloud application. A
dedicated portion of the cloud is commonly used for this purpose. Examples
include solid-state drives (SSDs), hard disk drives (HDDs).
• Infrastructure : Cloud Infrastructure in backend refers to the hardware and
software components of cloud like it includes servers, storage, network devices,
virtualization software etc.
• Management
Management is used to manage components such as
application, service, runtime cloud, storage, infrastructure, and
other security issues in the backend and establish coordination
between them.
• Security
Security is an in-built back end component of cloud computing. It
implements a security mechanism in the back end.
10. Grid computing
• Grid computing is a system for connecting a large number of
computer nodes into a distributed architecture that delivers
the compute resources necessary to solve complex problems.
• The nodes can include servers or personal computers that are
loosely linked together by the internet or other networks and,
in many cases, distributed across multiple geographic
regions. Grid computing uses the resources available to each
node to run independent tasks that contribute to the larger
endeavor.
• Grid computing provides an architecture for creating a
virtual supercomputer made up of distributed
computer nodes.
11. Grid computing
Cloud Computing Grid Computing
Cloud Computing follows client-server computing
architecture.
Grid computing follows a distributed computing
architecture.
Scalability is high. Scalability is normal.
Cloud Computing is more flexible than grid
computing.
Grid Computing is less flexible than cloud
computing.
In cloud computing, cloud servers are owned by
infrastructure providers.
In Grid computing, grids are owned and managed
by the organization.
Cloud computing uses services like Iaas, PaaS,
and SaaS.
Grid computing uses systems like distributed
computing and distributed information.
Cloud Computing is Service-oriented. Grid Computing is Application-oriented.
It is accessible through standard web browser. It is accessible through grid middleware.
12. Cloud service models
• NIST defines three service models of how Cloud services can be
offered:
• Infrastructure as a Service (IaaS)
• Platform as a Service (PaaS)
• Software as a Service (SaaS)
•
13. Infrastructure as a
Service (IaaS):
• IaaS is a way to deliver a cloud computing infrastructure like server,
storage, network and operating system.
• The customers can access these resources over cloud computing
platform i.e Internet as an on-demand service.
• In IaaS, you buy complete resources rather than purchasing server,
software, datacenter space or network equipment.
• IaaS was earlier called as Hardware as a Service(HaaS). It is a
Cloud computing platform based model.
• Advantages of IaaSIn IaaS, user can dynamically choose a CPU,
memory storage configuration according to need.
• Users can easily access the vast computing power available on
IaaS Cloud platform.
• Disadvantages of IaaSIaaS cloud computing platform model is
dependent on availability of Internet.
14. Platform-as-a-Service
(PaaS)
• PaaS is a programming platform for developers. This platform is generated for the
programmers to create, test, run and manage the applications.
• A developer can easily write the application and deploy it directly into PaaS layer.
• PaaS gives the runtime environment for application development and deployment tools.
• Google Apps Engine(GAE), Windows Azure, SalesForce.com are the examples of PaaS.
Advantages of PaaSPaaS is easier to develop. Developer can concentrate on the
development and innovation without worrying about the infrastructure.
• In PaaS, developer only requires a PC and an Internet connection to start building
applications.
Disadvantages of PaaS
• One developer can write the applications as per the platform provided by PaaS vendor
hence the moving the application to another PaaS vendor is a problem.
•
15. Software-as-a-Service
(SaaS)
• SaaS is known as 'On-Demand Software'.
• It is a software distribution model. In this model, the applications are hosted by a cloud service
provider and publicized to the customers over internet.
• In SaaS, associated data and software are hosted centrally on the cloud server.
• User can access SaaS by using a thin client through a web browser.
• CRM, Office Suite, Email, games, etc. are the software applications which are provided as a
service through Internet.
Advantages of SaaS SaaS is easy to buy because the pricing of SaaS is based on monthly
or annual fee and it allows the organizations to access business functionalities at a
small cost, which is less than licensed applications.
• SaaS needed less hardware, because the software is hosted remotely, hence organizations do
not need to invest in additional hardware.
• Less maintenance cost is required for SaaS and do not require special software or hardware
versions.
Disadvantages of SaaS SaaS applications are totally dependent on Internet connection.
They are not usable without Internet connection.
• It is difficult to switch amongst the SaaS vendors.
Notas do Editor
Software is a set of instructions or data that operates the hardware. Application is a package to perform a specific task. Software is an all encompassing term for computer data. Application is a type of software that does a certain task.
In distributed system multiple computer are connected and they looks like they are different computer they are single computer.
Distributed Information System:
Related to database. System should follow ACID properties.