Wednesday, February 11, 2009

Issues and non issues of Distributed computing

By Distributed computing I refer to platforms, infrastructure or technology that involves multiple JVMs to perform a cohesive operation. So what are the core issues and non-issues before we select the right platform?

  • NI: Moving object from one system (JVM) to another
    • How compact is the object over the wire?
  • NI: Synchronizing changes from one JVM to another
    • How fast is the synchronization?
    • How many JVMs to be synchronized?
    • Is the synchronization synchronous or Async
  • NI: Continuous Availability of the Application
    • What state does the failure of one server leaves the data in?
    • What happens to in-flight Transaction upon failure?
    • What state is the persistence storage in?
    • Upon recovery what happens to the new node?
    • How is the past affecting the present for the recovered node?
    • How is the user request handled after its submission and after the node's failure but before the processing completes?
  • NI: Managing common state across multiple services
    • Is that a single point of failure?
    • What is the transaction isolation?
  • NI: A feature list
    • How extensible is it?
    • Are the integration points well defined?
There are plenty of products that address the Non-Issues but fail miserably in their implementation of their resolution. So before selecting the distributed computing platform not only look the supported features but also how they are implemented. Read more on Coherence

No comments: