The Computing Architecture - Distributed vs Grid Computing

Enterprise Computing Architecture has seen enormous growth over the years. In the olden days, businesses used multiple boxes to host data and run applications.These systems were mostly driven by mainframes and client-server models. With the advent of advanced networking architectures, the enterprise systems moved away from client-server models towards web-based N-Tier models.

Along the way, there were number of changes to the way the enterprise systems performed the required functions. Distributed Computing, Grid Computing, and Virtualization changed the outlook of how computations are done over the network. The blog-post focuses on highlighting the above concepts.

Distributed Computing:
Distributed Computing is basically "distribution" of a "specific function" over multiple nodes in a network. Distributed computing can be achieved from client-server, 3-tier, or a N-Tier architecture. Whatever be the architecture, the fundamental principle is to break the program/function into pieces and distribute it to multiple nodes for computation. The distributed systems are highly scalable as the system can easily be expanded by adding more machines as needed (Scale out). Further, since all the nodes can perform the same function, even if one of the nodes fail, the system is still functional and reliable.

There are several considerations an architect should review with distributed computing: Network Latency, Bandwidth, Topology, Homogeneous vs Heterogeneous, Security, interoperability. Applications built using JEE framework provides for distributed computing requirements. The  JEE platform allows users to build web services that interoperate with other legacy systems. Moreover, The applications developed for distributed computing should also be open and loosely coupled so as to interact with other applications/systems in the environment. Web Services applications built using WSDL, SOAP, XML provide language and platform independence.

Grid Computing:
Grid Computing is based on concepts such as virtualization, clustering, and dynamic provisioning of IT resources. It involves pooling of IT resources and creating a virtualized environment. Thus, Grid computing allows for flexibility, improved utilization, and lowered operational cost as the underlying infrastructure is shared by the applications.

It is important to understand the key difference between Grid and Distributed computing. While Distributed computing is primarily about application design, Grid computing is about pooling of infrastructure for efficient use. Basically, distributed computing and grid computing can co-exist in IT architecture.

Grid computing can be broadly categorized as Application Grids and Database Grids. Application Grids usually consists of SOA Services and Applications, Data Services (for persistence, events, messaging, analytics), Containers that hold JVM and native platforms, Grid Controls and Management, IDE and Configurations tools. Database grids consists of DBMS applications and storage.

The Modern IT Era:
From accidental architectures of the past, we are moving towards a sophisticated IT architecture that promotes Scalable, Interoperable, and Reliable systems. In the modern era, infrastructures that makes use of CLOUD architecture is becoming the preferred choice for most businesses. From a technical standpoint, CLOUD is nothing more than a sophisticated GRID. However, from a business standpoint public cloud computing helps to reduce the operational cost significantly. While there are threats related to data security and privacy, there is a clear case for businesses to pursue a cloud strategy to stay competitive in its industry.

References:
http://www.oracle.com/technetwork/topics/entarch/itso-165161.html
http://insidehpc.com/2006/07/14/what-is-a-clustered-database/
http://publib.boulder.ibm.com/infocenter/txformp/v6r0m0/index.jsp?topic=%2Fcom.ibm.cics.te.doc%2Ferziaz0015.htm




Comments

Popular posts from this blog

No Non-Sense Transformation

Patrick Pichette and Art of Corporate Finance in IT Industry

The RASSP in IT Architecture