Univa HPC Job Bank
HPC in the Cloud


Dedicated to covering high-end cloud computing
in science, industry and the datacenter

Language Flags

Enterprise SOA Meets Grid


Much of what we hear in the news about new technology tends to have marketing hype all over it. Software architects need to remove hype from the real thing to match expectations of stakeholders with current technologies. This article touches upon the difficulties of "going SOA," as well as some of the benefits. Most of us have only heard of the benefits of SOA, but none of the challenges. The article will also go into how Grid computing can remedy these difficulties.

What is SOA? The buzzword does not give an adequate explanation. There is no simple answer to the question, but rather a set of criteria that define what comprises a service-oriented architecture. A Web service is registered with UDDI Directory by a service provider and its public interface is exposed via WSDL and accessed by a Service Consumer thru SOAP.

Figure 1

Figure 1:  The Triangle of Web Services

We've known about this concept for a while, but we now have the technology to backup what the "theory" of SOA originally set forth to do. Services can be explained as "self-contained" and "self-managed" components, but these terms are the cause of many headaches and sleepless nights. Benefits such as decoupling of clients from the business logic, run-time binding of supply and demand, scalability, availability and being able to implement an enterprise SOA solution can be easily realized, as well.

These benefits come with challenges, such as securing your enterprise, accessing services, providing quality of service desired by service consumers, controlling services in a uniform, central location and managing the infrastructure that supports your services.

Enterprise SOA Explained

Enterprise SOA can be defined as being able to expose services to the entire enterprise and accessing services exposed by others. The identification process, recognizing which pieces of your enterprise can be service-ized, is the key step for a service-oriented design. Decoupling business logic from the rest of the application can be daunting.  A service must be general enough to answer the call of more than one application, and specific enough to do something useful for that application.

A bottom-up or a top-down approach can be taken toward enterprise SOA. The bottom-up approach starts with one application -- a low hanging fruit -- and works up through the rest of the enterprise by service-enabling one application after another. This approach is safer, but takes longer and faces bigger challenges after service enabling a few applications -- when larger, mission-critical applications have different and more constraining requirements.

The top-down approach starts with top-level managers and a vision, which is propagated throughout the enterprise, with different groups taking on the challenge. This approach has better promise, but can lead to top-level management not realizing the needs of every project in large enterprises, resulting in an implementation that is staggering at best -- with lack of interoperability between applications at worst.  

A hybrid of the two approaches is becoming commonplace. Consider management from the enterprise level with architects and managers representing different parts of an enterprise. The 4 Ps -- people, pilot, plan and proceed -- are one way to go. Select the right people to pilot small applications, ensure feasibility, come up with an enterprise-wide plan and proceed with its execution upon approval.  

Standards and protocols that effect Web services and SOA implementations must be followed closely. Vendors do not tend to implement every standard for obvious reasons. Part of the job of your consortium is to choose standards that your enterprise needs to follow. This is not an easy task because this choice could tie you to a specific vendor. 

SOA and Grid Computing

Some challenges faced by enterprise SOA implementations have already been resolved with Grid computing. It can be argued that Web services and SOA are extensions of what we expect from high-performance and cluster computing. Being able to remotely invoke an executable service, without much knowledge of the executable location or configuration, has been around with batch systems for decades. As remote execution or Remote Procedure Call (RPC) has evolved to Web services, batch systems have evolved to Grid computing -- allowing us to think of the two technologies as complementary.  

Thinking of both technologies as one makes decision making much easier. If a Grid computing infrastructure is in place, you should look into utilizing it for your SOA initiatives. Both initiatives should fall under the same umbrella -- even if you are not ready to take on both challenges simultaneously. Grid computing has a lot to offer your enterprise's SOA plans, as problems such as security, Quality-of-Service management, deployment of services and central administration have already been solved by Grid software vendors.  


Figure 2

Figure 2:  The Triangle of Grid Computing

As an added benefit, Grid computing virtualizes your services even more by adding another layer of indirection. The scheduler in Figure 2, known as the resource manager, is accessed by clients to forward client requests to the appropriate Service. The Grid service is exposed through the same fashion a regular Web service would (through UDDI and WSDL), but the scheduler can enforce Quality-of-Service, security and load balancing across available resources.  

Enterprise SOA Management


Now that all of your services are developed and ready for use, how are you going to manage them? This is probably one of the most challenging tasks of an SOA infrastructure. Central policy management is required for a sizeable SOA implementation. Access policies go from "nice to have" to "must have" in a moment's notice, obligating additional resources to manage your services. The cycle continues until ROI is vanished due to the vast resources required to keep your infrastructure up. What's worse is going back to the silo implementation that you started with.

Implementing a grid can assist in achieving an enterprise SOA solution. It manages resource deployment, provisions, and alleviates the costs and headaches of administration. As application silos fade, overall management of your enterprise becomes more efficient in the process.

Figure 3

Figure 3:  Using Grid Computing to Achieve Enterprise SOA

Having solved application deployment and provisioning, you need to manage access to the available services. This might be an easy task to start with, having only a couple of services and a limited number of clients to worry about, but it will soon require additional time, resources and money -- much more than you are willing to spend. Grid computing software can take care of resource management for your enterprise and virtualize your underlying infrastructure and available resources. It takes control of your resources, schedules services to run as requests come in, prevents denial of service attacks and meets Quality-of-Service requirements set forth by users.  

High-resource utilization and sharing of resources across the enterprise is the added benefit of implementing a Grid infrastructure. Since the resource manager is in charge of knowing what each grid participant is doing, it becomes trivial to schedule requests to be processed by services wherever there is free cycle to be had.    

Most Read Blogs


Short Takes

NASA Builds 'Climate in a Box'

May 23, 2013 | The study of climate change is one of those scientific problems where it is almost essential to model the entire Earth to attain accurate results and make worthwhile predictions. In an attempt to make climate science more accessible to smaller research facilities, NASA introduced what they call ‘Climate in a Box,’ a system they note acts as a desktop supercomputer.
Read more...

Running Computational Fluid Dynamics in the Cloud

May 16, 2013 | When it comes to cloud, long distances mean unacceptably high latencies. Researchers from the University of Bonn in Germany examined those latency issues of doing CFD modeling in the cloud by utilizing a common CFD and its utilization in HPC instance types including both CPU and GPU cores of Amazon EC2.
Read more...

Sponsored Whitepapers

Best Practices in Big Data Storage

05/10/2013 | Cleversafe, Cray, DDN, NetApp, & Panasas | From Wall Street to Hollywood, drug discovery to homeland security, companies and organizations of all sizes and stripes are coming face to face with the challenges – and opportunities – afforded by Big Data. Before anyone can utilize these extraordinary data repositories, however, they must first harness and manage their data stores, and do so utilizing technologies that underscore affordability, security, and scalability.

Exploring the Potential of Heterogeneous Computing

04/02/2012 | AMD | Developers today are just beginning to explore the potential of heterogeneous computing, but the potential for this new paradigm is huge. This brief article reviews how the technology might impact a range of application development areas, including client experiences and cloud-based data management. As platforms like OpenCL continue to evolve, the benefits of heterogeneous computing will become even more accessible. Use this quick article to jump-start your own thinking on heterogeneous computing.

Sponsored Multimedias

Newsletters

Stay informed! Subscribe to HPC in the Cloud email Newsletters.

HPC in the Cloud Update
HPCwire Weekly Update
Digital Manufacturing Report
Datanami
HPCwire Conferences & Events
Job Bank
HPCwire Product Showcases


ISC

HPC Job Bank


Featured Events



  • June 16, 2013 - June 20, 2013
    ISC'13
    Leipzig,
    Germany

  • June 17, 2013 - June 18, 2013
    Forecast 2013
    San Francisco, CA
    United States




HPC in the Cloud Conferences & Events