Wouldn’t it be nice if a quick internet search was all it took to learn everything you needed to know to build the latest and greatest technologies?
First let’s talk about system migration. The reality is that hardware and software ages and eventually needs to be replaced. As data systems become more and more complicated seamless migrations become more and more expensive and complex. I’m paraphrasing one of the speakers Christopher Brown, one of the lead developers for Amazon’s EC2 systems, companies like Microsoft and Amazon dedicate over a billion dollars to migrating systems to the next stage in their development. How do businesses who may make less than 20, 10 or even ½ a million dollars a year compete?
I think cloud technology is one of the great equalizers. One of the problems with the Google online solutions is the complexity. Christopher’s company OPSCODE helps larger businesses develop online solutions that help free businesses from the ball and chain that an on-premise network is becoming.
Yet what about medium and small business owners?
Just a few years ago I was working with a 10 million dollar company with about twenty servers all approaching 10 years of age. Instead of choosing the cloud the CTO chose a virtual on-premise system. Replacing the on-premise physical boxes would have cost between $100,000 and $150,000. Add the extended warrantee costs and the project before calculating software licensing and labor, was close to $200,000 dollars. The CTO chose an on-premise virtual system that cost about $150,000 and would run all the servers after they were converted from physical to virtual systems.
It’s was intriguing to see another speaker, Paul Morse Director of Cloud systems for US Micro, introduced a desktop virtual system that would do the exact same thing for about $15,000. The system runs 20 virtual servers with about 700 watts of power. Unlike most business quality servers the entire system can be run on a desk in the middle of an office without being highly noticeable.
If you are an IT architect looking for systems to test on, this system is designed for testing new environments. We know that part of migrating system is the migration path. One can do an “In-Place” upgrade where the original hardware is upgraded with new software. This is always risky because of compatibility issues with older hardware and undocumented changes that may have been made to the system. Plus there is seldom a roll back option when a problem occurs.
A better option is to build a duplicate environment that is an exact bit for bit duplicate of the production environment. Then testing and fixing problems in the duplicate environment as they come up. Finally the new environment becomes the production environment with a simple cut over process. The fall back is the original production environment if anything disastrously unexpected occurs in the new production environment.
I think about the headaches I could have overcome by placing a $15,000 sandbox of the entire system on every developer desktop. In my bank environment I had 5 test environments with 10 server types. The final production environment had over 200 servers, routing between four separate subnets and included 3 separate security access systems. Each test environment added complexity until the last environment matched the production environment component for component.
Today’s cloud environments could be built to support this type of development. Companies like Wowrack support custom virtualized environments for both software development and production environments in private and public cloud. Companies like Fuse Networks allow private and public hosted data and telecom systems with desktop incident management that support these types of scenarios. Finally there is the US Micro CriKit system that allows management of a virtual cloud right on the desktop. Virtual machines on the desktop can move through the test environment much more effectively than the on-premise way of doing things.
As the owner of a small Seattle IT Consulting firm, I’m wondering if these types of systems could be used in development, test or even as a replacement for a small production network?