aws

Monday, September 22, 2008

Metaframe

Metaframe is a thin client architecture for windows terminal services.

We can deploy and publish our application on Metaframe servers, the users can access the application through URL, the application instead of running on the User PC runs on the Metaframe server. So, what is the advantage of using Metaframes. The performance of the application will increase.


How the performance increases?

Network latency can decrease the performance of an application, for example user access the database residing on a server at India, from his Office at Japan through an application running on his PC, the time taken for the network packets to reach the server at India and back to Japan will impact the performance of the application.

One way to increase the performance of the application running on the user PC is by increasing the network packet size, but there is limitation on the size of the Packet, we cannot increase the packet size beyond a certain limit.


Whereas If we deploy our application on a Metaframe server which is located at India, this application will run on the Metaframe server instead of running on the User PC, user access the database via Metaframe servers located at India. In this scenario the network latency is very minimal, the user can get a better performance on metaframes.


Load balancing

We may have more than one Metaframe servers, if we deploy our application on all the servers, it will automatically identify and allocate the load on the server with less CPU utilization and balance the load on the servers.


Backup

We can deploy our application on more than one Metaframe servers. Unfortunately, if a server crashes, we don't need to worry, the user can access the application from other servers without any outage.


Real time challenges

  • While deploying our application on Metaframe servers we have to take care of the other applications which are already deployed on the server.
  • The shared folders, network drives, common shared files, library files, ActiveX components should not be changed, if changed or removed it may affect the co-existence of other applications.
  • If we are using batch scripts for publishing the application, it should be a common or a single script for all the servers, suppose we are having three different scripts for three different Metaframe servers, maintenance of these files would be difficult.


We faced a performance issue on one of our application and after implementing our application on Metaframes, we are getting better performance now :)

No comments: