Future (On Cluster Part VIII of VII :-)

The future of high-volume lies in flexibility and integration. Grid computing and virtualization will come into plays.

Utility computing model today is very limited. While Sun is trying very hard to convince people that computer power can be purchase as easy as electricity, it is based on a much simplified model. The currently model only apply to computing intensive tasks, such as simulation and data analysis.

It is not a situatable model for most enterprise applications, which generate very high network IO. It is critical for these applications to stay close to the data. The amount of data is also huge that cannot be moved easily. Those applications might require on large array of other applications or supporting system. Security concerns also makes it more fesible for those applications and supporting system to be put behind a same set of corporate firewall for access controls. Once network and disk IO performance, backup, large amount of configuration, seucrity, and data to be sync between a company and computer power provider, it is no longer as simply as measuring megawatt of electric power. With these constraints, leasing model simply doesn’t make sense.

Grid computing and virtualization that remains inside corporate firewall will result in very significant saving, without of cost and disadvantage utility model. Virtualization like VMWare provide a lot of flexibility. Each service can be setup in its own virtual machine. Depending on demand, they can be moved into or out of a single physical machine, suspended or activated. A three server tiers of a four tier system (Web Server, Application (business logic) Server, and Database Server) can begins in one physical machine with 3 VM instance. In fact, multiple four-tier system serving different departments can begin in one physical machine. As the traffic increase, the heaviest loaded tier can be moved out to live in its own machine. Service can also be occupying more machines in peak hours. The application can shrink to fewer machines during off-peak, leaving more machines in the Grid pool for offline reporting and data analysis. (VMWare has the functionality of moving a VM instance from one machine to another in real time -- less than 5 second downtime, with heavy system like Microsoft SQL Server running and taking more than 50% of CPU time constantly. The machine in which the VM move to can also has different configuration. It is wickedly cool. Check them out in your next trade show.)

Today, Oracle already claims to support Grid computing in the database tier (previously known and Oracle Parallel Server). Machine can easily added to an existing cluster to support higher loads.

In the future, application server will support similar Grid computing capacity. Such application server will able to spawn new instances of the application server into another other physical machine upon demand. For it to happens, a scalable distributed cache and lock will be integrated in the application server. Application is needed to be developed on a slightly different programming model, in which it accesses database indirectly (thru ORM layer that is integrated with the distributed cache and lock), locks resource thru the provided lock framework, and subscribes to incoming message endpoint indirectly via the service provided by the application server. Today component model already provide most of the abstraction, the change to the programming model is minor. The model does not incur performance penalty for single node operation nor limit programming flexibility. In single node operation, remote functionality is turned off. Small synchronization overhead will incur only when the application server is resided into multiple machine. The Web tier or Web Service tier can pick a random instance of the application server among the pool to make request. Each application server instance has the ability fulfill the request or forward by considering the state of the cache and locks state, such that the pool work in completely parallel manner.

Tag: , , ,