Thursday, February 6, 2014

Making Bugs Ineffective

“Let’s make him ineffective”. In the movie Speed, the hero makes this statement when the villain threatens to blow up the cable of the elevator and thus kill its occupants. He saved the situation by securing the elevator with another parallel cable that gave him sufficient time to rescue the occupants even after the main cable was blown up.

We apply a similar strategy for Cloud360 as well; the strategy to make any bug ineffective. Since it is not feasible to have control over all datacenter situations, the next best thing that we do is neutralize the effects of the bad elements that have the potential to de-rail the solution.  As a result, bugs are not allowed to disrupt work. If the Management Console is not connected, the Service Console continues to do its job.

The other approach that we take is to identify any potential issue that may affect the health of the environment so that necessary measures can be taken before any real damage is done. In software testing and compliance, any unintended change is the enemy of quality. Without confidence that each virtual machine has been properly configured and there is consistency across the environments, it is impossible to know if a system crash or slowdown is due to a bug or merely an incorrect patch level or system setting. Without proper and consistent configurations, there is no way to ensure that known security vulnerabilities (a leading cause of security breaches) have been properly closed in all affected systems.

Cloud360 deployments are loosely coupled such that if one component fails, the impact is confined to either just one or two use-cases and does not impact the whole system as such. This is applicable even if the network connectivity fails across components where the queuing kicks in. Since Cloud360 configurations work across provider platforms, any bugs that may result from differences between staging and production hardware are also eliminated. Cloud360 thus delivers improved software quality and compliance through increased consistency in the testing environment and standardization of platform.