Introduction To Cloud Computing
Introduction To Cloud Computing
1
Cloud Computing at a Glance
• Cloud computing focuses on the way in which we design
computing systems, develop applications, and leverage
existing services for building software.
• Computing is being transformed to a model consisting of
services that are commoditized and delivered in a manner
similar to utilities such as water, electricity, gas, and
telephony.
• Based on the concept of dynamic provisioning.
• Users can access computing services based on their
requirements regardless of where they are hosted.
2
Cloud Computing at a Glance
• Cloud computing is a new paradigm for the dynamic
provisioning of computing services supported by state-of-
the-art data centers employing virtualization technologies
for consolidation and effective utilization of resources.
• It allows renting infrastructure, runtime environments, and
services on pay-per-use basis.
• Cloud computing turns IT services into utilities.
• It has transformed the internet into a rich application and
service delivery platform serving different complex needs.
3
Classical Computing vs. Cloud Computing
4
Classical Computing vs. Cloud Computing
5
Classical Computing vs. Cloud Computing
6
Classical Computing vs. Cloud Computing
7
Vision of Cloud Computing
8
Vision of Cloud Computing
9
Vision of Cloud Computing
• Cloud computing provides the facility to provision virtual
hardware, runtime environment and services to a person
having money.
• Services can be used as long as needed and no upfront
commitments are 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.
10
Defining a Cloud
• Cloud computing has become a popular buzzword and it
has been widely used to refer to different technologies,
services, and concepts.
1
Defining a Cloud
12
Cloud Computing : A Closer Look
• Cloud computing is helping enterprises, governments, public
and private institutions, as well as research organizations
shape more effective and demand-driven computing systems.
• Practical examples of such systems exist across all market
segments i.e. :
• Large enterprises can offload some of their activities to cloud
based systems.
• Small enterprises and start-ups can afford to translate into
business results their ideas more quickly without excessive
upfront costs.
• System developers can concentrate on the business logic rather
than dealing with the complexity of infrastructure management
and scalability.
• End users can have their documents accessible from everywhere
and from any device.
13
Cloud Computing : A Bird’s Eye View
1
Cloud Computing Deployment Models
15
Cloud Computing Deployment Models
16
Cloud Computing Deployment Models
17
Cloud Computing Reference Models
• Cloud computing has the capability to deliver a variety of
diverse IT services.
• The diverse set of cloud computing services offerings can be
categorized as
• Software-as-a-Service (SaaS)
• Platform-as-a-Service (PaaS)
• Infrastructure-as-a-Service (IaaS)
18
Cloud Computing Reference Models
19
Cloud Computing Reference Models
Infrastructure-as-a-Service (IaaS)
• IaaS is an instant computing infrastructure (virtual hardware,
storage, and networking), provisioned and managed over the
internet.
20
Cloud Computing Reference Models
Infrastructure-as-a-Service (IaaS)
• Virtual storage is delivered in the form of raw disk space or object
store.
21
Cloud Computing Reference Models
Platform-as-a-Service (PaaS)
• PaaS is a complete development and deployment environment in
the cloud, with resources that enable you to deliver everything
from simple cloud-based apps to sophisticated, cloud-enabled
enterprise applications.
22
Cloud Computing Reference Models
Platform-as-a-Service (PaaS)
• PaaS providers provide the Programming languages, Application
frameworks, Databases, and Other tools as services.
23
Cloud Computing Reference Models
Software-as-a-Service (SaaS)
• SaaS is a software distribution model in which a third-party
provider hosts applications and makes them available to
customers over the internet.
• It is closely related to the application service provider (ASP) and on
demand computing software delivery models.
24
Cloud Computing Reference Models
Difference between IaaS, PaaS, and SaaS
25
Cloud Computing Reference Models
Difference between IaaS, PaaS, and SaaS
26
Cloud Computing : Characteristics & Benefits
• Cloud computing has some interesting characteristics that
bring benefits to both Cloud Service Consumers (CSCs) and
Cloud service providers (CSPs).
27
Cloud Computing : Challenges Ahead
• Major cloud computing challenges businesses are
facing today
28
Cloud Computing : Historical Developments
• The idea of renting computing services by leveraging large
distributed computing facilities has been around for a long
time.
29
Cloud Computing : Historical Developments
30
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.
• Distributed system hide the complex architecture they rely on
and provide a single interface to the users.
31
Distributed Systems
• The primary purpose of distributed systems is to share
resources and to utilize them better.
• Distributed system exhibit properties similar to cloud
computing i.e.
• Heterogeneity
• Openness,
• Scalability
• Transparency
• Concurrency
• Continuous availability
• Independent failures
3
Why Distributed Systems?
• The primary purpose of distributed systems is
• Computational resource sharing
• Faster computation
• Fault tolerance (Reliability)
• Communication (Information sharing)
3
Milestones of Cloud Computing
• Three major milestones have led to cloud computing
• Mainframes:
• Cluster Computing
• Grid Computing
34
Milestones of Cloud Computing
Mainframes :
• Mainframes cannot be considered as perfect example of
distributed systems.
• First examples of large computational facilities leveraging multiple
processing units.
• They offer large computational power by using multiple
processors, which were presented as a single entity to users.
• Mainframes were powerful, highly reliable computers specialized
for large data movement and massive IO operations.
• Used by large organizations for bulk data processing such as
online transactions, enterprise resource planning, and other
operations involving the processing of significant amount of data.
35
Milestones of Cloud Computing
Mainframes :
• The most attractive features of mainframes is the ability to be
highly reliable computers that are “always on” and capable of
tolerating failures transparently.
• System shut down is not required to replace failed components,
and the system could work without interruptions.
• Batch processing is the main application of mainframes.
• Popularity and deployments of mainframes have reduced, but
evolved versions of such systems are still in use for transaction
processing (i.e., online banking, airline ticket booking,
supermarket and telcos, and government services).
36
Milestones of Cloud Computing
Cluster Computing :
• Started as a low-cost alternative to the use of mainframes and
supercomputers.
• Computational power of commodity machines could be leveraged to
solve problems previously manageable only on expensive
supercomputers.
• Cheaper computing machines could be connected by a high-
bandwidth network and controlled by specific software tools that
manage them as a single system.
• Started in 1980s, clusters became the standard technology for
parallel and high-performance computing.
• Cluster technology considerably contributed to the evolution of
tools and framework for distributed computing i.e. Parallel Virtual
Machine (PVM), and Message Passing Interface (MPI).
37
Milestones of Cloud Computing
Grid Computing :
• Appeared in the early 90s as an evolution of cluster computing.
• Grid computing proposed a new approach to access large
computational power, huge storage facilities, and a variety of
services (analogous with power grid).
• Users can “consume” resources as utilities i.e. power, gas, and
water.
• Grids were developed as aggregation of geographically dispersed
clusters by means of Internet connection.
• Clusters belonged to different organizations and arrangements
were made among them to share the computational power.
38
Milestones of Cloud Computing
Grid Computing :
• Grids were developed as aggregation of geographically dispersed
clusters by means of Internet connection.
• Clusters belonged to different organizations and arrangements
were made among them to share the computational power.
• Different from a “large cluster”, a computing grid was a dynamic
aggregation of heterogeneous computing nodes, and its scale was
nationwide or even worldwide.
39
Milestones of Cloud Computing
Summary
• Cloud computing is considered as the successor of Grid
computing.
• It embodies aspects of all the three major technologies i.e.
mainframes, cluster and grid.
• Clouds have virtually infinite capacity, are tolerant to failures,
and always on as in the case of mainframes.
• The infrastructure of computing clouds are commodity
machines as in the case of clusters.
• The services are consumed on pay-per-use basis.
40
Virtualization
• Is a collection of solutions allowing the abstraction of some
of the fundamental elements for computing such as:
hardware, runtime environments, storage, and networking.
• Provides multiple machines (computing environments) at
the same time virtually.
• Host system can simulate interfaces that is expected by a
guest system (hence virtual).
• Allows sharing a single physical instance of resource or an
application to multiple users.
41
• Virtualization is a large umbrella of technologies and
concepts that are meant to provide an abstract
environment-whether virtual hardware or an
operating system.
• This technology allows to create multiple simulated
environments or dedicated resources from a single,
physical hardware system.
• Virtualization enables multiple operating systems to
run on the same physical platform (running Windows
OS on top of virtual machine, which itself is running
on Linux OS).
• Virtualization provides a great opportunity to build
elastically scalable systems, which are capable of
provisioning additional capability with minimum
costs.
4
Virtualization
Types of virtualization
44
Web 2.0
• The Web is the primary interface through which Cloud
computing deliver its services.
• Encompasses a set of technologies and services that facilitate
interactive information sharing, collaboration, user-centered
design, and application composition.
• Such evolved features has transformed the Web into a rich
platform for application development and is known as “Web
2.0”.
• Web 2.0 brings interactivity and flexibility into Web pages,
which provide enhanced user experience that are normally
found in desktop applications.
• These capabilities are obtained by integrating a collection of
standards and technologies such as XML, Asynchronous
Javascript and XML (AJAX), Web Services, and others.
45
Service-Oriented Computing (SOC)
• Service orientation is the core reference model for Cloud
computing systems. The concept of services is considered
as main building blocks of application and system
development.
• 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.
46
Service-Oriented Computing (SOC)
• Service can be anything from a simple function to a
complex business process.
• Virtually any piece of code that performs a task can be
turned into a service and expose its functionalities through
a network accessible protocol.
• A service is supposed to be loosely coupled, reusable,
programming language independent, and location
transparent.
47
Service-Oriented Computing (SOC)
• 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 location
transparent manner, can be served.
48
Utility-Oriented Computing
• Utility computing is a vision of computing, defining 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 first traces of this service provisioning model can be
found in the mainframes era.
• IBM and other mainframe providers offered mainframe
power to organizations such as banks and government
agencies throughout their datacenters.
49
Building Cloud Computing Environment
• Building cloud environment involves of applications and
system development, creation of frameworks, platforms, and
infrastructures delivering Cloud-computing services.
• Five Steps to Building a Cloud-Ready Application
Architecture
• Design the application as a collection of services or API’s.
• Decouple the data
• Consider communications between application components
• Model and design for performance and scaling
• Make security systemic within the application
50
Cloud Computing Platforms in Industry
• Cloud computing applications are developed by leveraging
platforms and frameworks.
• Cloud vendors provides a collection of services that includes
bare metal infrastructure to customizable applications
serving specific purposes.
51
Cloud Computing Service Provider
52
Cloud Computing Platforms in Industry
• Amazon Web Services (AWS)
53
Cloud Computing Platforms in Industry
• Google AppEngine
54
Cloud Computing Platforms in Industry
• Microsoft Azure
55
Cloud Computing Platforms in Industry
Hadoop
• The Apach Hadoop project develops open-source software
for reliable, scalable, distributed computing.
• The Apache Hadoop software library is a framework that
allows for the distributed processing of large data sets
across clusters of computers using simple programming
models.
• It is designed to scale up from single servers to thousands
of machines, each offering local computation and storage.
56
Cloud Computing Platforms in Industry
• Hadoop Ecosystem and their components
57
Cloud Computing Platforms in Industry
SalesForce
• Salesforce is a cloud computing service as a software
(SaaS) company that specializes in customer relationship
management (CRM).
• Salesforce's services allow businesses to use cloud
technology to better connect with customers, partners and
potential customers.
58
Cloud Computing Platforms in Industry
SalesForce Products
59
Cloud Computing Platforms in Industry
SalesForce Products
60
References
1. Buyya Raj Kumar, Vecchiola Christian & Selvi S.Thamarai,
Mastering Cloud Computing, McGraw Hill Publication, New Delhi,
2013.
2. Velte T., Velte A. and Elsenpeter R., “Cloud Computing: A Practical Approach”,
McGraw Hill, India.
3. Buyya R., Broberg J., “Cloud Computing: Principles and Paradigms”, Wiley.
4. Hwang K., Fox G. and Dongarra J., “Distributed and Cloud Computing, From
Parallel Processing to the Internet of Things”, Morgan Kaufmann, 2012.
61
Thank You
10