Lecture 1
Lecture 1
An Overview
1
Outlines
❖ Introduction
❖ History
❖ What is Cloud Computing
❖ Why Cloud Computing
❖ Cloud Computing Methodologies
❖ Cloud Architecture
❖ Cloud Service Models
❖ Cloud Deployment Techniques
❖ Advantages
❖ Disadvantages
❖ Conclusion
2
Introduction
➢ With traditional desktop computing, we run copies of software
programs on our own computer. The documents we create are stored
on our own pc.
➢ With cloud computing, the software programs one use aren’t run
from one’s personal computer, but are rather stored on servers
accessed via the Internet.
3
➢ If a computer crashes, the software is still available for others
to use. Same goes for the documents one create; they’re stored
on a collection of servers accessed via the Internet.
➢ Anyone with permission can not only access the documents, but
can also edit and collaborate on those documents in real time.
➢ Unlike traditional computing, this cloud computing model isn’t
PC-centric, it’s document-centric.
4
History
➢ In the 50s mainframe computers were huge, occupying entire rooms. Due to
the cost of buying and maintaining mainframes, organizations couldn’t 1950s
afford to purchase one for each user. The solution was “time sharing” in
which multiple users shared access to data and CPU time. The term “time
sharing” is the premise of cloud computing.
5
➢ IBM released an operating system called VM that allowed admins to have
multiple virtual systems, or “Virtual Machines” (VMs) on a single physical
1970s
node. The VM operating system took the 50s “time sharing” model to the next
level and most of the basic functions of any virtualization software that you
see nowadays can be traced back to this early VM operating system.
6
➢ Amazon created Amazon Web Services (AWS), providing an advanced 2002
system of cloud services from storage to computation
➢ Amazon introduced the Elastic Compute Cloud (EC2) as a commercial web 2006
service. The EC2 let small companies rent computers on which they could
run their own computer applications.
➢ Google and Microsoft entered the playing field. The Google App Engine
brought low-cost computing and storage services, and Microsoft followed 2009
suit with Windows Azure
7
What Is Cloud Computing
➢ Cloud computing is a type of computing that relies on sharing computing resources
rather than having local servers or personal devices to handle applications.
➢ In cloud computing, the word cloud is used as a metaphor for "the Internet," so the
phrase cloud computing means "a type of Internet-based computing," where different
services such as servers, storage and applications are delivered to an organization's
computers and devices through the Internet.
9
Cloud Computing Methodologies
Cloud Computing is based on two main techniques
➢ (I)Service Oriented Architecture (SOA): Since the paradigm of Cloud computing perceives of all
tasks accomplished as a “Service” rendered to users, it is said to follow the Service Oriented
Architecture. This architecture comprises a flexible set of design principles used during the phases of
system development and integration.
➢ (ii)Virtualization: The concept of virtualization is to relieve the user from the burden of resource
purchases and installations. The Cloud brings the resources to the users. Virtualization may refer to
Hardware (execution of software in an environment separated from the underlying hardware
resources), Memory (giving an application program the impression that it has contiguous working
memory, isolating it from the underlying physical memory implementation), Storage (the process of
completely abstracting logical storage from physical storage), Software (hosting of multiple virtualized
environments within a single Operating System (OS) instance), Data (the presentation of data as an
abstract layer, independent of underlying database systems, structures and storage) and Network
(creation of a virtualized network addressing space within or across network subnets)
10
Amongst the other important reasons for which the Clouds tend to adopt virtualization
are:
➢ (I) Server and application consolidation – دمجas multiple applications can be run
on the same server resources can be utilized more efficiently.
➢ (ii) Configurability – قابلية التكوينas the resource requirements for various
applications could differ significantly, (some require large storage, some require
higher computation capability) virtualization is the only solution for customized
configuration and aggregation of resources which are not achievable at the
hardware level.
➢ (iii) Increased application availability – virtualization allows quick recovery from
unplanned outages as virtual environments can be backed up and migrated with no
interruption in services.
➢ (iv) Improved responsiveness – resource provisioning, monitoring and
maintenance can be automated, and common resources can be cached and reused
11
Cloud Architecture
12
Cloud Architecture
➢ Clients: the Clients of a Cloud comprise computer hardware and/or computer
software that relies on the computational capability of the Cloud for application or
service delivery. Examples include computers, mobile devices, operating systems,
and browsers.
➢ Services: this refers to the different service models made available by the Cloud like
SaaS (Software-as-a-Service), IaaS (Infrastructure-as-a-Service) and PaaS
(Platform-as-a-Service). This layer acts as a middleman between the user and the
vast amount of resources accessible to the user. A resource includes “products,
services and solutions that are delivered and consumed in real time over the Internet”
Examples include location services and Search Engines among others
13
➢ Application: the Cloud enables resource management and user activity tracking
from central locations rather than at each customer’s site, enabling customers to
access applications remotely via the Internet. Cloud application services deliver
software as a service over the Internet, eliminating the need to install and run the
application on the customer’s own computer, thereby simplifying (almost
eliminating) maintenance and support at the customer’s end. Examples include Web
Application.
14
➢ Storage: the storage layer consists of computer hardware and/or computer
software products that are specifically designed for the storage of Cloud
services. Computer hardware comprises huge data centers that are used for
resource sharing. Examples include Amazon SimpleDB, and Nirvanix
SDN (Storage Delivery Network).
15
Cloud Service Models
16
IaaS
➢ Infrastructure-as-a-Service (IaaS): This service provisions for hardware
related services like storage, and virtual servers on a pay-as-you-go basis. The
main advantage of IaaS is the usage of latest technology at all times with regard
to computer infrastructure which allows users to achieve faster service.
Organizations can use IaaS to quickly build new versions of applications or
environments without incurring unnecessary purchase and configuration delay.
On-demand scaling via resource virtualization and use-based billing makes IaaS
competent enough for any kind of businesses. The major companies already
providing IaaS are Amazon , Rackspace, GoGrid, AT&T and IBM.
17
PaaS
PaaS offerings may include facilities for application design, application
development, testing, deployment and hosting as well as application services
such as team collaboration, web service integration and marshaling, database
integration, security, scalability, storage, persistence, state management,
application versioning, application instrumentation and developer community
facilitation. These services may be provisioned as an integrated solution over
the web, providing an existent managed higher-level software infrastructure for
building particular classes of applications and services. The platform includes
the use of underlying computing resources, typically billed similar to IaaS
products, although the infrastructure is abstracted away below the platform.
Major companies providing PaaS are Google’s AppEngine , Microsoft Azure,
and Force.com etc.
18
• Allows a cloud user to deploy consumer-created or acquired applications
using programming languages and tools supported by the service provider.
❑ The user:
➢ Has control over the deployed applications and, possibly, application
hosting environment configurations;
➢ does not manage or control the underlying cloud infrastructure including
network, servers, operating systems, or storage.
19
SaaS
Software-as-a-Service (SaaS): Provides specific already created applications as
fully or partially remote services. Sometimes it is in the form of web-based
applications and other times it consists of standard non-remote applications with
Internet-based storage or other network interactions. It allows a user to use the
provider’s application using a thin client interface. Users can access a software
application hosted by the Cloud vendor on pay per-use basis
Other examples are online email providers like Google’s Gmail and Microsoft’s
hotmail, Google docs and Microsoft’s online version of office called BPOS
(Business Productivity Online Standard Suite).
20
• Software as a Service (SaaS)
❑ Applications are supplied by the service provider.
❑ The user does not manage or control the underlying cloud infrastructure or
individual application capabilities.
❑ Services offered include:
• Enterprise services such as: workflow management, group-ware and
collaborative, supply chain, communications, digital signature, customer
relationship management (CRM), desktop software, financial management,
geo-spatial, and search.
• Web 2.0 applications such as: metadata management, social networking,
blogs, wiki services, and portal services.
❑ Not suitable for real-time applications or those where data is not allowed to
be hosted externally.
❑ Examples: Gmail, Google search engine.
21
22
23
➢ Storage-as-a-Service (SaaS): Storage as a Service is a business model that helps a
smaller company or individual in renting storage spaces from a large company.
Storage as a Service is generally seen as a good alternative for a small or mid-sized
business that lacks the capital budget and/or technical personnel to implement and
maintain their own storage infrastructure.
24
➢ Process-as-a-Service (PraaS): Refers to a remote resource that’s able to bind many
resources together, either hosted within the same Cloud computing resource or
remote, to create business processes. These processes are typically easier to change
than applications, and thus provide agility to those who leverage these process
engines that are delivered on-demand. Process-as-a-service providers include
Appian Anywhere, Akemma, and Intensil
25
➢ Security-as-a-Service (SeaaS): Delivers core security services remotely over the
Internet like anti-virus, log management etc. While typically the security services
provided are rudimentary, more sophisticated services are becoming available such
as identity management. Security-as-a-Service providers include Cisco, McAfee,
Panda Software, Symantec, Trend Micro and VeriSign
➢ Testing-as-a-Service (TaaS): These systems have the ability to test other Cloud
applications, Web sites, and internal enterprise systems, and do not require a
hardware or software footprint within the enterprise. They also have the ability to
test services that are remotely hosted. SOASTA is one of the many Testing-as-a-
Service providers
26
Cloud Deployment Techniques
27
Public Cloud: it is the traditional mainstream Cloud deployment technique
whereby resources are dynamically provisioned by third party providers who
share them with the users and bill the users on a fine grained utility
computing basis. It offers easy resource management, scalability and
flexibility with an economical pay-as-you-go model which is extremely
viable especially for small businesses. On the negative side, the user lacks
visibility and control over the computing infrastructure. Since computing
infrastructures are shared between various organizations, these Clouds face
various security and compliance issues. Amazon’s Web Services and
Google’s App Engine are few examples of Public Clouds, also known as
external Clouds.
28
Private Cloud: in this Cloud deployment technique, the computing
infrastructure is solely dedicated to particular organization or business. These
Clouds are more secure because they belong exclusively to a particular
organization. These Clouds are more expensive because one needs in-house
expertise for their maintenance. Private Clouds are further classified based on
their location as:
• (a)On-Premise Clouds – these refer to Clouds that are for a particular
organization hosted by the organization itself. Examples of such Clouds
would include Clouds related to military services which have a
considerable amount of confidential data.
• (b)Externally hosted Clouds – these refer to Clouds that are also
dedicated for a particular organization but are hosted by a third party
specializing in Cloud infrastructure. These are cheaper than On-premise
Clouds. Examples of such Clouds would be small businesses using services
from VMware, Amazon etc. Such Clouds are also known as Internal
Clouds
29
• (iii) Hybrid Cloud: this deployment technique integrates the positive
attributes of both the Public Cloud and Private Cloud paradigm. For
instance, in a Hybrid Cloud deployment, critical services with stringent
security requirements may be hosted on Private Clouds while less critical
services can be hosted on the Public Clouds. The criticality, flexibility and
scalability requirement of a service governs its classification into either the
Public or Private Cloud domain. Each Cloud in the Hybrid domain retains
its unique entity. However, they function synchronously to gracefully
accommodate any sudden rise in computing requirements. Hybrid Cloud
deployment is definitely the current trend amongst the major leading Cloud
providers currently
30
• (iv) Community Cloud: this deployment technique is similar to Public
Clouds with the only difference being the distribution of the sharing rights
on the computing resources. In a Community Cloud, the computing
resources are shared amongst organizations of the same community. So this
Cloud covers a particular group of organizations, which have the same
functionalities. For example, all Government organizations within the state
of California may share the computing infrastructure on the Cloud to
manage data related to citizens residing in California
31
32
Advantages
1. Lower computer costs.
2. Improved performance.
3. Reduced software costs.
4. Instant software updates.
5. Improved document format compatibility.
6. Unlimited storage capacity.
7. Increased data reliability.
8. Universal document access.
9. Latest version availability.
10. Device independence.
33
Disadvantages
4. Can be slow.
34
Conclusion
➢ The applications and data served by the cloud are available to broad group
of users, cross-enterprise and cross-platform.
35