Concepts of Cloud Computing by Eng. Mubiru Abubakari - Note 2
Concepts of Cloud Computing by Eng. Mubiru Abubakari - Note 2
Concepts of Cloud Computing by Eng. Mubiru Abubakari - Note 2
Cloud Computing provides us means by which we can access the applications as utilities
over the internet. It allows us to create, configure, and customize the business
applications online.
This tutorial will take you through a step-by-step approach while learning Cloud
Computing concepts.
Audience
This reference has been prepared for the beginners to help them to understand basic-
to-advanced concepts related to Cloud Computing. This tutorial will give you enough
understanding on Cloud Computing concepts from where you can take yourself to a
higher level of expertise.
Prerequisites
Before proceeding with this tutorial, you should have basic knowledge of Computers,
Internet, Database and Networking concepts. Such basic knowledge will help you in
understanding the Cloud Computing concepts and move fast on the learning track.
What is Cloud?
The term Cloud refers to a Network or Internet. In other words, we can say that Cloud
is something, which is present at remote location. Cloud can provide services over public
and private networks, i.e., WAN, LAN or VPN.
Applications such as e-mail, web conferencing, customer relationship management
(CRM) execute on cloud.
Basic Concepts
There are certain services and models working behind the scene making the cloud
computing feasible and accessible to end users. Following are the working models for
cloud computing:
• Deployment Models
• Service Models
Deployment Models
Deployment models define the type of access to the cloud, i.e., how the cloud is located?
Cloud can have any of the four types of access: Public, Private, Hybrid, and Community.
• Infrastructure-as–a-Service (IaaS)
• Platform-as-a-Service (PaaS)
• Software-as-a-Service (SaaS)
Infrastructure-as-a-Service (IaaS)
IaaS provides access to fundamental resources such as physical machines, virtual
machines, virtual storage, etc.
Platform-as-a-Service (PaaS)
PaaS provides the runtime environment for applications, development and deployment
tools, etc.
Software-as-a-Service (SaaS)
SaaS model allows to use software applications as a service to end-users.
Benefits
Cloud Computing has numerous advantages. Some of them are listed below -
• One can access applications as utilities, over the Internet.
• One can manipulate and configure the applications online at any time.
• It does not require to install a software to access or manipulate cloud application.
• Cloud Computing offers online development and deployment tools, programming
runtime environment through PaaS model.
• Cloud resources are available over the network in a manner that provide platform
independent access to any type of clients.
• Cloud Computing offers on-demand self-service. The resources can be used
without interaction with cloud service provider.
• Cloud Computing is highly cost effective because it operates at high efficiency with
optimum utilization. It just requires an Internet connection
ENG. MUBIRU ABUBAKARI | +256700615681 | MUBIRUABUBAKARI@GMAIL.COM 5
• Cloud Computing offers load balancing that makes it more reliable.
• IT management simplification
• operation and maintenance cost reduction
• business mode innovation
• low cost outsourcing hosting
• high service quality outsourcing hosting.
All of the above analysis helps in decision making for future development.
Planning Phase
This step performs analysis of problems and risks in the cloud application to ensure the
customers that the cloud computing is successfully meeting their business goals. This
phase involves the following planning steps:
Deployment Phase
This phase focuses on both of the above two phases. It involves the following two steps:
• Virtualization
• Service-Oriented Architecture (SOA)
• Grid Computing
• Utility Computing
Virtualization
Virtualization is a technique, which allows to share single physical instance of an
application or resource among multiple organizations or tenants (customers). It does this
by assigning a logical name to a physical resource and providing a pointer to that
physical resource when demanded.
The Multitenant architecture offers virtual isolation among the multiple tenants.
Hence, the organizations can use and customize their application as though they each
have their instances running.
Grid Computing
Grid Computing refers to distributed computing, in which a group of computers from
multiple locations are connected with each other to achieve a common objective. These
computer resources are heterogeneous and geographically dispersed.
Grid Computing breaks complex task into smaller pieces, which are distributed to CPUs
that reside within the grid.
• Front End
• Back End
Each of the ends is connected through a network, usually Internet. The following diagram
shows the graphical view of cloud computing architecture:
Back End
The back End refers to the cloud itself. It consists of all the resources required to provide
cloud computing services. It comprises of huge data storage, virtual machines, security
mechanism, services, deployment models, servers, etc.
Note
• It is the responsibility of the back end to provide built-in security mechanism, traffic
control and protocols.
Hypervisor
Hypervisor is a firmware or low-level program that acts as a Virtual Machine
Manager. It allows to share the single physical instance of cloud resources between
several tenants.
Management Software
It helps to maintain and configure the infrastructure.
Deployment Software
It helps to deploy and integrate the application on the cloud.
Network
It is the key component of cloud infrastructure. It allows to connect cloud services over
the Internet. It is also possible to deliver network as a utility over the Internet, which
means, the customer can customize the network route and protocol.
Server
The server helps to compute the resource sharing and offers other services such as
resource allocation and de-allocation, monitoring the resources, providing security etc.
Storage
Cloud keeps multiple replicas of storage. If one of the storage resources fails, then it can
be extracted from another one, which makes cloud computing more reliable.
Infrastructural Constraints
Fundamental constraints that cloud infrastructure should implement are shown in the
following diagram:
Benefits
There are many benefits of deploying cloud as private cloud model. The following
diagram shows some of those benefits:
Disadvantages
Here are the disadvantages of using private cloud model:
Restricted Area of Operation
The private cloud is only accessible locally and is very difficult to deploy globally.
High Priced
Purchasing new hardware in order to fulfill the demand is a costly transaction.
Limited Scalability
The private cloud can be scaled only within capacity of internal hosted resources.
Additional Skills
In order to maintain cloud deployment, organization requires skilled expertise.
Benefits
There are many benefits of deploying cloud as hybrid cloud model. The following
diagram shows some of those benefits:
Disadvantages
Networking Issues
Networking becomes complex due to presence of private and public cloud.
Security Compliance
It is necessary to ensure that cloud services are compliant with security policies of the
organization.
Infrastructure Dependency
The hybrid cloud model is dependent on internal IT infrastructure, therefore it is
necessary to ensure redundancy across data centers.
Issues
• Since all data is located at one place, one must be careful in storing data in
community cloud because it might be accessible to others.
• It is also challenging to allocate responsibilities of governance, security and cost
among organizations.
Benefits
IaaS allows the cloud provider to freely locate the infrastructure over the Internet in a
cost-effective manner. Some of the key benefits of IaaS are listed below:
• Full control of the computing resources through administrative access to VMs.
• Flexible and efficient renting of computer hardware.
Issues
IaaS shares issues with PaaS and SaaS, such as Network dependence and browser
based risks. It also has some specific issues, which are mentioned in the following
diagram:
Issues
Like SaaS, PaaS also places significant burdens on customer's browsers to maintain
reliable and secure connections to the provider’s systems. Therefore, PaaS shares many
of the issues of SaaS. However, there are some specific issues associated with PaaS
as shown in the following diagram:
Characteristics
Here are the characteristics of PaaS service model:
• PaaS offers browser based development environment. It allows the developer
to create database and edit the application code either via Application
Programming Interface or point-and-click tools.
• PaaS provides built-in security, scalability, and web service interfaces.
ENG. MUBIRU ABUBAKARI | +256700615681 | MUBIRUABUBAKARI@GMAIL.COM 31
• PaaS provides built-in tools for defining workflow, approval processes, and
business rules.
• It is easy to integrate PaaS with other applications on the same platform.
• PaaS also provides web services interfaces that allow us to connect the
applications outside the platform.
PaaS Types
Based on the functions, PaaS can be classified into four types as shown in the following
diagram:
Characteristics
Here are the characteristics of SaaS service model:
• SaaS makes the software available over the Internet.
• The software applications are maintained by the vendor.
• The license to the software may be subscription based or usage based. And it is
billed on recurring basis.
• SaaS applications are cost-effective since they do not require any maintenance at
end user side.
• They are available on demand.
• They can be scaled up or down on demand.
• They are automatically upgraded and updated.
• SaaS offers shared data model. Therefore, multiple users can share single
instance of infrastructure. It is not required to hard code the functionality for
individual users.
• All users run the same version of the software.
Benefits
Using SaaS has proved to be beneficial in terms of scalability, efficiency and
performance. Some of the benefits are listed below:
Issues
There are several issues associated with SaaS, some of them are listed below:
• No License Required
• Low Deployment Cost
• Less Vendor Lock-in
• More portable applications
• More Robust Solution
The following diagram shows the SaaS implementation based on SOA:
Mobile NaaS
Mobile NaaS offers more efficient and flexible control over mobile devices. It uses
virtualization to simplify the architecture thereby creating more efficient processes.
Following diagram shows the Mobile NaaS service elements:
NaaS Benefits
NaaS offers a number of benefits as discussed below:
• Multitenant use
• E-commerce processing
• Employee screening
• Encryption policy
Monitoring Capacity Planning and Scaling Capabilities
The managers must know the capacity planning in order to ensure whether the cloud
provider is meeting the future capacity requirement for his business or not.
The managers must manage the scaling capabilities in order to ensure services can be
scaled up or down as per the user need.
Monitor Audit Log Use
In order to identify errors in the system, managers must audit the logs on a regular basis.
Solution Testing and Validation
When the cloud provider offers a solution, it is essential to test it in order to ensure that
it gives the correct result and it is error-free. This is necessary for a system to be robust
and reliable.
Storage Devices
Storage devices can be broadly classified into two categories:
Hypervisor
The hypervisor is a firmware or low-level program that acts as a Virtual Machine
Manager. There are two types of hypervisor:
Type 1 hypervisor executes on bare system. LynxSecure, RTS Hypervisor, Oracle VM,
Sun xVM Server, VirtualLogic VLX are examples of Type 1 hypervisor. The following
diagram shows the Type 1 hypervisor.
• Full Virtualization
• Emulation Virtualization
• Paravirtualization
Full Virtualization
In full virtualization, the underlying hardware is completely simulated. Guest software
does not require any modification to run.
Security Planning
Before deploying a particular resource to cloud, one should need to analyze several
aspects of the resource such as:
• Select resource that needs to move to the cloud and analyze its sensitivity to risk.
• Consider cloud service models such as IaaS, PaaS, and SaaS. These models
require customer to be responsible for security at different levels of service.
• Access Control
• Auditing
• Authentication
• Authorization
All of the service models should incorporate security mechanism operating in all above-
mentioned areas.
Business Applications
Cloud computing has made businesses more collaborative and easy by incorporating
various apps such as MailChimp, Chatter, Google Apps for
business, and Quickbooks.
1
MailChimp
It offers an e-mail publishing platform. It is widely employed by the businesses to design
and send their e-mail campaigns.
2
Chatter
Chatter app helps the employee to share important information about organization in real
time. One can get the instant feed regarding any issue.
3
Google Apps for Business
Google offers creating text documents, spreadsheets, presentations, etc., on Google
Docs which allows the business users to share them in collaborating manner.
4
Quickbooks
It offers online accounting solutions for a business. It helps in monitoring cash flow,
creating VAT returns and creating business reports.
SN Application Description
1
Box.com
Box.com offers drag and drop service for files. The users need to drop the files into Box
and access from anywhere.
2
Mozy
Mozy offers online backup service for files to prevent data loss.
3
Joukuu
Joukuu is a web-based interface. It allows to display a single list of contents for files stored
in Google Docs, Box.net and Dropbox.
SN Application Description
1
Toggl
It helps in tracking time period assigned to a particular project.
2
Evernote
It organizes the sticky notes and even can read the text from images which helps the user
to locate the notes easily.
3
Outright
It is an accounting app. It helps to track income, expenses, profits and losses in real time.
Social Applications
There are several social networking services providing websites such as Facebook,
Twitter, etc.
SN Application Description
1
Facebook
It offers social networking service. One can share photos, videos, files, status and much
more.
2
Twitter
It helps to interact with the public directly. One can follow any celebrity, organization and
any person, who is on twitter and can have latest updates regarding the same.
Entertainment Applications
SN Application Description
Art Applications
SN Application Description
1
Moo
It offers art services such as designing and printing business cards, postcards and mini
cards.
SN Platform Description
1 Salesforce.com
This is a Force.com development platform. This provides a simple user interface and lets
users log in, build an app, and push it in the cloud.
2 Appistry
The Appistry's CloudIQ platform is efficient in delivering a runtime application. This platform
is very useful to create scalable and service oriented applications.
3 AppScale
The AppScale is an open source platform for App Engine of Google applications.
4 AT&T
The AT&T allows access to virtual servers and manages the virtualization infrastructure.
This virtualization infrastructure includes network, server and storage.
6 Enomaly
Enomaly provides the Infrastructure-as-a-Service platform.
7 FlexiScale
The FlexiScale offers a cloud computing platform that allows flexible, scalable and
automated cloud infrastructure.
8 GCloud3
The GCloud3 offers private cloud solution in its platform.
9 Gizmox
The Gizmox Visual WebGUI platform is best suited for developing new web apps and
modernize the legacy apps based on ASP.net, DHTML, etc.
10 GoGrid
The GoGrid platform allows the users to deploy web and database cloud services.
11 Google
The Google's App Engine lets the users build, run and maintain their applications on Google
infrastructure.
12 LongJump
The LongJump offers a business application platform, a Platform-as-a-Service (PaaS).
13
Microsoft
The Microsoft Windows Azure is a cloud computing platform offering an environment to
create cloud apps and services.
14 OrangeScape
15 RackSpace
The RackSpace provides servers-on-demand via a cloud-driven platform of virtualized
servers.
16 Amazon EC2
The Amazon EC2 (Elastic Compute Cloud) lets the users configure and control computing
resources while running them on Amazon environment.
Portability
This is another challenge to cloud computing that applications should easily be migrated
from one cloud provider to another. There must not be vendor lock-in. However, it is not
yet made possible because each of the cloud provider uses different standard languages
for their platforms.
Interoperability
It means the application on one platform should be able to incorporate services from the
other platforms. It is made possible via web services, but developing such web services
is very complex.
Computing Performance
Data intensive applications on cloud requires high network bandwidth, which results in
high cost. Low bandwidth does not meet the desired computing performance of cloud
application.
Architecture
MCC includes four types of cloud resources:
Ref
https://www.youtube.com/watch?v=36zducUX16w