0% found this document useful (0 votes)
14 views18 pages

Aa

aa

Uploaded by

vdkeluskar01
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views18 pages

Aa

aa

Uploaded by

vdkeluskar01
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 18

What is Cloud Computing?

Cloud Computing is the delivery of computing services –including servers, storage,


databases, networking, software etc. over the internet (“the cloud”) to offer faster
innovation, flexible resources and economy of scale. You typically pay only for cloud
services you use, helping you lower your operating costs, run your infrastructure more
efficiently and scale as your business needs changes.
Cloud Computing In other words is the delivery of different services through the
Internet. These resources include tools and applications like data storage,
servers,databases, networking, and software.Cloud Computing is also define as storing and
accessing of data and computing services over the internet. It doesn’t store any data on
your personal computer. It is the on-demand availability of computer services like servers,
data storage, networking,databases, etc. The main purpose of cloud computing is to give
access to data centres to many users. Users can also access data from a remote server.
Cloud Computing provides us means of manipulating, configuring, and accessing the
applications as services over the internet. So Cloud Computing provides services like online
data storage, infrastructure support for web applications, remote access of hardware and
software through internet without installing them on local machine.

distributed system
A distributed system contains multiple nodes that are physically separate
but linked together using the network. All the nodes in this system
communicate with each other and handle processes in tandem. Each of
these nodes contains a small part of the distributed operating system
software.
A diagram to better explain the distributed system is −

Types of Distributed Systems

The nodes in the distributed systems can be arranged in the form of


client/server systems or peer to peer systems. Details about these are as
follows −
Client/Server Systems
In client server systems, the client requests a resource and the server
provides that resource. A server may serve multiple clients at the same
time while a client is in contact with only one server. Both the client and
server usually communicate via a computer network and so they are a
part of distributed systems.
Peer to Peer Systems
The peer to peer systems contains nodes that are equal participants in
data sharing. All the tasks are equally divided between all the nodes. The
nodes interact with each other as required as share resources. This is
done with the help of a network.

Advantages of Distributed Systems

Some advantages of Distributed Systems are as follows −

 All the nodes in the distributed system are connected to each


other. So nodes can easily share data with other nodes.
 More nodes can easily be added to the distributed system i.e.
it can be scaled as required.
 Failure of one node does not lead to the failure of the entire
distributed system. Other nodes can still communicate with
each other.
 Resources like printers can be shared with multiple nodes
rather than being restricted to just one.

Disadvantages of Distributed Systems

Some disadvantages of Distributed Systems are as follows −

 It is difficult to provide adequate security in distributed


systems because the nodes as well as the connections need to
be secured.
 Some messages and data can be lost in the network while
moving from one node to another.
 The database connected to the distributed systems is quite
complicated and difficult to handle as compared to a single
user system.
 Overloading may occur in the network if all the nodes of the
distributed system try to send data at once.

Models for Inter-process communications


Interprocess communication is the mechanism provided by the operating
system that allows processes to communicate with each other. This
communication could involve a process letting another process know that
some event has occurred or the transferring of data from one process to
another.
A diagram that illustrates interprocess communication is as follows −

Synchronization in Interprocess Communication

Synchronization is a necessary part of interprocess communication. It is


either provided by the interprocess control mechanism or handled by the
communicating processes. Some of the methods to provide
synchronization are as follows −

 Semaphore
A semaphore is a variable that controls the access to a
common resource by multiple processes. The two types of
semaphores are binary semaphores and counting semaphores.
 Mutual Exclusion
Mutual exclusion requires that only one process thread can
enter the critical section at a time. This is useful for
synchronization and also prevents race conditions.
 Barrier
A barrier does not allow individual processes to proceed until
all the processes reach it. Many parallel languages and
collective routines impose barriers.
 Spinlock
This is a type of lock. The processes trying to acquire this lock
wait in a loop while checking if the lock is available or not. This
is known as busy waiting because the process is not doing any
useful operation even though it is active.

Approaches to Interprocess Communication

The different approaches to implement interprocess communication are


given as follows −

 Pipe
A pipe is a data channel that is unidirectional. Two pipes can
be used to create a two-way data channel between two
processes. This uses standard input and output methods. Pipes
are used in all POSIX systems as well as Windows operating
systems.
 Socket
The socket is the endpoint for sending or receiving data in a
network. This is true for data sent between processes on the
same computer or data sent between different computers on
the same network. Most of the operating systems use sockets
for interprocess communication.
 File
A file is a data record that may be stored on a disk or acquired
on demand by a file server. Multiple processes can access a
file as required. All operating systems use files for data
storage.
 Signal
Signals are useful in interprocess communication in a limited
way. They are system messages that are sent from one
process to another. Normally, signals are not used to transfer
data but are used for remote commands between processes.
 Shared Memory
Shared memory is the memory that can be simultaneously
accessed by multiple processes. This is done so that the
processes can communicate with each other. All POSIX
systems, as well as Windows operating systems use shared
memory.
 Message Queue
Multiple processes can read and write data to the message
queue without being connected to each other. Messages are
stored in the queue until their recipient retrieves them.
Message queues are quite useful for interprocess
communication and are used by most operating systems.
A diagram that demonstrates message queue and shared memory
methods of interprocess communication is as follows −

Cloud 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 so by assigning a logical name to a
physical resource and providing a pointer to that physical resource on
demand.

Virtualization Concept

Creating a virtual machine over existing operating system and hardware is


referred as Hardware Virtualization. Virtual Machines provide an
environment that is logically separated from the underlying hardware.
The machine on which the virtual machine is created is known as host
machine and virtual machine is referred as a guest machine. This
virtual machine is managed by a software or firmware, which is known
as hypervisor.

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.
The type1 hypervisor does not have any host operating system because
they are installed on a bare system.
Type 2 hypervisor is a software interface that emulates the devices with
which a system normally interacts. Containers, KVM, Microsoft Hyper V,
VMWare Fusion, Virtual Server 2005 R2, Windows Virtual PC and VMWare
workstation 6.0 are examples of Type 2 hypervisor. The following
diagram shows the Type 2 hypervisor.

Types of Hardware Virtualization

Here are the three types of hardware virtualization:

 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.
Emulation Virtualization
In Emulation, the virtual machine simulates the hardware and hence
becomes independent of it. In this, the guest operating system does not
require modification.

Paravirtualization
In Paravirtualization, the hardware is not simulated. The guest software
run their own isolated domains.
VMware vSphere is highly developed infrastructure that offers a
management infrastructure framework for virtualization. It virtualizes the
system, storage and networking hardware.
advantages and disadvantages of virtualization?

Pros of Virtualization

There are various pros of virtualization which are as follows −


 Cheaper − Virtualization doesn’t need actual hardware
elements to be used or installed and hence, IT infrastructures
discover it to be a low-cost system to execute. There is no
higher need to dedicate huge areas of space and huge
monetary investments to generate an on-site resource.
 Efficiency − Virtualization also enables automatic updates to
the hardware and software by installing on their third-party
provider. Thus, IT professionals don’t have to spend money for
singles and corporations. Further, that virtualization decreases
the load of resource management for supporting adaptability
in the virtual environment.
 Portability − It can simply move our virtual machine from one
defective host server to the new host server with a very high
success cost.
 Flexibility − Virtualization supports the flexibility to the users
to waste their resources. Whatever the operation cloud
software uses for supporting resources to the user can simply
be managed or completed through various steps.

Cons of Virtualization

The cons of virtualization are as follows −


 Security − Data is an important element of each organization.
Data security is provided in a virtualized environment because
the server is handled by thirdparty providers. Thus, it is
essential to select the virtualization solution carefully so that it
can support adequate protection.
 Limitations − Virtualization does contain some limitations.
Each server and software out there is not virtualization
adaptable. Therefore, various IT infrastructures of the
organizations will not be providing the virtualized solutions.
Further, some vendors have interrupted supporting them. For
reducing this individuals and organizations are required to
have a hybrid system.
 Availability − Availability is an essential element of an
organization. The data is required to be linked for an extended
period. If not the organization will be going to fail the
competition in the market. The problem with the availability
can appear from the virtualization servers. The virtualization
servers have shifted to go offline. Therefore, the websites
which are hosted will also be declined. This is merely
controlled by the third-party providers and there is nothing the
client can do about it.

Understanding Openstack

OpenStack is a software for building and managing cloud-computing


platforms for public and private clouds. Openstack has one of the biggest
communities. It is managed by the OpenStack Foundation, a non-profit
organization that oversees both development and community building. Its
official webpage is – https://www.openstack.org/.
OpenStack is used to deploy virtual machines and other instances that
handle different tasks for managing a cloud environment. OpenStack is
considered as – Infrastructure as a Service (IaaS). Based on Openstack,
please see the following schematic illustration, which describes how it is
managed.
Source − https://www.openstack.org/

Openstack platform is managed by a web UI dashboard. It comprises of


nine Core key components.
These key concepts are described in detail as follows −
 Nova is a computing engine. It is used for deploying and
managing large numbers of virtual machines.
 Swift is a storage system for objects and files.
 Cinder is a block storage component. It accesses specific
locations on a disk drive.
 Neutron provides the networking capability.
 Horizon is the dashboard of Openstack. It is the only graphical
interface (WEB UI).
 Keystone provides identity services. It is essentially a central
list of all the users.
 Glance provides image services to OpenStack. In this case,
"images" refers to images (or virtual copies) of hard disks.
 Ceilometer provides telemetry services, which allow the
cloud to provide billing services to individual users of the
cloud.
 Heat allows developers to store the requirements of a cloud
application in a file that defines what resources are necessary
for that application.

Cloud Computing Platform as a Service (PaaS)

Platform-as-a-Service offers the runtime environment for applications.


It also offers development and deployment tools required to develop
applications. PaaS has a feature of point-and-click tools that enables
non-developers to create web applications.
App Engine of Google and Force.com are examples of PaaS offering
vendors. Developer may log on to these websites and use the built-in
API to create web-based applications.
But the disadvantage of using PaaS is that, the developer locks-in with a
particular vendor. For example, an application written in Python against
API of Google, and using App Engine of Google is likely to work only in that
environment.
The follow ing diagram shows how PaaS offers an API and development
tools to the developers and how it helps the end user to access business
applications.
Benefits

Following are the benefits of PaaS model:

Lower administrative overhead


Customer need not bother about the administration because it is the
responsibility of cloud provider.
Lower total cost of ownership
Customer need not purchase expensive hardware, servers, power, and
data storage.
Scalable solutions
It is very easy to scale the resources up or down automatically, based on
their demand.
More current system software
It is the responsibility of the cloud provider to maintain software versions
and patch installations.

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:

Lack of portability between PaaS clouds


Although standard languages are used, yet the implementations of
platform services may vary. For example, file, queue, or hash table
interfaces of one platform may differ from another, making it difficult to
transfer the workloads from one platform to another.
Event based processor scheduling
The PaaS applications are event-oriented which poses resource
constraints on applications, i.e., they have to answer a request in a given
interval of time.
Security engineering of PaaS applications
Since PaaS applications are dependent on network, they must explicitly
use cryptography and manage security exposures.
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.
 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:

Stand-alone development environments


The stand-alone PaaS works as an independent entity for a specific
function. It does not include licensing or technical dependencies on
specific SaaS applications.
Application delivery-only environments
The application delivery PaaS includes on-demand
scaling and application security.
Open platform as a service
Open PaaS offers an open source software that helps a PaaS provider
to run applications.
Add-on development facilities
The add-on PaaS allows to customize the existing SaaS platform.

**Briefly summarize the Cloud Computing Reference Model

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.

What is Cloud Computing?

Cloud Computing refers to manipulating,


configuring, and accessing the hardware and software resources
remotely. It offers online data storage, infrastructure, and application.

Cloud computing offers platform independency, as the software is not


required to be installed locally on the PC. Hence, the Cloud Computing is
making our business applications mobile and collaborative.

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.
Public Cloud
The public cloud allows systems and services to be easily accessible to
the general public. Public cloud may be less secure because of its
openness.
Private Cloud
The private cloud allows systems and services to be accessible within an
organization. It is more secured because of its private nature.
Community Cloud
The community cloud allows systems and services to be accessible by a
group of organizations.
Hybrid Cloud
The hybrid cloud is a mixture of public and private cloud, in which the
critical activities are performed using private cloud while the non-critical
activities are performed using public cloud.
Service Models
Cloud computing is based on service models. These are categorized into
three basic service models which are -

 Infrastructure-as–a-Service (IaaS)
 Platform-as-a-Service (PaaS)
 Software-as-a-Service (SaaS)
Anything-as-a-Service (XaaS) is yet another service model, which
includes Network-as-a-Service, Business-as-a-Service, Identity-as-a-
Service, Database-as-a-Service or Strategy-as-a-Service.
The Infrastructure-as-a-Service (IaaS) is the most basic level of
service. Each of the service models inherit the security and management
mechanism from the underlying model, as shown in the following
diagram:
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.

History of Cloud Computing

The concept of Cloud Computing came into existence in the year 1950
with implementation of mainframe computers, accessible via thin/static
clients. Since then, cloud computing has been evolved from static clients
to dynamic ones and from software to services. The following diagram
explains the evolution of cloud computing:
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
 Cloud Computing offers load balancing that makes it more
reliable.

Risks related to Cloud Computing

Although cloud Computing is a promising innovation with various benefits


in the world of computing, it comes with risks. Some of them are
discussed below:
Security and Privacy
It is the biggest concern about cloud computing. Since data management
and infrastructure management in cloud is provided by third-party, it is
always a risk to handover the sensitive information to cloud service
providers.
Although the cloud computing vendors ensure highly secured p//assword
protected accounts, any sign of security breach may result in loss of
customers and businesses.
Lock In
It is very difficult for the customers to switch from one Cloud Service
Provider (CSP) to another. It results in dependency on a particular CSP
for service.
Isolation Failure
This risk involves the failure of isolation mechanism that separates
storage, memory, and routing between the different tenants.
Management Interface Compromise
In case of public cloud provider, the customer management interfaces are
accessible through the Internet.
Insecure or Incomplete Data Deletion
It is possible that the data requested for deletion may not get deleted. It
happens because either of the following reasons
 Extra copies of data are stored but are not available at the
time of deletion
 Disk that stores data of multiple tenants is destroyed.

Characteristics of Cloud Computing

There are four key characteristics of cloud computing. They are shown in
the following diagram:

On Demand Self Service


Cloud Computing allows the users to use web services and resources on
demand. One can logon to a website at any time and use them.
Broad Network Access
Since cloud computing is completely web based, it can be accessed from
anywhere and at any time.
Resource Pooling
Cloud computing allows multiple tenants to share a pool of resources. One
can share single physical instance of hardware, database and basic
infrastructure
Rapid Elasticity
It is very easy to scale the resources vertically or horizontally at any time.
Scaling of resources means the ability of resources to deal with increasing
or decreasing demand.
The resources being used by customers at any given point of time are
automatically monitored.
Measured Service
In this service cloud provider controls and monitors all the aspects of
cloud service. Resource optimization, billing, and capacity planning etc.
depend on it.

You might also like