Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

CC Unit3 Revised Final

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

Unit 3

Cloud Platform Architecture: Cloud computing and service models, Architectural design of
compute and storage clouds, Public cloud platforms, Inter cloud Resource Management, Cloud
Security and Trust Management, Service Oriented Architecture, Message Oriented Middleware

3.1 Cloud Computing and Service Models:


 There are certain services and models work behind the scene making cloud computing
feasible and accessible to end users.
 Cloud computing models can be categorized as deployment models and service models.

Deployment Models:

 These models defines the type of access to the cloud resources and how cloud is located.
 The deployment models are based on the ability of an organization to manage business
needs and secure assets.
 The deployment models are
1. Public cloud
2. Private cloud
3. Hybrid cloud

Public Cloud:

 Public cloud is open to all to store and access information via the Internet using the pay-per-
usage method.
 In public cloud the resources are present for free and for pay also.
 In public cloud, computing resources are managed and operated by the third party, i. e Cloud
Service Provider (CSP).
 Public Cloud provides a shared platform that is accessible to the general public through an
Internet connection.
 Therefore, third-party providers deliver services hosted in the cloud over the internet. These
services include application service, message service, storage service and network service
for customers.
 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, AWS are examples of the public cloud.

Advantages of Public Cloud: The following are some advantages of public cloud -
1) Low Cost: Public cloud has a lower cost than private, or hybrid cloud, as it shares the
same resources with a large number of consumers.

2) Location Independent: Public cloud is location independent because its services are
offered through the internet.

3) Save Time: In Public cloud, the cloud service provider is responsible for the manage and
maintain data centres in which data is stored, so the cloud user can save their time to establish
connectivity, deploying new products, release product updates, configure, and assemble
servers.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 1


4) Quickly and easily set up: Organizations can easily buy public cloud on the internet and
deployed and configured it remotely through the cloud service provider within a few hours.

5) Scalability and reliability: Public cloud offers high scalability (easy to add and remove)
and more reliable (24/7 available) services to the users at an affordable cost.

Disadvantages of Public Cloud

1) Low Security: Public Cloud is less secure because resources are shared publicly.

2) Performance: In the public cloud, performance depends upon the speed of internet
connectivity.
3) Less customizable: Public cloud is less customizable than the private cloud.

Private Cloud:

 Private cloud is also known as an internal cloud or corporate cloud.


 It is used by organizations to build and manage their own data centres internally or by
the third party.
 It can be deployed using Opensource tools such as Openstack and Eucalyptus.
 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 and privacy to data through firewalls
and internal hosting. It also ensures that operational and sensitive data are not accessible
to third-party providers.
 HP Data Centres, Microsoft, Elastra-private cloud, and Ubuntu are the example of a
private cloud.

Advantages of Private cloud: There are the following advantages of Private Cloud -

1) More Control: Private clouds have more control over their resources and hardware than
public clouds because it is only accessed by selected users.

2) Security & privacy: Security & privacy are one of the big advantages of cloud computing.
Private cloud improved the security level as compared to the public cloud.

3) Improved performance: Private cloud offers better performance with improved speed and
space capacity.

Disadvantages of Private Cloud

1) High cost: The cost is higher than a public cloud because set up and maintain hardware
resources are costly.

2) Restricted area of operations: As we know, private cloud is accessible within the


organization, so the area of operations is limited.

3) Limited scalability: Private clouds are scaled only within the capacity of internal hosted
resources.

4) Skilled people: Skilled people are required to manage and operate cloud services.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 2


Hybrid Cloud:

 Hybrid Cloud is a combination of the public cloud and the 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: There are the following advantages of Hybrid Cloud -

1) Flexible and Secure: It provides flexible resources because of the public cloud and secure
resources because of the private cloud.

2) Cost Effective: Hybrid cloud costs less than the private cloud. It helps organizations to
save costs for both infrastructure and application support.

3) Security: Hybrid cloud is secure because critical activities are performed by the private
cloud.

4) Risk Management: Hybrid cloud provides an excellent way for companies to manage the
risk.

Disadvantages of Hybrid Cloud

1) Networking issues: In the Hybrid Cloud, networking becomes complex because of the
private and the public cloud.

2) Infrastructure Compatibility: Infrastructure compatibility is the major issue in a hybrid


cloud. With dual-levels of infrastructure, a private cloud controls the company, and a public
cloud does not, so there is a possibility that they are running in separate stacks.

3) Reliability: The reliability of the services depends on cloud service providers.

Service Models: There are 3 types of service models in Cloud Computing, which are
1. Software as a Service (SaaS)
2. Platform as a Service (PaaS)
3. Infrastructure as a Service (IaaS)

Software as a Service (SaaS):

 In this service, the cloud provider leases the applications or software which are owned
by them to its clients.
 The client can access these software on any device which is connected to the internet
using the tools such as web browsers, apps etc.
 So, It is also known as “on-demand software”.
 In SaaS, associated data and software are hosted centrally on the cloud server.
 It removes the need to install and run applications on our own computers

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 3


 Most SaaS applications can be run directly from a web browser without any
downloads or installations required.
 The SaaS applications are sometimes called Web-based software, on-demand
software, or hosted software.

Advantages of SaaS
1. Cost-Effective: Pay only for what you use.
2. Reduced time: Users can run most SaaS apps directly from their web browser without
needing to download and install any software. This reduces the time spent in
installation and configuration and can reduce the issues that can get in the way of the
software deployment.
3. Accessibility: We can Access app data from anywhere.
4. Automatic updates: Rather than purchasing new software, customers rely on a SaaS
provider to automatically perform the updates.
5. Scalability: It allows the users to access the services and features on-demand.

Disadvantages of Saas :
1. Limited customization: SaaS solutions are typically not as customizable as on-
premises software, meaning that users may have to work within the constraints of the
SaaS provider’s platform and may not be able to tailor the software to their specific
needs.
2. Dependence on internet connectivity: SaaS solutions are typically cloud-based, which
means that they require a stable internet connection to function properly. This can be
problematic for users in areas with poor connectivity or for those who need to access
the software in offline environments.
3. Security concerns: SaaS providers are responsible for maintaining the security of the
data stored on their servers, but there is still a risk of data breaches or other security
incidents.
4. Limited control over data: SaaS providers may have access to a user’s data, which
can be a concern for organizations that need to maintain strict control over their data for
regulatory or other reasons.

Platform as a Service (PaaS):

 In this service, the cloud provider gives the ability to the customer to deploy customer
created application using programming language, tools etc that are provided by the cloud
provider.
 It provides a platform and environment to allow customers to build applications and
services over the internet.
 However, the customer can not control the underlying architecture including operating
systems, storage, servers etc.
 This service would make sense only when we are developers, because this service
provides us a platform for developing applications, like Google App Engine.
 A PaaS provider hosts the hardware and software on its own infrastructure. As a result,
PaaS frees users from having to install in-house hardware and software to develop or
run a new application. Thus, the development and deployment of the application take
place independent of the hardware.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 4


Advantages of PaaS:
1. Simple and convenient for users: It provides much of the infrastructure and other IT
services, which users can access anywhere via a web browser.
2. Cost-Effective: It charges for the services provided on a per-use basis thus
eliminating the expenses one may have for on-premises hardware and software.
3. Efficiently managing the lifecycle: It is designed to support the complete web
application lifecycle: building, testing, deploying, managing, and updating.
4. Efficiency: It allows for higher-level programming with reduced complexity thus, the
overall development of the application can be more effective.

Disadvantages of Paas:
1. Limited control over infrastructure: PaaS providers typically manage the
underlying infrastructure and take care of maintenance and updates, but this can also
mean that users have less control over the environment and may not be able to make
certain customizations.
2. Dependence on the provider: Users are dependent on the PaaS provider for the
availability, scalability, and reliability of the platform, which can be a risk if the
provider experiences outages or other issues.
3. Limited flexibility: PaaS solutions may not be able to accommodate certain types of
workloads or applications, which can limit the value of the solution for certain
organizations.

Infrastructure as a Service (IaaS):

 In this service, the cloud provider provides customer with a virtual machine and other
resources as a service, they abstract the user from the physical machine, location, data
partitioning etc.
 If the user wants a Linux machine, he will get a Linux machine, he will not worry about
physical machine or the networking of the system on which OS is installed. For example
AWS is one IaaS like AWS EC2.
 Typically IaaS is a service where infrastructure is provided as outsourcing to enterprises
such as networking equipment, devices, database, and web servers.
 It is also known as Hardware as a Service (HaaS).

Advantages of IaaS:
1. Cost-Effective: Eliminates capital expense and reduces ongoing cost and IaaS
customers pay on a per-user basis, typically by the hour, week, or month.
2. Website hosting: Running websites using IaaS can be less expensive than traditional
web hosting.
3. Security: The IaaS Cloud Provider may provide better security than your existing
software.
4. Maintenance: There is no need to manage the underlying data center or the
introduction of new releases of the development or underlying software. This is all
handled by the IaaS Cloud Provider.

Disadvantages of laaS :
1. Limited control over infrastructure: IaaS providers typically manage the underlying
infrastructure and take care of maintenance and updates, but this can also mean that users
have less control over the environment and may not be able to make certain
customizations.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 5


2. Security concerns: Users are responsible for securing their own data and applications,
which can be a significant undertaking.
3. Limited access: Cloud computing may not be accessible in certain regions and countries
due to legal policies.

Cloud design Objectives:

These design objectives are achieved through the use of various cloud computing technologies,
such as virtualization, automation, and others.

1. Shifting of Computing: The ability to shift computer process, storage, software delivery
from desktop to data centres over the Internet.
2. Service Provisioning: The providers can supply the cloud services to customers and end
users by signing the SLAs (Service Layer Architectures)
3. Scalability in Performance: The ability to dynamically scale up or down the amount of
resources as required to meet changing demands.
4. Flexibility or Elasticity: The ability to rapidly provision and release resources as needed,
so that organizations can respond quickly to changing business needs.
5. Agility: The ability to rapidly respond to changing business and market needs by quickly
deploying new applications and services.
6. Cost-effectiveness: The ability to reduce capital expenditures and increase operational
efficiency by leveraging shared resources and economies of scale
7. High availability: The ability to ensure that resources are always available to meet the
needs of applications and user.
8. Reliability: The ability to ensure that services are provided with a high level of durability
and fault tolerance.
9. Security: The ability to protect sensitive data and maintain the confidentiality, integrity
and availability of resources.
10. Interoperability: The ability to easily integrate and interoperate with existing IT
Systems and infrastructure.
11. Portability: The ability to easily move applications and data between different cloud
environments and providers.

3.3 Architectural Design of Compute and Storage Clouds

3.3.1 A generic cloud Architecture Design

Cloud platform design goals:

 There are 4 major design goals of a cloud computing platform


1. Scalability
2. Virtualization
3. Efficiency
4. Reliability

Scalability: System scalability can benefit from cluster architecture. If one service takes a
lot of processing power, storage capacity, or network traffic, it is simple to add more
servers and bandwidth.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 6


Efficiency: The platform needs to establish a very large scale HPC infrastructure. The
hardware and software systems are combined to make it easy and efficient to operate the
system.

Virtualization: It is to centralize the administrative tasks while improving scalability and


workloads.

Reliability: Usually data can be placed at multiple data centres. So even if one data
centre crashes, the user data is still accessible from other data centres. The scale of the
cloud architecture can be easily expanded by adding more servers and enlarging the
network connectivity accordingly.

A Generic Cloud Architecture:

 The Internet cloud is imagined as a massive cluster of servers. The different resources
like data, memory and speed of concern servers are allocated as per demand
dynamically
 In general private clouds are easier to manage and public clouds are easy to access.
 The trends in cloud development are that more and more clouds will be hybrid. This is
because many cloud applications must go beyond the boundary of the intranet.
 So we must learn how to create a private cloud and how to interact with public clouds in
open Internet.
 Security becomes a critical issue in safeguarding operation of all the cloud types.

3.3.2 Layered Cloud Architecture Development:

 The architecture of a cloud is developed at 3 layers


1. Infrastructure
2. Platform
3. Application/Software

 These 3 development layers are implemented with virtualization and standardization


of hardware and software resources provisioned in the cloud.
 The infrastructure layer serves as a foundation for building the platform layer of the
cloud for supporting PaaS services. This layer is built with virtualized compute,
storage and network resources. Proper utilization of these resources provides the
flexibility demanded by the users.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 7


 The platform layer is a foundation for implementing the application layer for SaaS
applications. This layer provides an environment to users for the development, testing,
deployment and monitoring the usage of applications. Indirectly, a virtualized cloud
platform acts as a ‘system middleware’ between the infrastructure and application
layers of the cloud.
 The application layer is formed with the collection of different modules of all
software that are needed for the SaaS applications. The general service apps include
those of information retrieval, document processing, and authentication services. This
layer is also heavily used by enterprises in business marketing and sales, consumer
relationship management (CRM), financial transactions, and supply chain
management.
 It should be noted that not all cloud services are restricted to a single layer. Many
applications may apply resources at mixed layers. After all, three layers are built
from the bottom up with a dependence relationship
 From the perspective of provider, services at different layers demand different
amounts of functionality support and resource management.
 In general, SaaS demands the most work from the provider, PaaS is in the middle and
IaaS demands the least.

Market Oriented Cloud Architecture:

 The consumers depend on providers to meet more of their computing needs, and they
will require specific level of QoS to meet their objectives and sustain their operations
 To achieve this, the providers can deploy market oriented resource management
architecture to regulate the supply and demand of cloud resources.
 This architecture supports market oriented resource allocation in cloud computing
environment.
 According to this, the cloud is built with the entities like

Users or Brokers: these can submit service requests from anywhere in the world to the
data centre and cloud to be processed.

SLA resource allocator: It acts as the interface between data centre/cloud service
provider and external users or brokers. When service request is first submitted then the
service request examiner interprets the submitted request for QoS requirements before
determining whether to accept or reject the request.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 8


 The request examiner acts as an interface between data centre/ cloud service provider
and external users.
 It includes different mechanisms like pricing method, accounting mechanism, VM
monitor, Dispatcher mechanism and service request mechanism.
 The pricing method decides how services are charged. The requests can be charged
based on submission time peak/off time.
 The accounting mechanism maintains the actual usage of resources by requests so that
the final cost can be computed and charged for users.
 The VM monitor mechanism keeps track of the availability of VMs and their resource
entitlements.
 The dispatcher mechanism starts the execution of accepted service requests on
allocated VMs.
 The service request monitor mechanism keeps the track of execution progress of
service request.
 Multiple VMs can concurrently run applications based on different operating system
environments on a single physical machine since the VMs are isolated from one
another on the same physical machine.

Quality of Service Factors:

 Critical QoS parameters to consider in a service request such as time, cost, reliability,
and trust/security.
 In particular, Qos requirements can not be static and may change over time due to
continuing changes in business operations and operating environments.
 Virtualization software is also used as the platform for developing new cloud
applications that enable developers to use any operating systems and programming
environments.

3.3.3 Virtualization Support and Disaster Recovery:

 In cloud computing, virtualization is also means the resources and fundamental


infrastructure are virtualized.
 The user will not care about the computing resources that are used for providing the
services
 Cloud users do not need to know and have no way to discover physical resources that
are involved while processing a service request
 The data centres and servers are completely connected to the virtualized platforms
which are internally connected.
 A blackbox management is taking care of virtualized platforms by virtualized
integrated managers.
 The vituralized integrated managers need to monitor the workloads, resource
management, policy for providing security services and any data resource
management etc.
 The whitebox management is having two virtual solutions which are responsible for
backups. These are all interconnect and also have process virtualized infrastructure
services.
 The infrastructure services include mirror management, system management, user
management and account billing etc.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 9


Hardware virtualization:

 In many cloud computing systems, virtualization software is used to virtualize the


hardware
 System virtualization software is a special kind of software which simulates the
execution of hardware and runs even unmodified operating systems.
 Cloud computing systems use virtualization software as the running environment for
legacy software such as old operating systems unusual applications
 Virtualization software is also used as a platform for developing new cloud
applications that enable developers to use any operating systems and programming
environments they like.
 Recovery overhead of a conventional disaster recovery scheme, compared with that
required to recover from live migration of VMs is shown in the following figure

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 10


Virtualization support in public clouds:

 There are 3 popular public clouds like AWS, Microsoft Azure and GAE, that are
providing the virtualization support
 AWS provides extreme flexibility (VMs) for users to execute their own applications.
 GAE provides limited application level virtualization for users to build their
applications.
 Microsoft provides programming-level virtualization (.NET virtualization) for users
to build their applications.
 The VMware tools apply to workstations, servers and virtual infrastructure. Microsoft
tools are used on PCs and some special servers.

Storage Virtualization for Green Data Centres:

 IT power consumption in the United States has more than doubled to 3% of the total
energy consumed in the country.
 The large number of data centres in the country has contributed to this energy crisis to
a great extent.
 More than half of the companies in the Fortune 500 are actively implementing the
new corporate energy policies.

Virtualization for IaaS:

 Use of VMs in clouds has the following distinct benefits:


 System administrators consolidate workloads of underutilized servers in fewer
servers.
 VMs have the ability to run the legacy code without interfering with other APIs
 VMs can be used to improve security through creation of sandboxes for running
applications with questionable reliability
 Virtualized cloud platforms can apply performance isolation, letting providers
offer some guarantees and better QoS to consumer applications.

VM cloning for Disaster Recovery:

 VM technology requires an advanced disaster recovery scheme


 One scheme is to recover one physical machine by another physical machine.
 The second scheme is to recover one VM by another VM
 Total recovery time is attributed to the hardware configuration, installing and
configuring the OS, installing the backup agents, and long time to restart the physical
machine.
 To recover a VM platform, the installation and configuration times for the OS and
backup agents are eliminated.

3.3.4 Architectural Design Challenges

1) Service Availability and Data Lock-in Problem

 When cloud services are managed by single cloud provider then this may lead to
single point failure due to resource unavailable. To avoid such situation multiple
cloud providers/data centres located at various geographical locations must be
considered. Thus management of cloud services by multiple cloud providers protect
the data from failure and also helps in achieving high resource availability.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 11


2) Data Privacy and Security Concerns

 Public cloud networks can expose the system to various security attacks like
hypervisor malware, hijacking, man in middle attack, guest hopping etc. In addition to
this, there are two types of attacks that make the system vulnerable to attacks. These
are
1. Active attacks
2. Passive attacks

1. Active Attacks: In this type of attack, the hackers try to steal the password or data
which is sensitive to the system.

2. Passive Attacks: In this type of attack, the hackers try to modify kernel data structure
with the intention of damaging the cloud services.

To overcome from the above obstacles various technology like storage, virtual LAN and
network middle boxes i.e firewalls, packet filters are included in the cloud.

3) Unpredictable Performance and Bottlenecks

 Cloud architecture allows virtual machines to share multiple CPUs and main memory
but it does not support I/O sharing. This may lead to I/O interference problems
between virtual machines. To overcome this problem IO architecture must be
improved.
 The rise in internet applications are pulled beyond the cloud limits then transmission
and placement of data in cloud computing becomes complex. To overcome this
problem all the weak servers must be eliminated from the cloud application.

4) Distributed Storage and Widespread Software Bugs

 In cloud applications the database will grow and shrink based on requirement. Hence
for this reason distributed SANs must be incorporated as new storage in cloud
architecture.
 Debugging must be performed on large scale distributed data centre so as to detect
bugs. But this phenomenon is not supported in cloud computing. Thus to detect the
software bugs virtual machine must be used in cloud computing. The concept of
virtualization applied on virtual machine helps in capturing the most critical
information of the system without compromising the security. Besides this debugging
is applied over simulators to identify the software bugs.

5) Cloud Scalability, Interoperability and Standardization

 The packaging and distribution of VMs can be done using Open Virtualization Format
(OVF) which specifies open, secure, portable, efficient and extensible format. Apart
from this, it also specifies a format to distribute software to be incorporated in VMs.
Typically the VM format is independent of any particular host platform or
virtualization platform and guest operating system. The idea behind this is to resolve
virtual platform-agnostic packaging along with certification and integrity of packaged
software. The virtual appliances are sustained by package so as to cover multiple VMs

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 12


6) Software Licensing and Reputation Sharing

 The cloud computing providers depends upon open source software since licensing
models for commercial software does not support utility computing. Hence the
commercial software companies must change their licensing structure to perform
better Cloud Computing services. Cloud providers must consider licensing scheme
like pay-for-use and bulk-use-licensing schemes to expand their business.
 Reputation sharing can have adverse effects on the repetition of entire cloud. That is if
single customer carries unauthorized functions/activities then this may affect the
entire cloud. To overcome this must enforce various reputation guarding services on
cloud. Besides this legal liabilities must be resolved at SLA level.

3.4 Public Cloud Platform: GAE, AWS & AZURE

3.4.1 Public Clouds and Service Offerings:

Public Cloud: A public cloud is owned by a service provider, built over Internet and offered
a service to the user on payment. For example GAE (Google App Engine), AWS, Microsoft
Azure, IBM Blue Cloud. All these cloud services for creating and managing VM instances to
the users within their own infrastructure.

The above figure introduces 5 levels of cloud players. At the top level, individual users and
organization users demand very different services. The application providers at the SaaS
level serve mainly individual users. The service providers at IaaS and PaaS levels serve
business organizations. However IaaS provides compute, storage and communication
resources to both application and organization users. PaaS level defines environment to
support both infrastructure services and organization users directly.

3.4.2 GAE (Google App Engine)

 GAE is a cloud computing platform service and platform as a service (PaaS). It is


used for deploying web applications on Google search engine. It is a web application
platform introduced by Google. This platform supports stable web applications on
huge data centres associated with Google search engine.
 Google is one of the famous search engine introduces cloud development on huge
data centres. These data centres enable a user to run various cloud applications. The
Google data centre includes various cloud services in Gmail, Google Earth, and
Google Docs etc.
 Google data centres are used to store data in text, images and video formats which are
replicated to tolerate faults or failures.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 13


Google Cloud Infrastructure:

Google has pioneered cloud services in Gmail, Google docs and Google earth among
other applications. In 2008, Google announced the GAE web application platform which
is becoming common platform for many small cloud service providers.

GAE Architecture:

 The Google Cloud architecture defines basic blocks that are used for delivering
cloud services to the cloud application providers.
 The major building blocks of Google Cloud platform that has been used for
deliver cloud services, include GFS, MapReduce, Chubby, BigTable.
 The overall architecture of Google Cloud is shown in the following figure.

 GFS: It allows user to store use amounts of data


 MapReduce: It is a Framework that helps in developing application programs.
 Chubby: It enforces locking service on distributed applications.
 BitTable: It provides storage service to access structural as well as unstructured
data
 With these blocks, Google has built many cloud applications.

Functional Modules of GAE:

 Google App Engine uses Google infrastructure for running user programs. It also
makes use of various software components. The front end of these components uses
application framework like ASP, JSP, and J2EE. The GAE also supports
development languages like Java and Python. This front end is considered as
dynamic web serving infrastructure that supports common technology.
 GAE provides platform for developing user applications. This platform includes 5
functional components. The functionalities of these components are described
below.
1. Data Store: This component provides object oriented services, distributed services
and data storage services to the users depending on BigTable technique. It also
performs secure data management operation.
2. The Application Runtime Environment: This component provides a scalable web
programming and execution platform for running user applications. Java and python,
the two programming development languages supported by application runtime
environment.
3. The Software Development Kit (SDK): This component develops local applications
and also allows the users to text execute and runs the application code.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 14


4. Administration Control: This component is used for managing the development
cycle of user applications
5. Web Service Infrastructure: This component defines interface for flexibly using and
managing network and storage resources of GAE.

6. GAE applications:
 Free GAE services to all Gmail account owners
 Google Search Engine, Google Docs, Google Earth and Gmail, all these
applications can support large no of users simultaneously
 These applications run in Google data centres. Inside of each centre, there might
be thousands of server nodes to form different clusters. Each cluster can run
multipurpose servers.

3.4.3 Amazon Web Service (AWS)

 Amazon has been a leader in providing public cloud services. It provides cloud
services through AWS.
 Amazon Web Services(AWS) cloud offers wide range of infrastructure
services(IaaS). It provides high reliable and high scalable infrastructure for deploying
web scale solution. The architecture of AWS shown below

AWS Cloud architecture defines the following building blocks

 EC2: EC2 stands for Elastic Cloud Computing. It is a virtual machine hosted in the
cloud. It offers a virtualized platform for running cloud applications on virtual
machines.
 S3: S3 stands for Simple Storage Service. It facilitates the user with object oriented
storage services.
 EBS: EBS stands for Elastic Block Store. It is a virtual disk for the virtual machine
like our C or D drives. We can create any no of disks, each of any size. It makes the
use of block storage interface to substantiate the traditional application.
 SQS: SQS stands for Simple Queuing Service which ensures reliability while
performing message exchange from one process to other process.
 SQS and SNS (Simple Notification Service) services are implemented in AWS cloud
 Compared to Google, Amazon provides more flexible cloud computing platform for
developers to develop their applications.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 15


3.4.4 Microsoft Windows Azure:

 In 2008, Microsoft launched a Windows Azure platform to meet the challenges in


cloud computing. This platform is built over Microsoft data centres.
 Windows Azure is a service platform and Cloud Computing operating system hosted
in data centre of Microsoft Corporation.
 The Microsoft platform architecture is given below and the overall architecture of
Microsoft’s cloud platform is built on its own data centres which is shown as follows

This platform is divided into 3 major components platforms, like

1. Windows Azure
2. Azure service platform
3. User applications.
1. Windows Azure: It offers a cloud platform built on windows OS and based on
Microsoft virtualization technology. Applications are installed on VMs deployed on
the data centre servers. On the top of the infrastructure various services are built for
different cloud applications.
1. Azure Service platform: It controls the servers, storage and network resources of
data centres. The various cloud level services which are included at the top of
infrastructure as follow:
 Live service: It allows the uUsers can visit Microsoft Live applications and
apply the data involved across multiple machines concurrently.
 .NET service: It is a package that supports application development on local
hosts and execution on cloud machines.
 SQL Azure: This function makes it easier for users to visit and use the
relational database associated with the SQL server in the cloud.
 ShapePoint service: This provides a scalable and manageable platform for
users to develop their special business applications in upgraded web services.
 Dynamic CRM service: This provides software developers a business
platform in managing CRM applications in financing, marketing and sales and
promotions.
2. User Applications: This provides traditional Microsoft software applications such
as Windows Live online, Office Live, Exchange online, SharePoint online and
dynamic CRM online, which can be interacted with all cloud services in Azure
M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 16
platform. The Azure service applications allow users to integrate the cloud
applications with other platforms or third party clouds.

3.5 Inter-Cloud Resource Management:

3.5.1 Extended Cloud Computing Services:

The following figure shows 6 layers range from hardware, network, and collocation to
infrastructure, platform and software applications. The top 3 service layers are SaaS, PaaS
and IaaS. The bottom 3 layers are related to physical requirements. The bottommost layer
provides Hardware as a Service (HaaS). The next layer is Network as a Service (NaaS) which
is used to interconnect all the hardware components. The next layer Location as a Service
(LaaS) which provides collocation service to house, power and secure all the physical
hardware and network resources.

3.5.1.1 Cloud Service tasks and Trends: Most of the cloud services are used for business
applications. For example, CRM is heavily used in business promotion, direct sales and
marketing services. PaaS is provided by Google, Facebook and others. However IaaS is
provided by Amazon, Windows Azure and RackRack among others. Collocation service
require multiple cloud providers to work together to support supply chain manufacturing.

3.5.1.2 Software Stack for Cloud Computing: A software stack is group of programs that
work in order to produce common goal. It may refers to any set of apps that work in a
specific order towards a common goal. The system has to be designed to meet goals like HT,
HA, and fault tolerance. Physical or virtual servers can be used making the platform more
flexible and be able to store and utilize large amount of data.

3.5.1.3 Runtime Support Services: There are some runtime supporting services in the cloud
computing environment. For example cluster monitoring is used to collect the runtime status
of the entire cluster. The runtime support system keeps the cloud cluster working properly
with high efficiency.

3.5.2 Resource Provisioning and Platform Deployment:

3.5.2.1: Provisioning of Compute Resources (VMs): The provisioning of resources like


CPU, memory, and bandwidth are distributed among the users as per the service level
agreements (SLAs) signed before the start of the work. The problem here is the ever-
changing levels of requests from the user, power management and conflicts in the SLAs.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 17


Efficient VM provisioning depends on the cloud architecture and management of cloud
infrastructures. Resource provisioning also demands fast discovery of services and data in the
provided infrastructure. Example: Efficient installation of VMs, live VM migration, and fast
recovery from failures. Providers like Amazon, IBM and MS-Azure use VM templates,
automation of provisioning and power-efficient schemes.

3.5.2.2 Resource Provisioning Methods: There are 3 resource provisioning methods,


includes

 Demand-driven method
 Event-driven method
 Popularity-driven method

3.5.2.3 Demand-Driven Resource Provisioning: This method adds or removes computing


instances based on the current utilization level for the allocated resources. This method
automatically allocates two processors for the user app, if the user utilizes more than 60% of
time for an extended period. That is, if the resource utilization has crossed a threshold of the
concerned resource, extra resources will be allocated. This methodology is implemented by
Amazon in EC2.

3.5.2.4 Event-Driven Resource Provisioning: This scheme adds or removes machine


instances based on an event like festival season. At this time, the no. of users peaks and so
does the traffic. This anticipation results in good QoS and customer satisfaction.

3.5.2.5 Popularity-Driven Resource Provisioning: In this method, The Internet searches for
popularity of certain apps and creates extra instances if the popularity has risen.

3.5.2.6 Dynamic Resource Deployment: This can be implemented to achieve scalability in


performance through efficient allocation of resources at every place in the grid as the
situation demands. To achieve this, we need an inter-grid gateway (IGG) between different
grids that allocates the resources from a local cluster to deploy applications in 3 steps, (1)
requesting the VMs, (2) enacting (endorse) the leases, and (3) deploying the VMs as per
requests. The Inter-Grid provides and allocates a distributed virtual environment (DVE). It is
a virtual cluster of VMs that runs in isolation from other virtual clusters. This process is
carried out by a component called DVE manager. Received massages are handled in parallel
in a thread pool.

3.5.2.7 Provisioning of Storage Resources: The data in Cloud Computing is stored in the
clusters of the cloud provider and can be accessed anywhere in the world. Example: email.
For data storage, distributed file system, tree structure file system, and others can be used.
Example: GFS, HDFS, MS-Cosmos. This method provides a convenient coding platform for
the developers.

3.5.3 Virtual Machine Creation and Management

The managers provide a public API for users to submit and control the VMs

3.5.3.1 Independent Service Management: By using independent service providers, the


cloud apps can run different services at the same time. Some other services are used for
providing data other than the compute or storage services.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 18


3.5.3.2 Running Third Party Apps: In this case, the cloud platforms have to provide
support for apps constructed by third-party app providers. The concerned APIs are in the
form of services provided by another company. (Ex: Dropbox + Gmail + User)

3.5.3.3 VM Manager: It is a link between the gateway and resources. The physical resources
aren’t shared directly, but in a virtualized method. The VMs themselves become the actual
resources. Ex: OpenNebula (an OS). Users submit VMs on physical machines using
hypervisors, which enables the running of several operating systems on the same host
concurrently.

3.5.3.4 VM Templates: A VM template is analogous (similar) to the configuration of a


computer and contains the description for a VM. Information provided is:

 The no. of processors allocated to the VM


 Memory required by a VM
 The kernel used by the VM’s OS
 The disk image containing the VM’s file system
 The price per hour
The gateway administrator provides the VM template information and can add, update and
delete the templates at any time. Before starting an instance, scheduler gives the network
configuration and address of the host. The MAC and IP addresses are also allocated. It also
contains the path to the disk image storage.

3.5.3.5 Distributed VM Management: A distributed VM manager requests for VMs and


gets their status and obtains a list containing the IP addresses of the VMs with secure shell
(SSH) tunnels. The managers also obtains the template to be used by the VM, schedules the
task for the VM, sets up the tunnel, and executes the tasks for each of the VM.

3.5.4 Global Exchange of Cloud resources:

 No single cloud infrastructure provider will be able to establish data centres at all
possible locations throughout the world.
 As a result, cloud application service(SaaS) providers will have difficulty in meeting Qos
expectations for all their consumers.
 Hence they would like to make the use of services of multiple cloud infrastructure
service providers who can provide better support for their specific consumer needs.
 This kind of requirement often arises in enterprises with global operations and
applications such as Internet service, media hosting, and Web 2.0 applications.

3.6 Cloud Security and Trust Management:

Lacking of trust between service providers and clients has been a major problem in the field
and much more since the advent of ecommerce. Cloud platforms are a concern for some users
for lack of privacy protection, security assurance, and so on. All these can be solved with a
technical approach.

3.6.1 Cloud Security Defence Strategies:

The security models are usually based on various SLAs between providers and users.

3.6.1.1 Basic Cloud Security: The three basic cloud security enforcements are expected

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 19


 Security in data centres (like etc.) demands on-site year around. biometric readers,
CCTV (Close-circuit TV), motion detection and man-traps are often deployed.
 Network Security demands and third party vulnerability assessment.
 Finally Platform Security demands SSL (Secure Socket Layer) and data decryption,
strict password policies, and so on. The security measures at various levels in service
models are given in the following figure.

Cloud Security Defence Need:

 Security defences are needed to protect all cluster servers and data centres. Here are
some cloud components that demand special security protection, given as
 Protection of servers from malicious software attacks such as worms, viruses, and
malwares
 Protection of Hypervisors or VM monitors from software based attacks and
vulnerabilities.
 Protection of VM and monitors from service disruption and DoS attacks.
 Protection of data and information from theft, corruption, and natural disasters
providing authentication and authorised access to critical data and servers

3.6.1.2 Security Challenges in VMs: The VMs can introduce several security challenges
which include network attacks, DoS attacks, spyware, malware, rootkits etch. In cloud
environment, newer attacks may result from hypervisor malware, guest hopping and
hijacking. Some passive attacks my steal sensitive data or passwords and some active attacks
may manipulate kernel which will cause major damage to cloud servers.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 20


3.6.1.4 Defence methods with Virtualization: Virtualization enhances cloud security. But
VMs add an additional layer that could become a single point of failure. The cloud includes
some technologies to protect against the attacks. For example virtual firewalls, Intrusion
Detection/Prevention Systems (IDS/IPS).

3.6.1.5: Privacy and Copyright Protection: There are several security features desired in a
secure cloud, some of them are

 Establish trust between users and providers through SLAs and reputations systems
 Effective user identity management and data access management
 Single sign-on and single sign-off to reduce security enforcement overhead
 Audition and copyright compliance through proactive enforcement
 Shifting of control of data operations from the client environment to cloud providers.
 Protection of sensitive and regulated information in a shared environment.

3.6.2 Distributed Intrusion/Anomaly Detection:

Data security is the weakest link in all cloud models. So we need new cloud security
standards to apply common API tools to cope with the data lock-in problem and network
attacks or abuses. Security threats may be aimed at VMs. guest OSs, and software running
on top of the cloud. Even IDS can attempt to stop the attacks before they take effects, the
network anomaly detection reveals abnormal traffic patterns such as unauthorised episodes of
TCP connection sequences, against normal traffic etc. So, distributed IDS is needed to
defence various types of intrusions.

3.6.2.1 Distributed Defence against DDoS Flooding Attacks: A DDoS defence system
must be designed to cover multiple network domains in a cloud platform. The DDoS causes
an abnormal surge in the network traffic by a hidden attacker which leads of the crash of the
service/website or disk exhaustion or connection saturation.

3.6.3 Data and Software Protection Techniques

3.6.3.1 Data Integrity and Privacy Protection: In cloud users desire a software
environment which is needed to provide application software for MapReduce, BigTable,
EC2, Hadoop and also privacy protection software for using cloud. Such software should
offer the following feature:

 Special APIs for authenticating users and sending e-mail using commercial accounts
 It allows shared data to be protected against deletion, alteration or copyright violation
 Fine-grained access control to protect data integrity and deter hackers or intruders
 It establishes VPN channels between resource sites so as to perform secure data
transmissions.

3.6.3.2 Data Coloring and Cloud Watermarking: Data coloring means labelling each data
object by a unique color. In cloud environment data sets and file sharing may effect privacy
and security. To avoid such situations, trusted software that offers rich set of tools to create
cloud application over protected data sets. In cloud two software schemes that are used to
protect the software from getting distributed in cloud environment as

1. Cloud Watermarking: Cloud watermarking is a technique used to embed unique


identifiers or "watermarks" into digital content stored in cloud environments. These

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 21


watermarks can be used to track the use and distribution of the content and to protect against
unauthorized sharing or piracy.

2. Data Coloring: It assigns unique colors to each data object. Data coloring is a security
technique that involves adding a color code to data to indicate its sensitivity level. Theis data
coloring can be used to classify data into different sensitivity levels such as confidential,
internal or public.

However, data coloring and watermarking are not complete solution to data security and
hence they should be used in conjunction with other security techniques, such as data
encryption in cloud environment.

3.6.3.3 Data Lock-in Problems and Solutions: Once the data is moved into the cloud, users
cannot easily extract their data and programs from the cloud servers to run on another
platform. This is known as data lock-in. The solution possible here is to build platform-
independent APIs where migration from one platform to another is easier.

3.7 Service Oriented Architecture(SOA):

SOA: SOA is defined as the process of exchanging data through different applications. It is a
method that helps in integrating business processes by dividing large applications into smaller
modules known as services.

A SOA uses new distributed applications as an interface to design a software system. It


provides an architectural method to develop sophisticated systems through set of loosely
coupled interconnected blocks as a service. The World Wide Web consortium (W3C) defines
SOA as distributed system architecture. This architecture possess the following
characteristics:

1. Logical View: SOA defines an abstract, logical view of a program, business processes,
databases etc., as to perform business level operations. It also specifies how message
exchange takes place between provider agents and requester agents.

2. Message Orientation: Internal structure of provider agent and requester agents comprises
of features like process structure, database structure and implementation language. Such
features are extracted away from SOA in simple term while using SOA discipline the user
should not consider about the way the agent implementing service is built. One of the
advantages of this is the legacy system. Thus, by avoiding the knowledge of internal
structure of agent, a user can include any software component/application in accordance with
the formal service definition.

3. Description Orientation: Machine-executable metadata gives description of a service


supporting public nature of the SOA. This description includes only those details that are
known to the public and one essential for using a service. The semantics of a service must be
either documented directly or indirectly by its description.

a) Granularity: Service makes use of less number operations along with large and complex
messages.

b) Network Orientation: Services are adjusted across the network.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 22


c) Platform-Neutral: The requested messages are transmitted on a platform neutral
environment using standardized format and are received by the receiver through an interface.
Here XML format helps the meeting in desired constaint.

REST System: REST stands for Representational State Transfer. It is a software


architecture used by various distributed hypermedia systems that is on World Wide Web.
This software architecture is used by popular enterprises and software networks like Google,
Yahoo, Amazon, Face book, Twitter etc.

The REST architecture is shown in the following figure

This architecture is designed based on the following 4 principles,

1. Resource Identification via URLs: The REST web service defines set of resources
for identifying targets which want to interact with their client. ‘Resources’ are the
key abstractions of REST web service. A resource is nothing but a unique name or
named information. Example document and images are termed as resources. Each
resource is associated with an Uniform Resource Identifier (URI). A URI provides
global addressing space for resources which interacts with components and
facilitating service discovery.
2. Uniform Constrained Interface: HTTP standards as well as client/server cacheable
protocols provide interaction with REST full web services. Moreover to manipulate
resources four operations are used. These are,
a) PUT: It allows creation of new resource.
b) GET: It is used for retrieving the current state or resources.
c) POST: It allows transfer of resources to new state.
d) DELETE: It destroys the created resources
3. Self-Descriptive Message: REST message from their representation. Due to this
reason, the message content can be accessed using various formats like plain text
format HTML, MIME, JSON, PDF, JPEG and so on. Moreover the resource
metadata is used for various purposes like cache control, detecting transmission error,
message authentication etc.
4. Stateless Interaction: REST provides stateless interactions. This helps in
 Improving visibility
 Ensure reliability by recovering from failure rate
 Increasing scalability

However such interactions decrease the network performance of the system by including
repetitive data.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 23


Web Services:

The service is an outcome of an application. Web service is a self-contained, self-describing


modular application. It is designed for accessing software application on web. According to
W3C working group, web service is considered as a software system developed to facilitates
interoperable interactions between two machines. It defines a interface which is in machine
executable formats. This interface allows systems to interact with web service in a manner
similar to SOAP messages.

The various web services are given as follow,

a) SOAP (Simple Object Access Protocol): It is defined as a simple XML based protocol
which permits applications to exchange XML based messages over computer networks using
HTTP (Hyper Text Transfer Protocol). Or SOAP is mechanism in which object accessing is
carried out in a simple way thereby allowing applications to call remote methods.

Merits of SOAP:

 Servers of SOAP presents simple functions


 SOAP is not only platform independent but also language independent.
 SOAP supports different transport protocols like HTTP, SMTP etc.
 It provides easy communication through proxies and firewalls.
 SOAP is simple with its far-ranging nature.
 Consuming is easy with SOAP.
 SOAP is considered as a light weight protocol

Demerits of SOAP

 SOAP is slower than CORBA since it used XML format


 The use of HTTP fixes the roles of the interacting parties. Only simple party(client) is
allowed to use the services of other party (client)
 Due to the use of HTTP as a transport protocol, another disadvantage is to identify the
appropriate method for a particular operation.
 As HTTP is used by SOAP, a firewall only allows web browsing but not all HTTP
using packets.

b) Universal Description Discovery and Integration (UDDI): It is an XML based registry


that forms one of the important and basic building block for web services. It was initially
started by Microsoft, IBM and Ariba that allowed businesses from worldwide to register
information on the internet, so that it can be accessed by customers and/or partners.

Advantages of UDDI:

 It allows a business to expand its potential business partnership by finding other


businesses
 It streamlines online transactions by permitting companies to discover one another on
the web and make their systems interoperable for e-commerce.
 It boosts every business irrespective of their size, to accelerate their business presence
in the overall global market.

UDDI Registry: It is implementation of UDDI specification that is accessed by a set of


software services called UDDI registry services.
M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 24
There are two types of UDDI registers, which are

i) Public
ii) Private

i) Public: Public registry is an open source UDDI registry that can be utilized by everyone to
register or access the business and service information on the web. It is a virtual system built
on multiple nodes called “UDDI Business Registry” (UBR) where every node provides same
information, quality of service through synchronized replication of the data.

ii) Private: Private registry is an exclusive or reserved registry that can be accessed only by
the organization or group who owns it or by people who has the permission from the owner.
It also utilizes the same replicated nodes system as public registry. But, it requires additional
resources to ensure security and integrity of data from unauthorized users.

c) WSDL: WSDL stands for “Web Service Description Languages”. It is an XML based
language that defines the web services. It is a specification defining how to describe and
locate web services in a common XML language. WSDL 2.0 is recent version of
specification. It specifies how the interaction takes place between client and a web service,
how to encode parameters and return values in a message and which protocol to be used for
the data transmission. WSDL document contains the following details such as,

 Web services which are invoked by website


 Web service methods
 Parameter which are required to pass to web service methods
 Results that are returned on request
 Data format which is used by user to access web service

In WSDL, services are defined as collection of network end points or ports. For the purpose
of reuse of definitions, abstract definitions of messages and ports are separated from their
concrete use. Messages are defined as abstract descriptions of data and port types are defined
as abstract collection of operations. The specifications of protocol and data format for
specific port type creates a reusable binding in which protocol and message format are
bounded by operations and messages.

To provide web services over the internet, WSDL can be used along with SOAP and XML
schema. A client program which is connected to the web service can determine the functions
available on the server by reading WSDL. Thus, WSDL describes the entire mechanism
involved in the transfer of data from client to the web service.
M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 25
Enterprise Multitier Architecture:

The traditional enterprise multitier architecture uses two-tier client/server model. This
architecture has been designed in order to encapsulate and integrate distinct functionalities of
enterprise applications. This architecture uses presentation layer, application layer and data
management layer to perform logical processing. However this model deals with the
following drawbacks,

i) Deployment and enhancement of new applications was a tedious task.


ii) Change management was difficult.

To overcome the above issues, three tier system architecture has been designed. The three
tier architecture is an extension of two tier client/server architecture. The three tier
architecture is shown as

The above architecture separates the application logic from the resource management layer.
The three tier architecture consists of the following three layers,

1. Presentation Layer: Presentation layer is the top most tier of the three tier enterprise
architecture. This layer provides information to the external entities and also allows their
interaction with the system. This interaction can be done by submitting the requested
operation and by generating responses to and from the system and external entities.

2. Business/Application Layer/Middleware Layer: Business/application/middleware layer


is the middle tier of the three tier enterprise architecture. This layer is responsible for
implementing the requested client operations. This layer also manages the user
authentications, resource access, query processing made by clients and database servers.

3. Resource Management/Data Layer: Resource management/data layer is the bottom


most layer of three tier enterprise architecture. This layer is responsible for implementing the
various data sources present on information system.

Due to excessive use of internet, the three tier architecture is extended as N-tier architecture.
This N-tier architecture provides the following enhancements,

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 26


i) Integrates SOAP based and REST web services into the application
ii) Subdivides the data to data storage tier and data access tier
iii) Includes an additional layer called wrapper tier to provide data access to both data
bases and web services
iv) Includes an additional web services layers at the top of the information system.
This layer provides interaction with standard internet protocols.

WSI protocol Stack: WSI protocol stack supports various features like

i) Transport protocols
ii) Message/extensions and invocations
iii) Description
iv) Quality of Service(QoS)
v) Process and Composition

i) Transport Protocols: WSI protocol stack uses various transportation protocols like
HTTP, SMTP, FTP, IIOP etc.

ii) Message/Extensions and Invocations: The WSI protocol stack defines a Simple Object
Access Protocol (SOAP). It is a web service that specifies the non-functional requirements
and quality of service in the messages. It is a reliable protocol that defines transaction
services like WS-Addressing, WS-Transaction and WS-Coordination while transmitting
messages.

In SOAP data/messages can be encoded using a special mark-up language i.e XML. The
messages are stored in between two tags i.e start and end tags. Since XML is used for
performing transmission, overhead can occur due to increase in transmission rate. Data
processing in XML comprises of calculations, description of memory and complete size of
data, number of data fields, limited profile devices like PDAs and smart phones.

iii) Description: The WSI protocol defines various message description services like Web
Service Description Language(WSDL), Universal Description Discovery Integration (UDDI),
WS-Resource properties.

iv) Quality of Service (QoS): The SOAP based beb service used on protocol stack which
provides reliable communication using various policies like WS-security, WS-reliable

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 27


messaging and WS-Resource lifetime inorder to fulfill required Quality of Service
requirement.

v) Process and Composition: WSI protocol stack allows composition of software using
reusable and loosely coupled software components. However to provide interaction between
the web service a standard executable language called Business Process Execution Language
(BPEL4) is used. It is an XML based language present at top of web service specification. It
defines and manages the web processes. It helps the organization to automate the business
processes.

Grid Services of OGSA:

Open Grid Service Architecture (OGSA) is a service oriented architecture. It defines set of
common standards for grid based applications. These standards specify how different
components of heterogeneous grid system communicate with each other. The primary aim of
OGSA is to provide a well-defined architecture for QoS features of grid system like resource
management, problem determination etc. in OGSA register, computational tasks and data
resources are nothing but service. These services are considered as the basic blocks of
OGSA-based grid.

The goals defined by OGSA are as follows,

i) it provides facilities to manage resources over heterogeneous, distributed environment


ii) It defines open standards, published interfaces to provide interoperability over resources
iii) It makes use of extensive industry standard integration technologies
iv) It fulfills the quality of service requirement
v) It defines loosely coupled and interoperable web service standards
The high level architectural view of grid services are defined by OGSA. These services are
implemented on multiple interfaces. These interfaces specify various operations that are
invoked while performing message exchange depending on Open Grid Service Infrastructure
(OGSI). The OGSI architecture is shown as

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 28


The services provided by OGSA are as follows,

i) Infrastructure Services: It defines common functionalities like naming a service. These


functionalities are utilized by other higher level services.

ii) Execution Management Services: It deals with various task management issues like
placements, provisioning and life cycle management services.

iii) Data Management Services: It facilitates data management capabilities like transmission
of data (as per the users request), transformation of data into new formats, run queries and
perform updations, maintenance of replicated copies of data. These services deals with issues
like data consistency, integrity and persistency.

iv) Resource Management Services: It manages the grid resources in the following
manner:

a) Manages the resources individuals


b) Manages the resources as grid components
c) Manages the OGSA infrastructure.

It also provides capabilities to monitor resources, deploy and configure the applications so as
to meet the required QoS. The OGSA resource management service contains the information
model and data model of grid resources and services.

v) Security Services: It enforces security-related policies on organizations to ensure secure


resource sharing. It mainly deals with essential functionalities like data authentication, data
authorization and data integrity.

vi) Information Services: It provides efficient access to the information present on grid and
its resources. The term information is considered as either dynamic or static. Dynamic
data/events are used for monitoring the status whereas the static data is used in discovery.

vii) Self Management Services: It provides service-level attainment to set of services with
automation. This service decreases the code and also reduces the system management
complexity.

Web Services: The web services defined in this architecture provides support to dynamic
systems that are loosely coupled. There by thus does not satisfy all the needed grid
requirements of distributed system.

WSDL: In OSGA architecture, Web Service Description Language(WSDL) are applied on


extensions by OGSI. This is done to implement grid service instance on multiple system.

Beside this, a network-wide pointer is also used. This pointer points to grid service instance
to make them accessible to remote client applications.

Web Service Resource Framework (WSRF): It is a generic frame work which allows joint
cooperation between grid and web service communities. Beside this, various other
specifications like WS- Addressing and WS-Notification are also included. This framework
allows access to persistent resources. This helps in implementing and managing multiple
services.

The stateful information corresponding to a web service is maintained in a special entity


called resource. A service can have multiple resources. Each resource is assigned with a
M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 29
unique key and are stored either in memory or in secondary storage file /database. The
process of passing web service and resources is referred to as WS-Resource. The WS-
Resources are addressed using End Point reference (EPR) construct defined by WS-
Addressing specification.

Resources contain data terms these data terms are called resource properties. It includes
information about service data value, current service state, meta data, value information
required for managing states etc.

Message Oriented Middleware:

Message Oriented Middleware provides support to distributed computing. It mainly deal


with,

i) Enterprise bus
ii) Publish subscribe model
iii) Queuing and messaging systems

i) Enterprise bus: The “Enterprise Service Bus” (ESB) integrates various components that
allow communication between the service requesting messages in different styles like SOAP,
REST or Java EMI. The messages are send onto bus by injecting a message which contain
sufficient information regarding the services that must be delivered to destination. This is
done to ensure accurate delivery. Consider the below figure,

In the above figure, service is shown as filled ovals. These are called as client interfaces.
The message bus is represented as connecting service as [↔] various software or hardware
can also be used for sending and receiving messages.

A message bus can also be implemented as a set of “brokers” in distributed computation. A


broker is responsible for scaling multiple clients having a huge message traffic. This brokers
are also known as special server or services that can carry out transformations and can send
and receive the messages.

A single broker can also be implemented as managers of queues. This is nothing but MQ or
“Message Queue”. The use of MQ in parallel computing that, it associates master with
workers in “farm” model. Here, a “master” defines a work item and place it in queue to
allow multiple workers to access it.

ii) Publish-Subscribe Model: “Publish-subscribe” is a model provides a connection


between source and destination for passing a message in the bus. The role of publisher is to
assign distinct names to the messages depending on the vocabulary. The subscriber receives
the message which contains the information related to the messages. This model uses the
M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 30
content based delivery system in which the information is in query format as SQL. The
message filtering is done so as to provide content based message selection. In this many to
many relationship is established between publishers and subscribers. This message provides
the execution of event based programming models and notifications.

iii) Queuing and Messaging Systems: The various service / standards used in queuing and
messaging systems are as follows,

a) Java Message Service: Java Message Service (JMS) is considered as one of the
useful service in queuing and messaging system. This messaging system describes a
collection of interfaces that allow communication semantics in pub or sub and
queuing systems.
b) Advanced Message Queuing Protocol (AMQP): It allows wire-format
communications.
c) Mule MQ: It is a messaging framework defined in ESB system. This messaging
framework is developed using Java programming language. It is developed to
simplify the integration of various existing systems like JMS, Web Services, SOAP,
JDBC and traditional HTTP. It supports protocols like POP, IMAP, FTP, RMI,
SOAP, SSL and SMTP.
d) ACTIVE MQ: It is open source message broker of Apache.
e) WebSpher MQ: It offers an enterprise bus. It is mainly used by IBM.

For exchanging messages Time-decoupled delivery is an important constraint. Fault


tolerance is an important feature that helps the messaging systems to back up their messages
and provides definitive guarantees.

M. Purnachandra Rao, Assoc. Prof. Dept. of IT, KITS. Page 31

You might also like