Planning A New Infrastructure - An Overview
We recently acquired a new client and their needs were to analyze the current ColdFusion driven web applications, where they are in an non-redundant, single CF Server/SQL Server install. To firstly design the infrastructure to a redundant infrastructure and migrate them there and then to design a geographically distributed base for the application growth.
Our ethos is never to move an application from current infrastructure without trying to make that base better first, because moving problems from one environment to another, even one with more power, will not do justice to the investments being made. In addition, the client is moving to a virtual environment and we have found that the hypervisor used in virtualization can add at least a 15% penalty in comparison to an equivalent physical infrastructure; these are the steps we took:
- Investigate the current ColdFusion logs
- Enable enhanced-metrics logging in ColdFusion
- Install a monitoring tool (FusionReactor or SeeFusion)
- Identify major code/database issues and work with the client to solve them
- Adjust the memory configuration via garbage collection logging in the jvm.config file
- Iterate through the logs until all main issues are resolved
- Turn off garbage collection logging
At this point we assess current traffic levels and the performance of the CF-web and database servers, paying attention to hard-drive and network performance along with CPU performance also. This is critical in designing the correct hardware base, even though virtual, for the new servers. Also, in designing redundancy, we have to pay attention to network level devices, such as switches, firewalls etc. We always have this in mind, a virtual server needs an adequate physical server specification to work from, the whole concept of a virtual server has a physical server specification as a reference/start point.