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

CC Unit-2

Uploaded by

Yuva Teja
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)
88 views

CC Unit-2

Uploaded by

Yuva Teja
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/ 21

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 SERVICE MODELS

In recent days, the IT industry has moved from manufacturing to offering more services (service-
oriented). As of now, 80% of the industry is ‘service-industry’. It should be realized that services are
not manufactured/invented from time-to-time; they are only rented and improved as per the
requirements.
Cloud computing benefits the service industry most and advances business computing with a new
paradigm. Clouds aim to utilize the resources of data centres virtually over automated hardware,
databases, user interfaces and applications.

3.1.1 Public, Private and Hybrid Clouds:

Cloud computing has evolved from the concepts of clusters, grids and distributed computing. Different
resources (hardware, finance, time) are leveraged (use to maximum advantage) to bring out the
maximum HTC. A Cloud Computing model enables the users to share resources from anywhere at any
time through their connected devices.
Cloud Computing consists of a virtual platform with elastic resources and puts together the hardware,
data and software as per demand. Furthermore, the apps utilized and offered are heterogeneous.
Public Clouds:
A public cloud is owned by a service provider, built over the internet and offered to a user on
payment. All providers offer their services for creating and managing VM instances to the users within
their own infrastructure. A public cloud delivers a selected set of business processes. The application
and infrastructure services are offered on a flexible price-per-use basis.

Fig: Public Private and Hybrid Clouds architecture


Private Clouds: A private cloud is built within the domain of an intranet owned by a single
organization. It is client-owned and managed; its access is granted to a limited number of clients only.
Private clouds offer a flexible and agile private infrastructure to run workloads within their own
domains. A private cloud is supposed to deliver more efficient and convenient cloud services. It may
impact the cloud standardization, while retaining greater customization and organizational control.

Hybrid Clouds: A hybrid cloud is built with both public and private clouds. Private clouds can also
support a hybrid cloud model by enhancing the local infrastructure with computing capacity of a public
external cloud. Hybrid clouds operate in the middle, with many compromises in terms of resource
sharing.
Data Center Networking Architecture:
The core of a cloud is the server cluster and the cluster nodes are used as compute nodes. The
scheduling of user jobs requires that virtual clusters are to be created for the users and should be
granted control over the required resources. Gateway nodes are used to provide the access points of
the concerned service from the outside world. They can also be used for security control of the entire
cloud platform. It is to be noted that in physical clusters/grids, the workload is static; in clouds, the
workload is dynamic and the cloud should be able to handle any level of workload on demand.

Fig: Data Centre Networking Architecture


3.1.2 Cloud Ecosystem and Enabling Technologies:

Cloud computing platforms differ from conventional computing platforms in many aspects.
The differences between classical computing and cloud computing can be seen in the table shown
below. In traditional computing, a user has to buy the hardware, acquire the software, install the
system, test the configuration and execute the app code. The management of the available resources is
also a part of this. Finally, all this process has to be revised for every 1.5 or 2 years since the used
methodologies will become obsolete.
On the other hand, CC follows a pay-as-you-go model. Hence the cost is reduced significantly – a user
doesn’t buy any resources but rents them as per his requirements. All Software and Hardware resources
are leased by the user from the cloud resource providers. This is advantageous for small and middle
business firms which require limited amount of resources only. Finally, CC also saves power.

Cloud Design Objectives:


Despite the controversy surrounding the replacement of desktop or deskside computing by centralized
computing and storage services at data centers or big IT companies, the cloud computing community
has reached some consensus on what has to be done to make cloud computing universally acceptable.
The following list highlights six design objectives for cloud computing:

• Shifting computing from desktops to data centers Computer processing, storage, and software
delivery is shifted away from desktops and local servers and toward data centers over the Internet.

• Service provisioning and cloud economics Providers supply cloud services by signing SLAs with
consumers and end users. The services must be efficient in terms of computing, storage, and power
consumption. Pricing is based on a pay-as-you-go policy.

• Scalability in performance The cloud platforms and software and infrastructure services must be
able to scale in performance as the number of users increases.

• Data privacy protection Can you trust data centers to handle your private data and records? This
concern must be addressed to make clouds successful as trusted services.

• High quality of cloud services The QoS of cloud computing must be standardized to make clouds
interoperable among multiple providers.

• New standards and interfaces This refers to solving the data lock-in problem associated withdata
centers or cloud providers. Universally accepted APIs and access protocols are needed to provide high
portability and flexibility of virtualized applications.

3.1.3 Service Models of Cloud Computing


Cloud computing delivers infrastructure, platform, and software (application) as services, which are
made available as subscription-based services in a pay-as-you-go model to consumers. The services
provided over the cloud can be generally categorized into three different service models:
a) Infrastructure as a Service (IaaS)
b) Platform as a Service (PaaS)
c) Software as a Service (SaaS)
 Infrastructure-as-a-Service (IaaS):
This model allows users to use virtualized IT resources for computing, storage, and
networking. The required service is performed by the rented cloud infrastructure. On this environment,
the user can deploy and run his apps. Note that user doesn’t have any control over the cloud
infrastructure but can choose his OS, storage, apps and network components.
Ex: Amazon EC2.

Fig: IaaS, PaaS, SaaS Cloud Service Models

 Platform-as-a-Service (PaaS):
To develop, deploy and manage apps with provisioned resources, an able platform is needed by
the users. Such a platform includes OS and runtime library support. Different PaaS offered in the
current market and other details are highlighted in the Table below.
It should be noted that platform cloud is an integrated system consisting of both Software and
Hardware. The user doesn’t manage the cloud infrastructure but chooses the platform that is best suited
to his choice of apps. The model also encourages third parties to provide software management,
integration and service monitoring solutions.
Ex: Google App Engine
 Software as a Service (SaaS):
This model refers a browser-initiated application software over thousands of cloud
customers. Services & tools offered by PaaS are utilized in construction and deployment of apps and
management of their resources. The customer needs no investment and the provider can keep the
costs low. Customer data is also stored in a cloud and is accessible through different other services.
Ex: Gmail, Google docs, Salesforce.com etc.

3.2 ARCHITECTURAL DESIGN OF COMPUTE AND STORAGE CLOUDS

An Internet cloud (CC) is envisaged (imagined) as a public cluster of servers allocated on demand to
perform collective web services or distributed apps using the resources of a data center.

Cloud Platform Design Goals:

The major goals of a cloud computing platform are scalability, efficiency, Virtualization, and
reliability. A cloud platform manager receives the user requests, finds the resources, and calls the
provisioning services to allocate the appropriate amount of resources for the job. Note that a manager
supports both physical and virtual machines.

The platform also needs to establish an infrastructure that can obtain HPC. Scalability can be
obtained by adding more data centers or servers, which leads to more efficient data distribution and,
usage of less power and bandwidth.

3.2.1 Generic Cloud Architecture Design:

The Internet Cloud is imagined as a massive cluster of servers. The different resources (space,
data, and speed) of the concerned servers are allocated as per demand dynamically.

Fig: Security aware Cloud Platform built with virtual clusters.


The cloud platform demands distributed storage and different services (PaaS, IaaS and SaaS). Though
the resources and services do exist and work in parallel, the user need not know about the real-work
behind the screen. Any software in the cloud is a service and any service demands high amount of trust
on the data retrieved from the data. Other cloud resources include storage area networks (SANs),
firewalls, and security devices.
The usage and performance of granted resources are monitored and metered by special units. The
software infrastructure of a cloud platform must automatically handle all the resource grants and
management and note the status of each node system/server when it joins/leaves the cluster. The
physical location of the data center, type of power used (general/solar/hydroelectric) and cooling
required are also important points.

Typically, private clouds are easier to manage and public clouds are easier to access. In future the
clouds which utilize the best resources from both the types (hybrid) are expected to grow. Finally,
security becomes a critical issue in CC to grant the success of all the services.

3.2.2 Layered Cloud Architectural Development


Architecture of cloud is developed at three layers: infrastructure, platform and application which
are implemented with Virtualization and Standardization of Hardware and Software resources
provisioned in the cloud.

Fig: Layered Architectural Development of Cloud Platform

Different Virtualization standards are framed and utilized in all these layers to provision the resources
allocated for a cloud. The services offered to public, private and hybrid through different networking
supports over the Internet and Intranets.

 Infrastructure layer is deployed first to support the IaaS layer. It also serves as a foundation for
the PaaS layer services.
 Platform layer itself is a foundation for the SaaS services.
The layers demand resource allocation as per demand and are granted.

 The infrastructure layer is built with virtualized compute, storage, and network resources.
Proper utilization of these resources provides the flexibility demanded by the users. Where the
Virtualization demands automated provisioning of the resources and minimum management time.
 The platform layer is for general purpose and repeated usage of the service resources. Proper
environment is provided for the development, testing, deployment and monitoring the usage of
apps. Indirectly, a virtualized cloud platform acts as a ‘system middleware’ between the
infrastructure and application layers of a cloud.
 The application layer is formed with the collection of different modules of all software that are
needed for the SaaS apps. The general service apps include those of information retrieval, doc
processing, and authentication services. This layer also used in large-scale by the CRMs, financial
transactions, and supply chain management.
3.2.3 Virtualization Support and Disaster Recovery:
System Virtualization is a much used feature in Cloud Computing to improve provisioning of
the resources to various services or customers. The provisioning tools, through the VMs (containers of
services), try to find the best physical location wherein they plug the nodes into the data centers.
In Cloud Computing, Virtualization refers the resources and fundamental infrastructures are
virtualized. The user need not care about the computing resources, where and how they are deployed
and used. The user only uses the service offers as current situation demands.

 Hardware Virtualization:
System virtualization is a special kind of technique that simulates the hardware
execution, utilization and provisioning methods before they can be applied in the real world of
CC. virtualization software is used for simulations, platform-developing for clouds, and use any
kind of OS that is preferred by a developer/user
 Using VMs in CC ensures maximum flexibility for the users. A proper methodology is
required for correct provisioning of the resources, distribute the burdens of space and time
evenly and bring out HP. Traditional sharing of cluster resources doesn’t confirm the above
stated goals and an appropriate usage of all the hardware resources in all angles can be brought
out by virtualization of the same resources.
 Virtualization Support in Public Clouds: Public clouds like AWS, MS-Azure, GAE are the
famous products in the market. AWS provides extreme flexibility through VMs for the users to
execute their own applications. GAE provides limited app level virtualization for users since it
supports only Google’s services.MS provides programming level virtualization for users to
build their own apps.
 Virtualization for IaaS: VM technology is ubiquitous (present everywhere) enabling the users
to create customised environments atop physical infrastructure. Advantages are: The under-
utilized servers can be removed and the workload can be evenly distributed among the existing
servers, VMs can run their code without conflicting with other APIs, VMs can also be used to
improve security through sandbox methodology (tightly controlled set of resources) and
virtualization cloud platforms can isolate their performance also, increasing the QoS.
VM Cloning for Disaster Recovery: [Cloning => Make an identical copy] There exist two methods to
recover from any disaster. In the first scheme, a physical machine is recovered by another physical
machine. Apparently, this takes more time, energy and is more expensive. The needed hardware is to
be setup, the OS is to be installed and the data recovery process has to be adjusted to other
requirements too. In the other methodology, to recover a VM platform, no installation, configuration,
OS setup etc. are needed – the time utilized becomes 40% less than the previous scheme.
3.2.4 Architectural Design Challenges:

1) Service Availability and Data Lock-in Problem: If all the cloud services are functioning
under a single company, that itself may be the reason of failure of the cloud. To achieve HA,
it is advisable to use different services from multiple companies. Another obstacle for
availability is DDoS attacks and ransomware.

Software storage and usage in a distributed manner is being done systematically, but the APIs are
still vulnerable to attacks. The solution to this challenge is to standardize the APIs that are used
in SaaS; all this enables the usage of a new model in public and private clouds. All this leads to
‘surge computing’ where extra tasks are performed by public clouds, which can’t be done in the
case of private clouds.
2) Data Privacy and Security: Present cloud offerings are public, but this makes them more
exposed and prone to attacks. The steps that are to be taken are encrypted storage, virtual
LANs, firewalls, and packet filters. The attacks that might try to intrude the cloud are
malware, spyware, hijacking, DDoS, man in the middle (while migrating) and others.
3) Unpredictable Performance and Bottlenecks: Multiple VMs can share CPUs and main
memory in CC, but I/O sharing is difficult and cumbersome. As a solution one might try to
improve the I/O architectures and operating systems to virtualize the interrupts and I/O
channels. Finally, in the clouds, the data bottlenecks must be removed or widened to obtain
the efficient HP.
4) Distributed Storage and Widespread Bugs: DB usage is growing in CC and all of it can’t
be stored at a single place. Distributed storage thus comes into picture, buts also brings new
problems like requirement of efficient SANs (Storage Area Network), and data durability.
Simulator is a nice way to understand the problem and propose a satisfactory solution.
5) Cloud Scalability, Interoperability and Standardization
6) Software Licensing: Since distributed computing is widely used, any single customer’s
unsatisfactory usage of the concerned service may collapse the whole cloud

3.3 PUBLIC CLOUD PLATFORMS


3.3.1 Public Clouds and Service Models
Cloud services are provided as per demand by computing IT administrators, software vendors, and end
user.
The app providers at the SaaS level are used mainly by the individual users. Most business
organisations are serviced by IaaS and PaaS providers. IaaS provides compute, storage, and
communication resources to both app providers and organisational users. The cloud environment is
defined by PaaS providers. Note that PaaS provides support both IaaS services and organisational
users directly.

Cloud services depend upon machine Virtualization, SOA, grid infrastructure management and power
efficiency. The provider service charges are much lower than the cost incurred by the users when
replacing damaged servers.
PKI=> Public Key Infrastructure; VPN=> Virtual Private Network

3.3.2 Google App Engine (GAE):


The Google platform is based on its search engine expertise and is applicable to many
other areas (Ex: MapReduce). The Google Cloud Infrastructure consists of several apps like Gmail,
Google Docs, and Google Earth and can support multiple no. of users simultaneously to raise the bar
for HA (high availability). Other technology achievements of Google include Google File System
(GFS) [like HDFS], MapReduce, BigTable, and Chubby (A Distributed Lock Service). GAE enables
users to run their apps on a large number of data centers associated with Google’s search engine
operations. The GAE architecture can be seen below

The building blocks of Google’s CC app include GFS for storing large amounts of data, the
MapReduce programming framework for developers, Chubby for distributed lock services and
BigTable as a storage service for accessing structural data.
GAE runs the user program on Google’s infrastructure where the user need not worry about storage
or maintenance of data in the servers. It is a combination of several software components but the
frontend is same as ASP (Active Server Pages), J2EE and JSP.

Functional Modules of GAE:


(a) Datastore offers OO, distributed and structured data storage services based on BigTable
techniques. This secures data management operations.
(b) Application Runtime Environment: It is a platform for scalable web programming and
execution. (Supports the languages of Java and Python)
(c) Software Development Kit: It is used for local app development and test runs of the new apps.
(d) Administration Console: Used for easy management of user app development cycles instead of
physical resource management.
(e) Web Service Infrastructure provides special interfaces to guarantee flexible use and
management of storage and network resources.

3.3.3 Amazon Web Services (AWS):


VMs can be used to share computing resources both flexibly and safely. Amazon has been a leader in
providing public cloud services. Amazon applies the IaaS model in providing its services.

EC2 provides the virtualized platforms to host the VMs where the cloud app can run.
S3 (Simple Storage Service) provides the OO storage service for the users.
EBS (Elastic Block Service) provides the block storage interface which can be used to support
traditional apps.
SQS (Simple Queue Service) ensures a reliable message service between two processes.

Amazon offers a RDS (relational database service) with a messaging interface. The AWS offerings
are given below in Table 4.6 [1].
3.3.5 Microsoft Windows Azure:
The overall architecture of MS cloud platform, built on its own data centers, is shown below. It
is divided into 3 major component platforms as it can be seen. Apps are installed on VMs and Azure
platform itself is built on Windows OS.

 Live Service: Through this, the users can apply MS live apps and data across multiple machines
concurrently.
 .NET Service: This package supports app development on local hosts and execution on cloud
machines.
 SQL Azure: Users can visit and utilized the relational database associated with a SQL server in the
cloud.
 SharePoint Service: A scalable platform to develop special business apps.
 Dynamic CRM Service: This provides a business platform for the developers to manage the CRM
apps in financing, marketing, sales and promotions.
3.4 INTER-CLOUD RESOURCE MANAGEMENT

Cloud resource management and inter cloud resource exchange schemes are reviewed.

3.4.1 Extended Cloud Computing Services:


The top three service layers are SaaS, PaaS and IaaS. The bottom three layers are related to
physical requirements and are as Hardware as a Service (HaaS), Network as a Service (NaaS),
Location as a Service (LaaS), and Security as a Service (SaaS).

Software Stack for Cloud Computing: A software stack is a group of programs that work in
tandem (in order) to produce a common goal. It may also refer to any set of apps that works in a
specific order toward a common goal. Ex: Like a set in maths or a cluster in DM. 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.4.2 Resource Provisioning and Platform Deployment:


The emergence of computing clouds suggests fundamental changes in software and hardware
architecture. Cloud architecture puts more emphasis on the number of processor cores or VM
instances. Parallelism is exploited at the cluster node level. In this section, we will discuss techniques
to provision computer resources or VMs.

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.

2. Resource Provisioning Methods:


(a) 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.
(b) 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
.
(c) Popularity-Driven Resource Provisioning: In this method, The Internet searches for popularity
of certain apps and creates extra instances if the popularity has risen.

(d) 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 apps by requesting the VMs, enacting (endorse) the
leases, and deploying the VMs as per requests.

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

3.4.3 Virtual Machine Creation & Management:

a. 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.

b. 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).
c. 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.

d. 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

e. 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 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.5.1 Cloud Security Defence Strategies:
A healthy cloud ecosystem is desired to free users from abuses, violence, cheating, hacking,
viruses, rumors, pornography, spam, and privacy and copyright violations. The security demands of
three cloud service models, IaaS, PaaS, and SaaS, are discussed later.

Basic Cloud Security: The basic cloud security enforcements are: security measures in data centers
(like biometric readers, CCTV, man-traps etc.), fault-tolerant firewalls, IDS Intrusion Detection
System), data encryption, strict password policies, and so on. The Figure below shows the security
measures at various levels:

Cloud Defence Methods: Virtualization enhances cloud security, but VMs add an additional layer of
software that might lead to a single point of failure. So the VMs should be isolated in their
deployment and work – the failure of one VM will not affect another.

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.
Data and Software Protection Techniques:
(a) Data Integrity and Privacy Protection
(b) Data Colouring and Cloud Watermarking
(c) 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.6 SERVICE - ORIENTED ARCHITECTURE

SOA is concerned about how to design a software system that makes use of services or apps
through their interfaces. These apps are distributed over the networks. The World Wide Web
Consortium (W3C) defines SOA as a form of distributed architecture characterized by:

 Logical View
 Message Orientation
 Description Orientation
3.6.1 REST and Systems of Systems ( REpresentational State Transfer)
REST is a software architecture style for distributed systems, particularly distributed hypermedia
systems, such as the World Wide Web. It has recently gained popularity among enterprises such as
Google, Amazon, Yahoo!, and especially social networks such as Facebook and Twitter because of its
simplicity, and its ease of being published and consumed by clients.
The REST architectural style is based on four principles:
1. Resource Identification through URIs
2. Uniform, Constrained Interface
3. Self-Descriptive Message
4. Stateless Interactions

3.6.2 Services and Web Services


In an SOA concept, the software capabilities are delivered & consumed through loosely coupled and
reusable services using messages. ‘Web Service’ is a self-contained modular application designed to be
used by other apps across the web.
WSDL => Web Services Description Language
UDDI => Universal Description, Discovery and Integration
SOAP => Simple Object Access Protocol
The technologies that make up the core of today’s web services are as follows:
1. SOAP: This provides a standard packaging structure for transmission of XML documents over
various IPs. (HTTP, SMTP, FTP). A SOAP message consists of an envelope (root element),
which itself contains a header. It also had a body that carries the payload of the message.
2. WSDL: It describes the interface and a set of operations supported by a web service in a standard
format.
3. UDDI: This provides a global registry for advertising and discovery of web services by searching
for names, identifiers, categories.
Since SOAP can combine the strengths of XML and HTTP, it is useful for heterogeneous distributed
computing environments like grids and clouds

3.6.3 Enterprise Multitier Architecture


This is a kind of client/server architecture application processing and data management are
logically separate processes. As seen below it is a three-tier information system where each layer has
its own important responsibilities.
a. Presentation Layer: Presents information to external entities and allows them to interact with the
system by submitting operations and getting responses.

b. Application Logic (Middleware): These consist of programs that implement actual operations
requested by the client. The middle tier can also be used for user authentication and granting of
resources, thus removing some load from the servers.
c. Resource Management Layer (Data Layer): It deals with the data sources of an information
system.

3.6.4 Grid Services and OGSA


Open Grid Services Architecture is intended to

 Facilitate the usage of resources across heterogeneous environments


 Deliver best QoS
 Define open interfaces between diverse resources
 Develop inter-operable standards

OGSA architecture falls into seven broad areas, as shown in below figure which includes
Infrastructure Services, Execution Management Services, Data Management Services, Resource
Management Services, Security Services, Security Services, Information Services and Self-
management Services (automation)
3.7 MESSAGE-ORIENTED MIDDLEWARE
It introduces message-oriented middleware for supporting distributed computing. The study
included enterprise bus, publish-subscribe model, queuing, and messaging systems.

3.7.1 Enterprise Bus


Enterprise Service Bus (ESB) refers to the case where the bus supports the integration of many
components in different styles as shown above. No source and destination channel is opened but only
messages are induced from different services. A message bus is shown linking the services by
receiving and sending messages but this methodology can work with any software or hardware.
3.7.2 Publish-Subscribe Model and Notification

An important concept here is “publish-subscribe” which describes a particular model for


linking source and destination for a message bus. Here the producer of the message (publisher)
labels the message in some fashion; often this is done by associating one or more topic names
from a (controlled) vocabulary. Then the receivers of the message (subscriber) will specify the
topics for which they wish to receive associated messages. Alternatively, one can use content-
based delivery systems where the content is queried in some format such as SQL.

3.7.3 Queuing and Message Systems


The best known standard in this field is the Java Message Service (JMS) which specifies a set
of interfaces utilized in communication queuing systems. Advanced Message Queuing Protocol
(AMQP) specifies a set of wire formats for communications.

3.7.4 Cloud or Grid Middleware Applications

Three examples are given here to illustrate the use of the Narada Brokering middleware
service with distributed computing. The first example is related to environmental protection. The
second is for Internet conferencing and the third is for earthquake science applications.

You might also like