0% found this document useful (0 votes)
34 views

S6 - Cloud Computing-Module 1,2,3,4

The document provides an introduction to cloud computing, including its definition, advantages, and characteristics. It discusses key technologies like distributed systems, virtualization, web 2.0, service orientation, and utility computing that enabled the development of cloud computing. Popular cloud platforms like AWS, Google AppEngine, Microsoft Azure, and Hadoop are also covered. The document then discusses principles of parallel and distributed computing.

Uploaded by

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

S6 - Cloud Computing-Module 1,2,3,4

The document provides an introduction to cloud computing, including its definition, advantages, and characteristics. It discusses key technologies like distributed systems, virtualization, web 2.0, service orientation, and utility computing that enabled the development of cloud computing. Popular cloud platforms like AWS, Google AppEngine, Microsoft Azure, and Hadoop are also covered. The document then discusses principles of parallel and distributed computing.

Uploaded by

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

S6 – Cloud computing – Module 1

# Cloud computing introduction:- it is a technology that uses the internet and


central remote servers to maintain data and applications.
-it allows consumers and businesses to use applications without installation and access their
personal files at any computer with internet access.
-All a consumer needed is just an proper internet connection.
-Some cloud service providers are
● Digital Ocean , Google Cloud platform, Microsoft Azure, etc.
->Advantages of cloud computing
o Cost: It reduces the huge capital costs of buying hardware and software.
o Speed: Resources can be accessed in minutes, typically within a few clicks.
o Scalability: We can increase or decrease the requirement of resources according to
the business requirements.
o Reliability: Backup and recovery of data are less expensive and very fast for business
continuity.
o Security: Many cloud vendors offer a broad set of policies, technologies, and
controls that strengthen our data security.
->Characteristics and benefits:- Cloud computing has some interesting
characteristics
that bring benefits to both cloud service consumers (CSCs) and cloud service providers
(CSPs). They are
1. No upfront commitments
2. On demand access
3. Nice pricing
4. Simplified application acceleration and scalability
5. Efficient resource allocation
6. Energy efficiency
7. Seamless creation and the use of third-party services.
#Cloud Computing at a Glance:-

# Historical Developments:- Cloud computing is all about renting computing


services.
-This idea first came in the 1950s.
-In making cloud computing what it is today, five technologies played a vital role.
-These are (5 types)
● distributed systems and its peripherals,
● virtualization
● web 2.0
● service orientation
● utility computing

1.distributed systems:-The purpose of distributed systems is to share resources and


also
use them effectively and efficiently.
-A distributed system is a collection of independent computers that appears to its user as
a single system and also it acts as a single computer.
-the main problem with this system was that all the systems were required to be present
at the same geographical location.
-To solve this problem, distributed computing led to three more types of computing and
they were-Mainframe computing, cluster computing, and grid computing.
1.1)Mainframe computing:-Mainframes which first came into existence in 1951 are
highly powerful and reliable computing machines.
-These are responsible for handling large data such as massive input-output
operations.
-Even today these are used for bulk processing tasks such as online transactions
etc.
- After distributed computing, these increased the processing capabilities of the
system.
-But these were very expensive.
-To reduce this cost, cluster computing came as an alternative to mainframe
technology.
1.2)cluster computing:-In 1980s, cluster computing came as an alternative to
mainframe computing.
-Each machine in the cluster was connected to each other by a network with high
bandwidth.
-These were way cheaper than those mainframe systems.
-These were equally capable of high computations.
-Also, new nodes could easily be added to the cluster if it was required.
-Thus, the problem of the cost was solved.
-But the problem related to geographical restrictions still pertained(solvable).
-To solve this, the concept of grid computing was introduced.
1.3)grid computing:-In 1990s, the concept of grid computing was introduced.
-It means that different systems were placed at entirely different geographical
locations and these all were connected via the internet.
-Although it solved some problems. but new problems emerged as the distance
between the nodes increased.
-The main problem was the low availability of high bandwidth connectivity.

2.Virtualization:-It was introduced nearly 40 years back.


-It refers to the process of creating a virtual layer over the hardware which allows the
user to run multiple instances simultaneously on the hardware.
-It is a key technology used in cloud computing.
-It is the base on which major cloud computing services such as Amazon EC2, VMware
vCloud, etc work on.
-Hardware virtualization is still one of the most common types of virtualization.

3.Web 2.0:-It is the interface through which the cloud computing services interact with the
clients.
-It is because of Web 2.0 that we have interactive and dynamic web pages.
-It also increases flexibility among web pages.
-Popular examples of web 2.0 include Google Maps, Facebook, Twitter, etc.
-In gained major popularity in 2004.

4.Service orientation:-It acts as a reference model for cloud computing.


-It supports low-cost, flexible, and evolvable applications.
-Two important concepts were introduced in this computing model.
-These were Quality of Service (QoS) and Software as a Service (SaaS).

5.Utility computing:-It is a computing model that defines service provisioning techniques


for services such as compute services along with other major services such as storage,
infrastructure, etc which are provisioned on a pay-per-use basis.

#Building Cloud Computing Environments:-The creation of cloud computing


environments encompasses both the development of applications and Infrastructure and
system development.
-”bakki unde net ill nokkikkonam”

#Computing Platforms and Technologies:-Cloud computing applications


develops by leveraging platforms and frameworks.
-Various types of services are provided they are;
->Amazon Web Services (AWS) :-It is a platform that offers flexible, reliable, scalable,
easy-to-use and, cost-effective cloud computing solutions.
-2002- AWS services launched
-Amazon Web Services offers a wide range of different business purpose global cloud-
based
products. The products include storage, databases, analytics, networking, mobile,
development tools, enterprise applications, with a pay-as-you-go pricing model.
-Advantages of AWS
● AWS allows organizations to use the already familiar programming models,
operating systems, databases, and architectures.
● It is a cost-effective service that allows you to pay only for what you use, without any
up-front or long-term commitments.
● You will not require to spend money on running and maintaining data centers.
● Offers fast deployments
● You can easily add or remove capacity.
● You are allowed cloud access quickly with limitless capacity.
● Total Cost of Ownership is very low compared to any private/dedicated servers.
● Allows you to deploy your application in multiple regions around the world with just
a few clicks
-Disadvantages of AWS
● If you need more immediate or intensive assistance, you’ll have to opt for paid
support packages.
->Google AppEngine:-It lets users run web application on google’s infrastructure.
-App Engine application are easy to built and easy to maintain
-with app engine there are no servers to maintain: user just need to upload your
application,and its ready to server other users.
-user can serve your app from your own domain name using google app.
-it support apps written in several programming languages.
-it costs nothing to get started.
->Microsoft Azure:- Is a cloud operating system and a platform for developing applications
in the cloud.
-launched by Microsoft in February 2010.
-It is an open and flexible cloud platform which helps in development, data storage,
service hosting, and service management.
-The Azure hosts web applications over the internet with the help of Microsoft data
centers.
-Advantages of Azure:
● It allows you to access the application without buying a license for the individual
machine
● Offers scalability, flexibility, and cost-effectiveness.
● Cloud computing offers virtually limitless storage.
● If your personal computer or laptop crashes, all your data is still out there in the
cloud
● If you change your device your computers, applications and documents follow you
through the cloud
-Disadvantages of Azure
● Cloud computing is not possible if you can’t connect to the Internet
● Azure is a web-based application which requires a lot of bandwidth to download, as
do large documents.
->Hadoop:- is an open source, Java based framework used for storing and processing big
data.
-Developed by Doug Cutting and Michael J. Cafarella.
-Hadoop uses the MapReduce programming model for faster storage and retrieval of data
from its nodes.
-The framework is managed by Apache Software Foundation and is licensed under the
Apache License 2.0.
- The costs are significantly lower compared to relational database systems.
-> Force.com and Salesforce.com

->Manjrasoft Aneka:-

#Principles of Parallel and Distributed Computing


*Eras of Computing:-The two dominant models of computing are;
● sequential :-The sequential computing era began in the 1940s
● parallel:- the parallel (and distributed) computing era followed it within a decade.
- The four key elements of computing developed during these eras are
● architectures
● compilers
● applications
● problem-solving environments

* Parallel vs. Distributed Computing:-The terms parallel computing and distributed


computing are often used interchangeably, even though they mean slightly different things.
The term parallel implies a tightly coupled system, whereas distributed refers to a wider
class of system, including those that are tightly coupled.
->Parallel Computing:-In parallel computing multiple processors performs multiple tasks
assigned to them simultaneously.
-Memory in parallel systems can either be shared or distributed.
-Parallel computing provides concurrency and saves time and money.
-There are multiple advantages to parallel computing. As there are multiple processors
working simultaneously, it increases the CPU utilization and improves the performance.
- Moreover, failure in one processor does not affect the functionality of other processors.
-Therefore, parallel computing provides reliability.
->Distributed Computing:-In distributed computing we have multiple autonomous
computers which seems to the user as single system.
-In distributed systems there is no shared memory and computers communicate with
each other through message passing.
-There are multiple advantages of using distributed computing. It allows scalability and
makes it easier to share resources easily.
-It also helps to perform computation tasks efficiently.

->Difference between Parallel Computing and Distributed Computing

Parallel Computing Distributed Computing

Single computer is required Uses multiple computers

Multiple processors perform multiple Multiple computers perform multiple


operations operations

It may have shared or distributed memory It have only distributed memory


Processors communicate with each other Computer communicate with each other
through bus through message passing.

#Elements of Parallel Computing;


*parallel processing:-Parallel processing has been developed as an effective technology
in modern computers to meet the demand for higher performance, lower cost
-Processing of multiple tasks simultaneously on multiple processors is called parallel
processing.
-The parallel program consists of multiple active processes (tasks) simultaneously solving a
given problem.
-A given task is divided into multiple subtasks using a divide-and-conquer technique, and
each subtask is processed on a different central processing unit (CPU).
-Many applications today require more computing power than a traditional computer can
offer.
-Parallel processing provides a cost-effective solution to this problem by increasing the
number of CPUs in a computer and add an efficient communication system between them.
-The workload can then be shared between different processors.
*Hardware architectures for parallel processing:-The core elements of parallel
processing are CPUs.
-classification of parallel processing( 4 types);
1. Single-instruction, single-data (SISD) systems
2. Single-instruction, multiple-data (SIMD) systems
3. Multiple-instruction, single-data (MISD) systems
4. Multiple-instruction, multiple-data (MIMD) systems

1. Single-instruction, single-data (SISD) systems :-An SISD computing


system is a uniprocessor machine which is capable of executing a single
instruction.
-it operate on a single data stream.
-In SISD, machine instructions are processed in a sequential manner and computers
in this model are popularly called sequential computers.
-Most conventional computers have SISD architecture.
-All the instructions and data to be processed have to be stored in primary memory.
-The speed of the processing element in the SISD model is limited(dependent) on the
computer it used.

2. Single-instruction, multiple-data (SIMD) systems :-An SIMD system is a


multiprocessor machine capable of executing the same instruction on all the CPUs.
-It operate on different data streams.
-Machines based on an SIMD model are well suited to scientific computing since they
involve lots of vector and matrix operations.

3.Multiple-instruction, single-data (MISD) systems:-An MISD computing system is a


multiprocessor machine capable of executing different instructions on different
PEs(Processing Elements).
-All the operates are on the same dataset.
-The system performs different operations on the same data set.
-Machines built using the MISD model are not useful in most of the application, a few
machines are built, but none of them are available commercially.

4.Multiple-instruction, multiple-data (MIMD) systems:- An MIMD system is a


multiprocessor machine which is capable of executing multiple instructions on
multiple data sets.
-Each PE (Processing Elements) in the MIMD model has separate instruction and data
streams.
-Therefore machines built using this model are capable to any kind of application.
-Unlike SIMD and MISD machines, PEs in MIMD machines work asynchronously.

-MIMD machines are categorized into shared-memory MIMD and


distributed-memory MIMD based on the way PEs are coupled to the main memory.
->shared memory MIMD:- In this model (tightly coupled multiprocessor systems),
all the PEs are connected to a single global memory and they all have access to it.
-The communication between PEs in this model ,through the shared memory.
-The shared-memory MIMD architecture is easier to program.
- Failures in a shared-memory MIMD affect the entire system.

->Distributed memory MIMD:- machines (loosely coupled multiprocessor systems)


all PEs have a local memory.
-The communication between PEs in this model ,through the interconnection
network
-The network connecting PEs can be tree, mesh etc…….

interconnection network

*Approaches to parallel programming:- The single processor has a single line of


control.
-To make many processors collectively work on a single program, the program must be
divided into smaller independent parts
- so that each processor can work on separate. (mukalillunde athu thanna ezhuthiyal mathi)
- A wide variety of parallel programming approaches are available they are;
• Data parallelism:-In the case of data parallelism, the divide-and-conquer technique
is
used to split data into multiple sets, and each data set is processed on different PEs
using the same instruction.
• Process parallelism:- - a given operation has multiple activities , which can be
processed on multiple processors.
• Farmer-and-worker model:-a job distribution approach is used: one processor is
configured as master and all other remaining PEs are designated as slaves; the
master assigns jobs to slave PEs.

*Levels of parallelism:-Levels of parallelism are decided based on the size of code.


-they are; 1.Large-grain 2.Medium-grain 3.Fine-grain 4.Very -fine grain.

-fig;

#Elements of Distributed Computing


*General concepts and definitions:-Distributed computing studies the models,
architectures, and algorithms used for building and managing distributed systems.
-The general definition of the term distributed system, we use the one proposed by
Tanenbaum
“A distributed system is a collection of independent computers that appears to its
users as a single coherent system.”
- Communication is one of the fundamental aspect of distributed computing.
-The distributed systems are combined by more than one computer that collaborate
together, it is necessary to provide some sort of data and information exchange between
them, which generally occurs through the network.
*Components of a distributed system:-
->platform:-lowest level layer thet provide services
to other higher layers.
->Middleware:-The middleware sits between the
platform and the application and its purpose is
to mask heterogeneity and provide a consistent
programming model for application developers.
->Application:-top of the middleware layer sits the application layer.
-The application layer provides application-specific functionality.
-Depending on the application, it may or may not make sense to take advantage of
existing middleware. (“vare nokkikkonam, correct anno ennu ariyathilla”)

*Architectural styles for distributed computing:- Architectural styles are mainly


used
to determine the connection of components and connectors that are used.
- Architectural styles for distributed systems are helpful in understanding the different
roles
of components in the systems.
-Architectural styles can be divided into two major classes they are;
1.Software architectural styles:-relates to the logical organization of the software.
2.System architectural styles:-describe the physical organization. (components and
connectors)
->Components – represents a unit of software that encapsulates a function or a feature of
the system. / A Module with well-defined interfaces; reusable,replaceable
->Connector – is a communication mechanism that allows the cooperation and
coordination among component / communication link between modules.
* Software architectural styles:-The 5 main architectural styles of distributed systems
are;
1.Data centered architectures
2. Data flow architectures.
3. Virtual machine architectures.
4. Call and return architectures.
5. Architectural styles based on independent components.

1.Data-centered architecture:- works on a central data repository, either active or


passive.
-Like most producer-consumer scenarios, the producer (business) produces items to the
common data store, and the consumer (individual) can request data from it.
-Sometimes, this central repository can be just a simple database.
-There are two types of components −
● A central data structure or data store or data repository, which is responsible for
providing permanent data storage. It represents the current state.
● A data accessor or a collection of independent components that operate on the
central data store, perform computations, and might put back the results.
-communication between the data accessors is only through the data store.
-The data is the only means of communication among clients.
-The flow of control differentiates the architecture into two categories −

1.1.Repository Architecture Style:-the data store is passive and the clients of


the data store are active.
-The client sends a request to the system to perform actions (e.g. insert data).
-It Provides data integrity, backup and restore features.
-The main disadvantage is data replication or duplication is possible.
1.2Blackboard Architecture Style:- the data store is active and its clients are passive.
-A number of components that act independently on the common data structure are
stored in the blackboard.
-The blackboard architectural style is characterized by three main components:
1.2.1.Knowledge Sources:- It is also known as Listeners or Subscribers.
- Knowledge sources are independent modules that contain the knowledge needed
for problem solving.
1.2.2.Blackboard:-It represents the data structure that is shared among the
knowledge sources and stores the knowledge base of the application.
1.2.3.Control:-Control manages tasks and checks the work state.

2.Data-flow architectures:-Data Flow Architecture is transformed input data by a series of


computational into output data.
-Data flow architecture reduces development time.
-In data flow architecture, the data can be flow in the graph topology with cycles or in a
linear structure without cycles.
-There are two types of execution sequences between modules they are;
2.1Batch sequential:-The batch sequential style is characterized by an ordered sequence
of separate programs executing one after the other.
-These programs are chained together by providing as input for the next program from
output generated by last program.
-This design was very popular and they are used now a day.

2.2.Pipe-and-Filter Style:-Pipe is a connector which passes the data from one filter to the
next.
-It transfers the data from one data source to one data sink.
-Pipes are the stateless data stream.
-Filter transforms the data of the input data stream, processes it, and transformed over a
pipe for the next filter to process.
-There are two types of filters − active filter and passive filter.
2.2.1 Active filter:- lets connected pipes to pull data in and push out the
transformed data.
-It operates with passive pipe.
2.2.2.Passive filter:- lets connected pipes to push data in and pull data out.
-It operates with active pipe.
-which pulls data from a filter and pushes data into the next filter.

(“bakki sub heading explain cheythittilla ”)


*System architectural styles:- two fundamental reference styles: client/server and
peer-to-peer.
1.Client/server:-The client-server architecture is the most common distributed
system architecture.
-the system contain two major subsystems they are;
● Client − This is the first process that issues a request to the second process (server.)
● Server − This is the second process that receives the request and sends a reply to the
client.
-Client-server Architecture can be classified into two models based on the
functionality of the client − server.
● Thin-client model:-In thin-client model, all the application processing and data
management is carried by the server. The client is simply responsible for running the
presentation software.
-The major disadvantage is that it places a heavy processing load on both the server
and the network.
● Thick/Fat-client model:-In thick-client model, the server is only in charge for data
management. The software on the client implements the application logic and the
interactions with the system user.

-Two major class / Type of Client-Server Architecture;


1.1.Two-tier architecture:-The two tier architecture has two parts,
a client tier and a server tier.
-The client tier sends a request to the server tier and the server
tier responds with the desired information.
-An example of a two tier client/server structure is a web server.
-The structure is quite easy to maintain and modify.
-The communication between the client and server in the form of request response
messages is quite fast.
1.2.Three-tier architecture/N-tier architecture:-The three tier
architecture has three layers namely client, application
and data layer.
-The client layer is the one that requests the information.
-The application layer acts as an interface between the client
and data layer.
-It helps in communication and also provides security.
-It provides much better service and fast performance.
-Data security is much better in the three tier structure.
-Three - tier client/server structure is quite complex due to advanced features.

2.Peer-to-peer:-A peer to peer network is a simple network of computers.


-It first came into existence in the late 1970s.
-Here each computer acts as a node.
-Here each node acts as a server and thus there is no central server to the network.
-This allows the sharing of a huge amount of data.
-The tasks are equally divided amongst the nodes.
-Each node connected in the network shares an equal workload.
-The network to stop working, all the nodes need to individually stop
working. This is because each node works independently.
-Network is easy to maintain because each node is independent of each other.
- Each node acts as a server, therefore the cost of the central server is saved.
-Adding, deleting and repairing nodes in this network is easy.
-There is no backup Because of no central server, data is always get lost.

Module - 2-Virtualization

#Virtualization:-Virtualization technology is one of the fundamental components of


cloud computing.
-It allows creation of secure, customizable and run applications , even if they are untrusted,
without affecting other users applications.
-Virtualization build systems with minimum costs.
-Virtualization technologies not only provide a virtual environment for executing
applications, but also for storage, memory, and networking.
*Virtualization Introduction:-(“mukalilathathu same thanna yannu”)
-Virtualization is the "creation of a virtual (rather than actual) version of
something, such as a server, a desktop, a storage device, an operating system etc..
-Virtualization is a technique that allows you to transform hardware into software.
->advantage
-low cost.
-pay per use.
-security.
-flexible transfer of data.
-”bakki mukalilathathu ezhuthikkonam”.
*Characteristics of virtualized environments:- In a virtualized environment ,
there
are three major components: gust, host and virtualization layer.
1. Guest: represents the system component that interact with the virtualization
layer .
2. Host: represents the original environment where the guest is supposed to be
managed.
3. Virtualization layer : is responsible for recreating the same or a different
environment where the guest will operate.
-The advantages that are characterized by virtualized solutions are;
1. Increased security:- The ability to control the execution of a gust delivering a
secure, controlled execution environment.
- Resources from host can be hidden or simply protected from the guest.
-Important information in the host can be naturally hidden without the need of
installing complex security policies.
2. Managed execution:-Virtualization of the execution environment allow
increased security and provide a wide range of features.
-Sharing :- virtualization allows sharing within the same host.The main feature is used
to reduce the number of active servers and limit power consumption.
-Aggregation:-A group of separate hosts can be tied together and represented as a
single virtual host.
-Emulation :-controlling and turning the environment exposed to guest.
-Isolation :- complete separate environment for guest.
3.Portability:-Portability applies in different ways in different type of virtualization.
-In the case of hardware virtualization the guest is packaged into a virtual image and
safely moved and executed on top of different virtual machines.
-Portability allows over own system always with us and ready to use.
*Types of virtualization:-There are many types of
virtualization technology are available they are;
1. Hardware Virtualization:-When the virtual machine software or virtual
machine manager (VMM) is directly installed on the hardware system is known as
hardware virtualization.
-The main job of hypervisor is to control and monitoring the processor, memory and
other hardware resources.
-The hypervisor is generally a program ,or a combination of software and hardware.
1.1. Hypervisors (virtual machine manager) :- The main job of hypervisor is to
control and monitoring the processor, memory and other hardware resources
-It recreates a hardware environment, where gust OS are installed.
- Two type;
1.1.1. type 1 (hosted):-- hypervisors run
directly on top of the hardware.---------- >
-Run directly on top of the hardware.
- They take the place of the O.S.
-Interact directly with the ISA.
1.1.2. type 2 (native):- require the support of
an OS to provide virtualization.---------- >
-Require the support of an O.S to provide
virtualization services.
-After virtualization of hardware system we can install different operating system
on it and run different applications on those OS.
1.2. Hardware virtualization techniques;
1.2.1.Full Virtualization:-Full Virtualization was introduced by IBM in the year
1966.
- In full virtualization, guest OS is completely isolated by the virtual
machine from the virtualization layer and hardware.
- Microsoft and Parallels systems are examples of full virtualization.

1.2.2.Paravirtualization:-In paravirtualization, guest OS is not completely


isolated.
-but it is partially isolated by the virtual machine from the virtualization
layer and hardware.

1.2.3.Partial virtualization:- not allow complete isolation to guest OS.


-Allows many applications to run transparently but not all the features
of the os can be supported as happens with full virtualization.
-many different OS can run simultaneously.

->difference between Full Virtualization and Paravirtualization are;


2.Operating System Virtualization:-When the virtual machine software or virtual
machine manager (VMM) is installed on the Host operating system instead of directly
on the hardware system is known as operating system virtualization.
-it is mainly used for testing the applications on different platforms of OS.

3.Programming language-level virtualization:-It is mostly used to achieve ease of


deployment of application ,managed execution and portability across different platform
and OS.
-it stack based virtual machines.
4.Application level Virtualization:-it is a technique allowing applications to be run in
runtime environments that do not support all the features of applications.
- this is a good solution in the case of missing libraries in the host OS.
-in this case a replacement library can be linked with the application.
-This technique allows incompatible (not similar) applications to run together.
->Other types of virtualization;
5.Storage Virtualization:-Storage virtualization is an array of servers that are managed by a
virtual storage system.
-The servers didn’t know exactly where their data is stored.
-storage virtualization software maintains smooth operations.
6.Network Virtualization:-The ability to run multiple virtual networks.
-It can be managed by individual parties.
-it provides a facility to create and provision virtual networks—logical switches, routers,
firewalls, load balancer, Virtual Private Network (VPN), and workload security within days or
even in weeks.
7.Desktop Virtualization:-allows the users’ OS to be remotely stored on a server in the data
centre.
-It allows the user to access their desktop virtually, from any location by a different
machine.
-Main benefits of desktop virtualization are user mobility, portability, easy management of
software installation, updates, and patches.

#Virtualization and cloud computing:- Virtualization plays an important role in


cloud computing.
- it allows customization , security, isolation.
- Hardware and programming language virtualization are the techniques used in cloud
computing.
*Server consolidation:- is the process of migrating network services and
applications from multiple computers to a singular computer.
- It allows reducing the power consumption of a data center.
* Live migration:- Live Migration is the process of moving a running virtual machine
(VM) from one physical server to another while not disrupting the user.

# Pros and Cons of Virtualization;


• Advantages
->Managed execution and isolation: these characteristics allow building
secure and controllable computing environments.
->Portability:- is another advantage of virtualization.
-Virtual machine are normally represented by one or more files that can be
easily transported to a physical systems.
->self-containment:- to reduce the costs for maintenance , since the number
of hosts is expected to be lower than the number of virtual machine
instances.
->Efficient use of resources: multiple systems can securely coexist and share
the resources.
-it save energy consumption and have less impact on the environment.

• Disadvantages
->Performance degradation:-performance is definitely one of the major concerns when
using the virtualization technology. (bakki ezhuthikkonam net ill nokkikkonam)
->Inefficiency and degraded user experience:-virtualization can sometimes lead to an
inefficient use of the host.(bakki ezhuthikkonam net ill nokkikkonam)
->Security holes and new threats:-(explain cheyanam)
OR

Advantages Disadvantages
less hardware is needed less performance

easy to maintain and reduced costs if one server has a software failure,the
other server will be affected

reduces energy costs because only one


device is running instead serveral

#Technology Examples:-A wide range of virtualization technology is available for


virtualizing computing environments.
-they are;
● Xen: paravirtualization:- is a type-1 hypervisor.
- Xen was developed by XenSource, which was purchased by Citrix Systems in 2007.
- It is an open source hypervisor.
-It is the most popular application of paravirtualization.
- It enables high performance to execute guest operating system.
-It also supports multiple processor.
-youtube ill nokkokkonam
-(bakki correct anno ennu ariyathilla)

● VMware: full virtualization:-VMware’s technology is based on the concept of


full virtualization.
-In full virtualization primary hardware made for the guest operating system.
-Technology of VMware is based on the key concept of Full Virtualization.
-Either in desktop environment, with the help of type-II hypervisor, or in server
environment, through type-I hypervisor, VMware implements full virtualization.

● Microsoft Hyper-V:- Developed by Microsoft.


-made For server virtualization.
-it is a Type 1 hypervisor.
-it is also known as Windows Server Virtualization.
-It can create virtual machines on x86-64 systems running Windows OS, starting with
Windows 8.
-ellathinum fig unde explain cheyanam.

*Binary Translation;(net ill nokkikkonam)

module - 3

# Cloud Computing Architecture

*Introduction:-cloud computing technology is used by both small and large organizations


to store the information in cloud and access it from anywhere at anytime using the internet
connection.
-Cloud computing architecture is divided into the two parts -
1.Front End
-The front end is used by the client.
-It contains client-side interfaces and applications that are required to access the
cloud computing platforms.
-For example use of a web browser to access the cloud platform.
2.Back End
-The back end is used by the service provider.
-It manages all the resources that are required to provide cloud computing services.
-It includes a huge amount of data storage, security mechanism, virtual
machines,servers, traffic control mechanisms, etc.
-Both front end and back end are connected to others through a network, generally
using the internet connection.

* Cloud Reference Model:-

OR

->Infrastructure as a Service (IaaS)/ Hardware-as-a-Service (HaaS):-Iaas is also


known as Hardware as a Service (HaaS).
-It is also known as cloud infrastructure services.
-It is responsible for managing applications data, middleware, and runtime
environments.
-Customers access these resources on the Internet using a pay-as-per use model.
-In traditional hosting services, client need to pay if it is used or not.
-With the help of the IaaS cloud computing platform layer, clients only need to pay
for used services.

-IaaS is offered in three models: public, private, and hybrid cloud.


-provider also supplies services like billing, monitoring, log access, security, load
balancing, clustering, backups, replication and recovery.
-Example: Amazon Web Services (AWS) EC2, Google Compute Engine (GCE), Cisco
Metapod.
->Platform as a Service (PaaS):-It is also known as cloud platform services.
-It is quite similar to SaaS, but the difference is that PaaS provides a platform
for software creation, but using SaaS, we can access software over the
internet without the need of any platform.
-provides a runtime environment.
-It allows programmers to easily create, test, run, and deploy web
applications.
-You can purchase these applications from a cloud service provider on a
pay-as-per use basis and access them using the Internet connection.
-PaaS has a feature of point-and-click tools that enables non-developers
to create web applications.
-PaaS providers provide the Programming languages, Application frameworks,
Databases, and Other tools.
-Example: Windows Azure, Force.com, Magento Commerce Cloud, OpenShift.
->Software as a Service (SaaS):-It is also known as cloud application services.
- Mostly, SaaS applications run directly through the web browser means we do not
require to download and install these applications.
-SaaS pricing is based on a monthly fee or annual fee subscription, so it allows
organizations to access at a low cost, which is less than licensed applications.
-SaaS services are offered as a one-to-many model means a single instance of the
application is shared by multiple users.
-Less hardware required for SaaS.
-Software as a service removes the need for installation, set-up, and daily maintenance
for the organizations.
-The initial set-up cost for SaaS is typically less.
-SaaS services can be accessed from any device such as desktops, laptops, tablets, phones
etc..
-Actually, data is stored in the cloud, so security may be an issue for some users.
However,
cloud computing is not more secure than in-house deployment.
-Example: Google Apps, Salesforce Dropbox, Slack, Hubspot, Cisco WebEx.
*3 service models
1. Software-as-a-Service (SaaS)
2. Platform-as-a-Service(PaaS)
3. Infrastructure-as-a-Service(IaaS)

*Types of Clouds:-
1. Public:- Public Cloud provides a shared platform that is accessible to the general
public through an Internet connection.
-Public cloud operated on the pay-as-per-use model and administrated by the third party.
-In the Public cloud, the same storage is being used by multiple users at the same time.
-Public cloud is owned, managed, and operated by businesses, universities, government
organizations, or a combination of them.
-Amazon Elastic Compute Cloud (EC2), Microsoft Azure, IBM's Blue Cloud, Sun Cloud, and
Google Cloud are examples of the public cloud.
->Advantages of Public Cloud
-Public cloud has a lower cost than private, or hybrid cloud.
-Public cloud is location independent because its services are offered through the internet.
-In Public cloud, the cloud service provider is responsible for the manage and maintain data
centers , so cloud user can save their time.
-easily buy public cloud on the internet.
-Public cloud offers scalable (easy to add and remove) and reliable (24*7 available) services
to the users at an affordable cost.
->Disadvantages of Public Cloud
-Public Cloud is less secure because resources are shared publicly.
-In the public cloud, performance depends upon the speed of internet connectivity.
-Public cloud is less customizable than the private cloud.

2. Private:-Private cloud is also known as an internal cloud or corporate cloud.


-Private cloud provides computing services to a private internal network (within the
organization) and selected users instead of the general public.
-Private cloud provides a high level of security.
-It also ensures that operational and sensitive data are not accessible to third-party
providers.
-HP Data Centers, Microsoft, Elastra-private cloud, and Ubuntu are the example of a private
cloud.
->Advantages of Private cloud
-Private clouds have more control over their resources and hardware than public clouds
because it is only accessed by selected users.
-Security & privacy are one of the big advantages of cloud computing. Private cloud
improved the security level as compared to the public cloud.
-Private cloud offers better performance with improved speed and space capacity.
->Disadvantages of Private Cloud
-The cost is higher than a public cloud because set up and maintain hardware resources are
costly.
-Skilled people are required to manage and operate cloud services.
-Limited scalability

3. Hybrid/hetrogeneous:- Hybrid cloud is a combination of public and private clouds.


Hybrid cloud = public cloud + private cloud
-The main aim to combine these cloud (Public and Private) is to create a unified, automated,
and well-managed computing environment.
-In the Hybrid cloud, non-critical activities are performed by the public cloud and critical
activities are performed by the private cloud.
-Mainly, a hybrid cloud is used in finance, healthcare, and Universities.
-The best hybrid cloud provider companies are Amazon, Microsoft, Google, Cisco, and
NetApp.
->Advantages of Hybrid Cloud
-It provides flexible resources because of the public cloud and secure resources because of
the private cloud.
-Hybrid cloud costs less than the private cloud.
-It offers the features of both the public as well as the private cloud.
-Hybrid cloud is secure because critical activities are performed by the private cloud.
->Disadvantages of Hybrid Cloud
-In the Hybrid Cloud, networking becomes complex because of the private and the public
cloud.

4. Community Cloud :-Community cloud is a cloud infrastructure


that allows systems and services to be accessible by a group of
several organizations to share the information.
-It is owned, managed, and operated by one or more
organizations in the community, a third party, or a combination
of them.
->Advantages of Community Cloud
-Community cloud is cost effective because the whole cloud is shared between several
organizations or a community.
- It allows the users to modify the documents as per their needs and requirement.
-Community cloud is more secure than the public cloud but less secure than the private
cloud.
-Community cloud allows us to share cloud resources.
->Disadvantages of Community Cloud
-Community cloud is not a good choice for every organization.
-Community Cloud is costly than the public cloud.

*Economics of the Cloud:- is based on the PAY AS YOU GO method.


-Users/Customers must have to pay only for their way of usage of the cloud services.
-Its reduces the capital cost associated to IT infrastructure.
-In cloud, users can use software application on subscription basis without any cost.
-Cutting down the maintenance and administrative costs of IT resources.
-Three different strategies or pricing models of cloud computing is
1.Tired Pricing:- Services are offered in the various tiers.
-Each tier offers fix service at specific cost.
-Amazon EC2 uses this kind of pricing.
2.Per-unit Pricing:-This model is more suitable to cases where the principal source of
revenue for the cloud provider is determined in terms of units of specific services.
-such as data transfer and memory allocation.
3.Subscription-based pricing:-In this model users are paying periodic subscription fee for
the usage of software.
*Open Challenges (in cloud computing)
1.Cloud interoperability:- switch to another platform, it often that the applications written
for one cloud has to re-written for the other cloud.
-There is a lack of flexibility from switching from one cloud to another due to the
complexities involved.
-setting up the security from scratch may reduce flexibility.
2.Scalability and fault tolerance:- The ability to scale on demand is the most attractive
feature.
-The ability to tolerate failure is more important.
3.Security and Privacy:-it is the biggest challenge to cloud computing.
-Security and privacy issues can be overcome by employing encryption, security hardware
and security applications.
- Security issues on the cloud like identity theft, data breaches, malware infections, and a lot
more .which eventually decrease the trust of the users.
-This can in lead to loss in revenue ,reputation and stature.
-Also, dealing with cloud computing requires sending and receiving huge amounts of data at
high speed, and therefore is susceptible to data leaks.

module - 4- Aneka Cloud Application Platform

#Aneka Framework Overview:-Aneka is Manjrasoft’s solution for developing ,


deploying and managing cloud applications.
-Manjrasoft is a start-up business focussed on developing next generation.
-NET based Cloud Computing technologies that save you
time and money.
-Aneka is a software platform for developing cloud computing
applications.
-ANEKA allows servers and desktop PCs to be linked together to
form a very powerful computing infrastructure.
-This allows companies to become energy efficient and save
money without investing in greater numbers of computers to
run their complex applications.
-It offers services like coordinating the execution of
applications, helping administrators to monitor the status of the cloud.
-Key advantage of Aneka is its extensible set of APIs associated with different types of
programming models – such as Task, Thread and MapReduce. (imp point annu)

-Aneka is a pure PaaS solution for cloud computing.


-Aneka is a cloud middleware product.
-users and customers in three different areas, including engineering, life sciences,
education, and business intelligence are using aneka.
-A collection of interconnected containers made the Aneka cloud.
-The containers features three different classes of services:
1. fabric services:- infrastructure management.
2. foundation services:- supporting services for the cloud.
3. execution services:- application management and execution .
->Aneka services
1.Elasticity and scaling:-With dynamic provisioning service , it supports up-sizing and
down-sizing of the infrastructure available for applications.
2.Runtime management:-The runtime machinery is responsible for keeping the
infrastructure up and running and serves as a hosting environment for services.
3. Resource management:-it is an elastic infrastructure where resources are added and
removed dynamically, according to the application needs and user requirements.
4. Application management:-Different services like scheduling , execution, monitoring
and
storage are managed.
5. User management:- It is a multi-tenant ( )

distributed environment where multiple applications belonging to different users are


executed.

*Anatomy of the Aneka Container:-The Aneka container made the building block of
Aneka clouds.
- The main role of container is to provide a lightweight environment.
-Almost all operations performed within Aneka are carried out by the services managed by
the container.
-The services installed in the Aneka container is classified into three categories
1. fabric services:-Lowest level of software stack.
-it Define the basic infrastructure management features of the system.
-its Main services are : i) profiling and monitoring ii) resource management.
2. foundation services:- it- Provide supporting services for the execution.
- it provide runtime support for execution services and application.
-its services are i. Storage management for applications
ii. Accounting ,billing, and resource pricing
3. application services:-Manage the execution of applications
-Two services are i) scheduling , ii) Execution.

#Building Aneka Clouds:-Aneka is a platform for developing distributed applications


for clouds.
-it required infrastructure to develop. this infrastructure needs to be managed.
-infrastructure management tools are specifically designed for this task
-building clouds is one pf the primary tasks of administrators.
-aneka support various deployment models for public,private and hybrid clouds.
* Aneka Infrastructure:- from an Infrastructure point of view ,the management of
physical or virtual node is performed long as it have an internet connection and remote
administrative access to the node.
-A central role is played by the administrative console.
-A fundamental element for aneka cloud deployed by repositories.
-A repository provide storage for all the libraries required to lay out and install the basic
aneka platform.
*logical organization:- the logical organization of aneka cloud can be very diverse.
-The most common scenario is to use a master-worker configuration with separate nodes
for storage.
-A common configuration of the master node is as follows:
• Index Service (master copy)
• Heartbeat Service
• Logging Service
• Reservation Service
-The worker nodes of the Aneka Cloud and are generally configured for the execution of
applications.
*Public cloud deployment mode:-The public cloud makes it possible for anybody to
access systems and services.
-The public cloud may be less secure as it is open for everyone.
- It is a type of cloud hosting that allows customers and users to easily access systems and
services.
-In this arrangement, storage backup and retrieval services are given for free, as a
subscription, or on a per-use basis.
-Example: Google App Engine etc.
->Advantages of the public cloud model:
● Minimal Investment: Because it is a pay-per-use service.
● No setup cost: The entire infrastructure is fully subsidized by the cloud service
providers, thus there is no need to set up any hardware.
● Infrastructure Management is not required: Using the public cloud does not
necessitate infrastructure management.
● No maintenance: The maintenance work is done by the service provider (Not
users)
● Cost Effective:Since public cloud shares same resources with large number of
customers it turns out inexpensive.
● Location Independence:Public cloud services are delivered through Internet,
ensuring location independence.

->Disadvantages
● Low Security:In public cloud model, data is hosted off-site and resources are shared
publicly, therefore does not ensure higher level of security.
● Less Customizable.
*Private cloud deployment mode:-The private cloud deployment model is the exact
opposite of the public cloud deployment model.
-There is no need to share your hardware with anyone else.
-The Private Cloud is operated only within a single organization.
-However, it may be managed internally by the organization itself or by third-party.
-Companies that look for cost efficiency and greater control over data & resources will find
the private cloud a more suitable choice.
-it give Data Privacy and security.
->Advantages of the private cloud model
● Better Control
● Data Security and Privacy
● Customization.
● Cost and Energy Efficiency:The private cloud resources are not as cost effective as
resources in public clouds but they offer more efficiency than public cloud resources.
->Disadvantages
● High Priced
● Additional Skills:In order to maintain cloud deployment, organization requires skilled
expertise
● High Maintenance - Since it is managed in-house, the maintenance costs also
increase.
* Hybrid cloud deployment mode:-Hybrid Cloud is a mixture of public and private
cloud.
-Non-critical activities are performed using public cloud while the critical activities are
performed using private cloud.
- A company with critical data will prefer storing on a private cloud, while less sensitive data
can be stored on a public cloud.
->Advantages of the hybrid cloud model
● Flexibility and control: Businesses with more flexibility can design personalized
solutions that meet their particular needs.
● Cost: Because public clouds provide for scalability, you’ll only be responsible for
paying for the extra capacity if you require it.
● Security: Because data is properly separated, the chances of data theft by attackers
are considerably reduced.

->Disadvantages
● Complexity
● Networking Issues:Networking becomes complex due to presence of private and
public cloud.

#Cloud Programming and Management/in aneka:-The purpose of


Aneka is to provide a scalable middleware to execute distributed applications.
- Application development and management are the main two features of
developers.
-In order to simplify these activities Aneka provides APIs.
-The APIs are concentrated in the Aneka SDK.
*Aneka SDK:- Aneka provide APls for developing applications on top of existing
programming models, implement new programming models and develop new services to
the Aneka cloud.
-The development of applications mostly focused on the use of existing features and using
the middleware.
-the implementation of new programming models or new services constrain rich features of
Aneka.
-The SDK provides support for both programming models and services,they are Application
model and the service model.
->Application model:-it represents the minimum set of APIs that is common to all the
programming models for representing and programming distributed applications on top of
Aneka.
-This model is specialized according to the needs and the features of each of the
programming models.
->Service model:-it defines the basic requirements to implement a service that can be
hosted in an Aneka Cloud.
-The container defines the runtime environment in which services are hosted.
-Each service that is hosted in the container must have IService interface,which exposes the
following methods and properties:
• Name and status
• Control operations such as Start, Stop, Pause, and Continue methods
• Message handling by means of the Handle Message method

-The shaded balloons indicate transient states


-the white balloons indicate steady states.
-A service instance can initially be in the Unknown or Initialized state.
-fig explain cheyanam, fig important annu..

*Management tools:-This layer also includes capabilities for managing services and
applications running in the Aneka Cloud.
● Infrastructure management :-Aneka use virtual and physical hardware in order to
deploy Aneka Clouds.
● Platform management:-Infrastructure management provides the basic layer on top
of which Aneka Clouds are deployed.
- A collection of connected containers defines the platform on top of which
applications are executed.
-The features of platform management are mostly concerned with the logical
organization and structure of Aneka Clouds.
● Application management:-Applications identify the user contribution to the Cloud.
-The management APIs provide administrators with monitoring and profiling
features that help them track the usage of resources and relate them to users and
applications.
#What is data intensive computing:-Data intensive computing focuses on a
class of applications that deal with “large amount of data”.
-Data-intensive computing is concerned with production, manipulation, and analysis of
large-scale data in the range of hundreds of megabytes (MB) to petabytes (PB) and beyond.
-Several application fields from computational science to social networking,produce large
volumes of data that need to be efficiently stored.
--These tasks become challenging because the quantity of information increases over time
at higher rates.
-Distributed computing helps in the above challenges by providing more scalable , efficient
storage architectures , data computation and processing.
-it provide better performance.
-he use of parallel and distributed techniques as a support of data-intensive computing is
not straightforward, but several challenges .
-eg;hundreds og gigabytes of data are produced every second by mapping the sky by
telescoping.

*Data Intensive Computing: Map-Reduce Programming:-Data intensive


computing focuses on a class of applications that deal with “large amount of data”.
-Several application fields from computational science to social networking,produce large
volumes of data that need to be efficiently stored.
-These tasks become challenging because the quantity of information increases over time at
higher rates.
-Distributed computing helps in the above challenges by providing more scalable , efficient
storage architectures , data computation and processing.
- MapReduce is a programming model for creating data intensive applications and their
deployment on clouds.

*Technologies for Data-Intensive Computing:-Data intensive computing are


mainly focused on processing large quantities of data.
-Therefore , (1). storage systems and (2). Programming models are two technologies that
supports data-intensive computing.
1.Storage systems:-Traditionally, database management systems constituted the de facto
storage support for several types of applications.
-Due to the explosion of unstructured data this method not preferred for data analytics.
-Distributed file systems constitutes the primary support for the management of data.
-They provide an interface where to store information in the form of files and later access
them for read and write operations.
1.1. High performance distributed file systems and storage clouds
1.1.1. Lustre:-Lustre file system is a massively parallel distributed file system that
covers the needs of a small workgroup of clusters to a large scale computing
cluster.
- it designed to provide access to petabytes (PBs)of storage and throughput of
hundreds of gigabytes per second.
1.1.2. IBM General Parallel File System (GPFS):- is a high performance distributed
file system developed by IBM to support super computer and Linux
computing.
1.1.3.Google File System (GFS):- is the storage infrastructure supporting the
execution of distributed applications in the Google’s computing cloud.
1.1.4.Amazon Simple Storage Service (S3):-amazon S3 is the online storage service
provided by Amazon.
-Even though its internal detailes are not revealed , the system is claimed to
support high availability, reliability, scalability, infinite storage.

1.2. Not only SQL (NoSQL) systems:-was originally coined in 1998.


-it provides a mechanism for storage and retrieval of data.
-NoSQL databases are used in real-time web applications.
-NoSQL is open-source database.
-Backup is a great weak point for some NoSQL databases like MongoDB.
-The concept of NoSQL databases became popular withthe help of Internet giants
like Google, Facebook, Amazon, etc.
-NoSQL databases never follow the relational model.
-Types of NoSQL database are;
● document stores
● Graphs
● Multi-value databases
● Tabular stores
● Tuple stores

*Aneka MapReduce Programming:-MapReduce is a programming platform


introduced by Google for processing large quantities of data
-It is a program model for distributed computing based on java.
-The algorithm contains two important tasks, Map and Reduce.
-Map takes a set of data and converts it into another set of data.
-Reduce takes the output from a map as an input and combines those data into a smaller
set of tuples.
- As the sequence of the name MapReduce implies, the reduce task is always performed
after the map job.

->How MapReduce Works?


-The whole process goes through four phases of splitting, mapping, shuffling, and reducing.
-Let's understand this with an example – Consider you have following input data for your
Map Reduce Program
Welcome to Hadoop
Class Hadoop is good
Hadoop is bad

-eg
-First, in the map stage, the input data (the six documents) is split and distributed across the
cluster (the three servers).
-During mapping, there is no communication between the nodes. They perform
independently.
-second,map tasks create a pair for every word. These pairs show how many times a word
occurs. A word is a key, and a value is its count. For example, one document contains three
of four words we are looking for: Apache 7 times, Class 8 times, and Track 6 times. The key-
value pairs in one map task output look like this:

-third, After input splitting and mapping completes, the outputs of every map task are
shuffled. This is the first step of the Reduce stage. Since we are looking for the frequency of
occurrence for four words, there are four parallel Reduce tasks. The reduce tasks can run on
the same nodes as the map tasks, or they can run on any other node.
-four, In the reduce step of the Reduce stage, each of the four tasks process a to provide a
final key-value pair. The reduce tasks also happen at the same time and work
independently.
-In our example from the diagram, the reduce tasks get the following individual results:

-5th, Finally, the data in the Reduce stage is grouped into one output. MapReduce now
shows us how many times the words Apache, Hadoop, Class, and track appeared in all
documents. The aggregate data is, by default, stored in the HDFS.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy