You are on page 1of 69

7KS03 CLOUD

COMPUTING
7KS03 CLOUD COMPUTING

Unit I: Cloud Computing Fundamental, Architecture and Management:


Hours: 8
Computing Paradigm and various computing types, Cloud Computing
Fundamentals: Motivation for Cloud
Computing, The need for Cloud Computing, Defining Cloud
Computing, Principles of Cloud Computing,
Requirements of Cloud Services, Cloud Applications, Benefits and
Drawbacks. Cloud Computing Architecture and
Management: Introduction, Cloud Architecture, Network connectivity in
Cloud Computing, Applications on the
cloud, Managing Cloud, Migrating Application to cloud.
 Unit II: Cloud Deployment and Service Models: Hours: 8
Cloud Deployment Models: Introduction, Private Cloud, Public Cloud,
Community Cloud, Hybrid Cloud. Cloud
Service Models: Introduction, Infrastructure as a Service, Platform as a
Service, Software as a Service, Other Cloud
Service Models.
 Unit III: Operating System and Virtualization: Hours: 8
Types of Operating Systems, Role of OS in Cloud Computing,
Features of Cloud OS. Application Environment:
Need for Effective ADE, Application Development
Methodologies, Cloud Application Development Platforms
and
Cloud Computing API’s. Virtualization: Introduction,
Virtualization Opportunities, Approaches to Virtualization,
Hypervisors, Virtualization to Cloud Computing.
 Unit IV: Software Development in Cloud and Networking for
Cloud Computing: Hours: 8
Introduction, Different Perspectives on SaaS Development,
New Challenges, Cloud-Aware Software Development
Using PaaS Technology. Networking for Cloud Computing:
Introduction, Overview of Data Center Environment,
Networking Issues in Data Centers, Transport Layer Issues in
DCNs.
 Unit V: Cloud Service Providers: Hours: 8
Introduction, EMC: IT, and captive cloud toolkit, Google: Platform, Storage, Cloud
connects, Cloud Print and App
Engine, Amazon Web Services: Elastic Compute Cloud, Simple storage, Simple
Queue Service, Microsoft:
Windows Azure, IBM Cloud models and IBM Smart Cloud, SAP Labs: SAP HANA
Cloud Platform, Virtualization

Services Salesforce: Sales Cloud and Service Cloud,Rackspace and


VMware.
Unit VI: Open-Source Support for Cloud and Security in Cloud Computing :
Hours: 8
Open-Source Support for Cloud: Introduction, Open Source Tools for IaaS, Open
Source Tools for PaaS, Open
Source Tools for SaaS, Open Source Tools for Research, Distributed Computing
Tools for Management of
Distributed Systems. Security in Cloud Computing: Introduction, Security
Aspects: Data, Virtualization and
Network Security, Platform-Related Security: Security issues in Cloud Service
Models, SaaS, PaaS, IaaS security
issues, Audit and Compliance: Disaster Recovery, Privacy and Integrity.
Text Book: K. Chandrasekaran: Essentials of Cloud Computing, Edition, CRC
Press Taylor & Francis Group
Introduction
 cloud computing is the delivery of computing
as service rather than a product.

 cloud computing means storing and accessing


data and programs over the internet instead
of your computer's hard drive.

 It is the use of remote servers on the internet


to store, manage and process data rather than
a local server or your personal computer
Computing Paradigms

 The term paradigm conveys that there is a set of practices to be followed to


accomplish a task.
 In the domain of computing, there are many different standard practices
being followed based on inventions and technological advancements.
 The various computing paradigms: namely
1. High-Performance Computing
2. Parallel Computing
3. Distributed Computing
4. Cluster Computing
5. Grid Computing
6. Biocomputing
7. Mobile Computing
8. Quantum Computing
9. Optical Computing
10. Nanocomputing
11. Network Computing
1. High-Performance Computing

 In high-performance computing systems, a pool of processors


(processor machines or central processing units [CPUs]) connected
(networked) with other resources like memory, storage, and input and
output devices, and the deployed software is enabled to run in the entire
system of connected components.

 The processor machines can be of homogeneous or heterogeneous


type. The legacy meaning of high-performance computing (HPC) is the
supercomputers; however, it is not
true in present-day computing scenarios.

 Therefore, HPC can also be attributed to mean the other computing


paradigms that are discussed in the forthcoming sections, as it is a
common name for all these computing systems.
2 Parallel Computing

 Parallel computing is also one of the facets of HPC. Here, a set of processors
work cooperatively to solve a computational problem.
 These processor machines or CPUs are mostly of homogeneous type.
Therefore, this definition is the same as that of HPC and is broad enough to
include supercomputers that have hundreds or thousands of processors
interconnected with other resources.
 One can distinguish between conventional (also known as serial or sequential
or Von Neumann) computers and parallel computers in the way the
applications are executed.
In serial or sequential computers, the following apply:
• It runs on a single computer/processor machine having a single CPU.
• A problem is broken down into a discrete series of instructions.
.• Instructions are executed one after another.
In parallel computing, since there is simultaneous use of multiple processor
machines the following apply
 It is run using multiple processors (multiple CPUs).
• A problem is broken down into discrete parts that can be solved
concurrently.
• Each part is further broken down into a series of instructions.
• Instructions from each part are executed simultaneously on different
processors.
• An overall control/coordination mechanism is employed
Cluster Computing
 A cluster computing system consists of a set of the same or similar type of
processor
machines connected using a dedicated network infrastructure. All processor
machines
share resources such as a common home directory and have a software such as a
message
passing interface (MPI) implementation installed to allow programs to be run across
all nodes simultaneously. This is also a kind of HPC category. The individual
computers in a
cluster can be referred to as nodes.
The reason to realize a cluster as HPC is due to the fact that the individual nodes
can
work together to solve a problem larger than any computer can easily solve.
And,the nodes need to communicate with one another in order to work
cooperatively and meaningfully together to solve the problem in hand
If we have processor machines of heterogeneous types in a cluster, this kind of
clusters become a subtype and still mostly are in the experimental or research
stage
Grid Computing

 The computing resources in most of the organizations are underutilized but


are necessary for certain operations. The idea of grid computing is to make
use of such non utilized computing power by the needy organizations, and
there by the return on investment (ROI) on computing investments can be
increased.
 Thus, grid computing is a network of computing or processor machines
managed with a kind of software such as middleware, in order to access and
use the resources remotely. The managing activity of grid resources through
the middleware is called grid services. Grid services provide access control,
security, access to data including digital libraries and databases, and access
to large-scale interactive and long-term storage facilities.
 Grid computing is more popular due to the following reasons:
 • Its ability to make use of unused computing power, and thus, it is a cost
effective solution (reducing investments, only recurring costs)
 • As a way to solve problems in line with any HPC-based application
 • Enables heterogeneous resources of computers to work cooperatively and
collaboratively to solve a scientific problem.
Cloud Computing

 The computing trend moved toward cloud from the concept


of grid computing, particularly when large computing
resources are required to solve a single problem, using the
ideas of computing power as a utility and other allied
concepts.
 However, the potential difference between grid and cloud is
that grid computing supports leveraging several computers
in parallel to solve a particular application, while cloud
computing supports leveraging multiple resources, including
computing resources, to deliver a unified service to the end
user. In cloud computing, the IT and business resources,
such as servers, storage, network, applications, and
processes, can be dynamically provisioned to the user needs
and workload.
Motivation for Cloud Computing

 The main reasons for the need and use of cloud computing are
convenience and reliability. In the past, if we wanted to bring a file,
we would have to save it to a Universal Serial Bus (USB) flash drive,
external hard drive, or compact disc (CD) and bring that device to a
different place. Instead, saving a file to the cloud (e.g., use of cloud
application Dropbox) ensures that we will be able to access it with
any computer that has an Internet connection.
 The cloud also makes it much easier to share a file with friends,
making it possible to collaborate over the web. While using the
cloud, losing our data/file is much less likely. However, just like
anything online, there is always a risk that someone may try to gain
access to our personal data, and therefore, it is important to
choose an access control with a strong password and pay attention
to any privacy settings for the cloud service that we are using
Defining Cloud Computing

 Cloud computing means storing and accessing data and programs over
the Internet from a remote location or computer instead of our
computer’s hard drive.

 This so called remote location has several properties such as scalability,


elasticity etc., which is significantly different from a simple remote
machine.

 The cloud is just a metaphor for the Internet. When we store data on or
run a program from the local computer’s hard drive that is called local
storage and computing.

 For it to be considered cloud computing, we need to access our data or


programs over the Internet. The end result is the same; however, with an
online connection, cloud computing can be done anywhere, anytime, and
by any device.
NIST Definition of Cloud Computing
 The formal definition of cloud computing comes from the 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. This cloud model is composed
of five essential characteristics, three service models, and four deployment models.

 It means that the computing resource or infrastructure—be it server hardware, storage,


network, or application software—all available from the cloud vendor or provider’s
site/premises, can be accessible over the Internet from any remote location and by any local
computing device. In addition, the usage or accessibility is to cost only to the level of usage
to the customers based on their needs and demands, also known as the pay-as-you-go or
pay-as-per-use model.

 If the need is more, more quantum computing resources are made available (provisioning
with elasticity) by the provider. Minimal management effort implies that at the customer’s
side, the maintenance of computing systems is very minimal as they will have to look at
these tasks only for their local computing devices used for
What is ?
 Cloud computing is a technology that uses the internet
and central remote servers to maintain data and
applications.

 A simple example of cloud computing is Yahoo email or Gmail etc.

 A style of computing where massively


scalable (and elastic) IT-related capabilities
are provided “as a service” to external
customers using Internet technologies
11/18/2022 16
Cloud Architecture
Cloud Architecture
Different Cloud Computing Layers

MS Live/ExchangeLabs, IBM,
Application Service
Google Apps; Salesforce.com
(SaaS) Quicken Online, Zoho, Cisco

Google App Engine, Mosso,


Application Platform(PaaS) Force.com, Engine Yard,
Facebook, Heroku, AWS

Server Platform(IaaS) 3Tera, EC2, SliceHost,


GoGrid, RightScale, Linode

Storage Platform(IaaS) Amazon S3, Dell, Apple, ...

Ashok kumar 18
Cloud Storage
 Several large Web companies (such as Amazon
and Google) are now exploiting the fact that
they have data storage capacity that can be
hired out to others.
 This approach, known as cloud storage allows

data stored remotely to be temporarily cached


on desktop computers, mobile phones or other
Internet-linked devices.
 Amazon’s Elastic Compute Cloud (EC2) and

Simple Storage Solution (S3) are well known


examples.

Ashok kumar 19
11/18/2022 20
Merits of Cloud Computing
 Cost:
Well with all the required software and even hard drives accessible from the cloud,
the budget of the business is greatly reduced. There are no infrastructure costs
or other Capex (capital expenses). End to expensive servers, routers, etc. When
the business is having less or very optimum investment then cloud is the right
option. However the expense in cloud scenario is “all or nothing” policy.
 Easy to learn and use:

If you have used Gmail, Google Docs, then cloud is nothing new to you. Since the
staff would be a well expertise in Gmail and other basic cloud concepts, no
special training is required; thereby satisfying the time and the cost constraint.
Obviously, now there would no need to hire experienced expensive IT
professionals, since this application is a trouble-free one.
 Flexibility:

Documents, software, hard drive, storage equipment, etc anything can be


accessed from anywhere through cloud; hence no need for the staffs to be office
to do the work. Moreover this allows staff to work at anytime thus increasing
staff morale.
 Maintenance:

No more software updates, reinstalling of applications or even sorting out of


software problems since these problems would be sorted out remotely, thus the
employee can concentrate more on his/her own work.

21
Demerits of Cloud computing
 Security:
Security is the X-Factor for any business. Just imagine your data being visible to all, or
maybe your business strategies visible to all? Negative point, right? That’s what the
scenario in cloud computing is; your data will be shared with other companies on the
same platform. Of course your cloud vendor will have a higher level of security than the
one you have in-house. Still regarding security cloud can’t be rated excellent.
 Intellectual property (IP) issues:

There can be a bit chaos as most cloud providers will have different requisites and
conditions regarding tenure of the data. To overcome this demerit, you must have read
the fine print and understand things like when can you access your data, what happens to
your data is your vendor ebbs, distribution rights, etc initially. Also keep an eye on the
rules to know whether breach of any kind may occur for your IP.
 Wireless connections:

Connecting to wireless devices is not the easiest task to do. This problem is for small scale
industries rather than larger business since larger companies have well structured
network thus making wireless connections easy. Sometimes certain softwares are
designed to relate to certain PCs alone in that case even usage of software maybe a
problem.

 Performance and Reliability:


Since everything you access is online, there might be a risk in CIA parameters
(Confidentiality, Integrity, and Availability). Moreover the speed of your process depends
on the speed of the network (when there is network traffic, the speed of our process may
collapse). Additionally there can be noise in the media if any major application is down. In
order to overcome this you must review the SLA (Service Level Agreement).
22
Who Benefits from Cloud Computing

 Collaborators
 Road Warriors
 Cost-Conscious Users
 Cost-Conscious IT Departments
 Users with Increasing Needs
Top Cloud Service Providers 

 Withthat M&A activity as background, here are my rankings for the Top 30 Cloud Service
Providers Gaining Mind Share in 3Q 2010.
 Amazon Web Services (AWS), Elastic Compute Cloud (EC2), 
Simple Storage Service (S3), andVirtual Private Cloud (VPC)
 Salesforce.com / Sales Cloud 2 (CRM), Service Cloud 2 (Support),Force.com
 (Development Platform), Chatter (Collaboration)
 Google Apps (AppEngine)
 Citrix – XenServer (Virtualization)

 VMWare – vSphere (Virtualization)

 Rackspace – Mosso
 3PAR

 Cisco

 IBM Smart Business, Cloudburst


 AT&T Synaptic

24
 Verizon rPath
 Appistry Rightscale (#7 management)
 Joyent GoGrid
 3Tera – AppLogic Microsoft Azure, Hyper-V
 NetSuite Zuora
 Eucalyptus CohesiveFT
 Boomi Red Hat

 Appirio – Cloud Connectors


 Relational Networks – LongJump AppZero
 Enomaly – Elastic Compute Platform (ECP)
 Intacct Elastra
25
Some Commercial Cloud Offerings

Ashok kumar 26
Cloud Computing Service Layers
Services Description
Services – Complete business services such as PayPal, OpenID,
Services OAuth, Google Maps, Alexa

Application – Cloud based software that eliminates the need


Application
Application for local installation such as Google Apps, Microsoft Online
Focused
Development – Software development platforms used to
Development build custom cloud based applications (PAAS & SAAS) such as
SalesForce

Platform – Cloud based platforms, typically provided using


Platform virtualization, such as Amazon ECC, Sun Grid

Storage – Data storage or cloud based NAS such as CTERA,


Infrastructure Storage iDisk, CloudNAS

Focused
Hosting – Physical data centers such as those run by IBM, HP,
Hosting NaviSite, etc.

27
Web Based Application
Cloud services, in the form of centralized web-based applications, also
appeal
to the IT professional. One instance of an application hosted in the cloud is
cheaper and easier to manage than individual copies of similar software
installed on each user’s desktop PC. Upgrading a cloud app only has to be
done one time, where upgrading traditional software has to be done for
each
PC on which that software is installed. Then, of course, we have the promise
of cloud-enabled collaboration, which just can’t be done with traditional
desktop apps.
Why Develop Web-Based Applications?
 They must deliver adequate computing power
and data storage to all users within the
company.
 Must be done, of course, within a set budget.
 to meet peak needs or to add capacity for new

users.

11/18/2022 29
Essentials of Creating Web-Based Applications

 Web based application development is not just


the way to save money and time.
 organizing more effective collaboration

process with your colleagues, clients or partners, that makes


web based application development.
 Web based application development includes
database integration, intra- and extranet
applications deployment.

11/18/2022 30
Pros and Cons of Cloud Computing
Advantages

 Lower-Cost Computers for Users


 Improved Performance
 Lower IT Infrastructure Costs
 Fewer Maintenance Issues
 Lower Software Costs
 Instant Software Updates
 Increased Computing Power
 Unlimited Storage Capacity

31
 Increased Data Safety
 Improved Compatibility Between Operating
Systems
 Improved Document Format Compatibility
 Easier Group Collaboration
 Universal Access to Documents
 Latest Version Availability
 Removes the Tether to Specific Devices

32
Disadvantages of Cloud Development

 Is it secure?
 if the cloud computing host goes offline.
(Amazon’s EC2 service suffered a massive outage on February 15,
2008 )

 Platform go down and your data disappear


 third-party cloud platform
no other physical backup, that data can be at risk
Pros and Cons
Types of Cloud Service Development

- Iaas
- Paas
- Saas
What is Software as a Service? (SaaS)
 SaaS is a software delivery methodology that
provides licensed multi-tenant access to
software and its functions remotely as a Web-
based service.

◦ Usually billed based on usage


◦ Usually multi tenant environment
◦ Highly scalable architecture
SaaS Examples
Infrastructure as a Service (IaaS)

•IaaS is the delivery of technology


infrastructure as an on demand scalable
service

• Usually billed based on usage


• Usually multi tenant virtualized
environment
• Can be coupled with Managed Services
for OS and application support
IaaS Examples
Platform as a Service (PaaS)
•PaaS provides all of the facilities
required to support the complete life
cycle of building and delivering web
applications and services entirely from
the Internet.

• Typically applications must be


developed with a particular platform in
mind
• Multi tenant environments
• Highly scalable multi tier architecture
PaaS Examples
DEVELOPING CLOUD
SERVICES
Web Services
 A Web service is a method of communication
between two electronic devices over a network.
 A web service is an application that operates

over a network.
 a web service is an API that can be accessed

over
the Internet.
Advantages of web services

 faster (and lower-cost) application


development,
 leaner applications, and
 reduced storage and bandwidth demands.

A good example of web services are the mashups


created by users of the Google Maps API.
What are Web Services?

• Web services are application components


• Web services communicate using open

protocols
• Web services are self-contained and

self-describing
• Web services can be discovered using

UDDI
• Web services can be used by other

applications
• XML is the basis for Web services
How Does it Work?

 The basic Web services platform is XML + HTTP.

The HTTP protocol is the most used Internet protocol.


 Web services platform elements:
 SOAP (Simple Object Access Protocol)
 UDDI (Universal Description, Discovery and
Integration)
 WSDL (Web Services Description Language)
The General Process of Engaging a Web Service
 1) the requester and provider entities become known to

each other (or at least one becomes know to the other)

 (2) the requester and provider entities somehow agree


 on the service description and semantics that will
govern the interaction between the requester and
provider agents

 (3) the service description and semantics are realized by


the requester and provider agents

 4) the requester and provider agents exchange


messages, thus performing some task on behalf of the
requester and provider entities
Interoperability has Highest Priority
 When all major platforms could access the
Web using Web browsers, different platforms
could interact. For these platforms to work
together, Web-applications were developed.
 Web-applications are simple applications that

run on the web. These are built around the


Web browser standards and can be used by
any browser on any platform.
 http://news.cnet.com/8301-19413_3-10231290-240.html
 http://www.microsoft.com/presspass/features/2010/feb10/
02-01cloudinterop.mspx
Web Services take Web-applications to the Next Level

• By using Web services, your application can


publish its function or message to the rest of the
world.
• Web services use XML to code and to decode
data, and SOAP to transport it (using open
protocols).
• With Web services, your accounting department's
Win 2k server's billing system can connect with
your IT supplier's UNIX server.
Web Services have Two Types of Uses

• Reusable application-components.
• There are things applications need very often. So why make
these over and over again?
• Web services can offer application-components like:
currency conversion, weather reports, or even language
translation as services.
• Connect existing software.
• Web services can help to solve the interoperability problem
by giving different applications a way to link their data.
• With Web services you can exchange data between different
applications and different platforms.
What is SOAP?

• SOAP is an XML-based protocol to let applications exchange


information over HTTP.
• Or more simple: SOAP is a protocol for accessing a Web Service.
• SOAP stands for Simple Object Access Protocol
• SOAP is a communication protocol
• SOAP is a format for sending messages
• SOAP is designed to communicate via Internet
• SOAP is platform independent
• SOAP is language independent
• SOAP is based on XML
• SOAP is simple and extensible
• SOAP allows you to get around firewalls
• SOAP is a W3C standard
What is WSDL?

 WSDL is an XML-based language for locating


and describing Web services.
 WSDL stands for Web Services Description

Language
 WSDL is based on XML
 WSDL is used to describe Web services
 WSDL is used to locate Web services
 WSDL is a W3C standard
What is UDDI?

• UDDI is a directory service where companies


can register and search for Web services.
• UDDI stands for Universal Description,
Discovery and Integration
• UDDI is a directory for storing information
about web services
• UDDI is a directory of web service interfaces
described by WSDL
• UDDI communicates via SOAP
• UDDI is built into the Microsoft .NET platform
On Demand Computing
 On-demand computing is also known as utility
computing.
 On-demand (OD) computing is an increasingly

popular enterprise model in which computing


resources are made available to the user as
needed. The resources may be maintained
within the user's enterprise, or made available
by a service provider.
 Companies offering on-demand computing and
storage today include Amazon, IBM, Sun, and
others.
 company operates on a pay-as-you-go plan with a

cloud services provider.


 Previous - On -demand computing was provided

from a single server via some sort of time-sharing


arrangement.
 Today -the service is based on large grids of

computers operating as a single cloud.

 On-demand computing itself is not a new concept,


but has acquired new life thanks to cloud
computing.
Discovering Cloud Services
Development Services and Tools
Amazon Elastic Compute Cloud (Amazon EC2)

 Amazon Elastic Compute Cloud (Amazon EC2) is a web service


that provides resizable compute capacity in the cloud. It is
designed to make web-scale computing easier for developers.

Amazon EC2’s simple web service interface allows you to


obtain and configure capacity with minimal friction. It provides
you with complete control of your computing resources and
lets you run on Amazon’s proven computing environment.
Amazon EC2 reduces the time required to obtain and boot new
server instances to minutes, allowing you to quickly scale
capacity, both up and down, as your computing requirements
change. Amazon EC2 changes the economics of computing by
allowing you to pay only for capacity that you actually use.
Amazon EC2 provides developers the tools to build failure
resilient applications and isolate themselves from common
failure scenarios.
Amazon EC2 Functionality
 Amazon EC2 presents a true virtual computing environment, allowing
you to use web service interfaces to launch instances with a variety of
operating systems, load them with your custom application
environment, manage your network’s access permissions, and run your
image using as many or few systems as you desire.
To use Amazon EC2, you simply:
 Select a pre-configured, templated image to get up and running

immediately. Or create an Amazon Machine Image (AMI) containing


your applications, libraries, data, and associated configuration
settings.
 Configure security and network access on your Amazon EC2 instance.

 Choose which instance type(s) and operating system you want, then

start, terminate, and monitor as many instances of your AMI as


needed, using the web service APIs or the variety of management tools
provided.
 Determine whether you want to run in multiple locations, utilize static

IP endpoints, or attach persistent block storage to your instances.


 Pay only for the resources that you actually consume, like instance-

hours or data transfer.


Service Highlights

 Elastic
 Completely Controlled
 Flexible
 Designed for use with other Amazon Web

Services
 Reliable
 Secure 
 Inexpensive
63
Google App Engine
 developers to build their own web
applications utilizing the same infrastructure.
 integrated application environment.
 easy to build, easy to maintain, and easy to

scale.
 Google offers a robust cloud development
environment.
◦ Dynamic web serving
◦ Full support for all common web technologies
◦ Persistent storage with queries, sorting, and
transactions
◦ Automatic scaling and load balancing
◦ APIs for authenticating users and sending email using
Google Accounts

You might also like