Virtualizing the production environment – is it that simple???

For a sometime there has been no doubt that cloud computing offers many benefits for the traditional data center. For that reason most of the traditional data centers migrated to cloud computing architecture. In addition, it has become easier to migrate exiting servers to be part of a cloud. So why have all data centers not migrated?
There are some valid reasons why not, those including ROI (which will be discuss on the next blog) especially when we’re talking about production environment that have zero tolerance for downtime. In this blog I’ll talk about the risk and downtime
Here are some of the challenges we face when migrating production environment:

1. As I mention above – why migrate? Most stakeholders will reject that change; for them “if it works, leave it”. What action needs to be taken to satisfy their needs  after the change

2. Of course you do not migrate all servers, so which servers will you?

3. How do we do this migration transparent to the stakeholders? After all, we want the stakeholder to have same level of support….
4. How can we avoid downtime?

5. How can we prevent the migration from being the scapegoat for unrelated failures after the migration?

There are no clear answers to those question, but I’ll try to give some tips that can answer some of those, or at least give a direction
When someone wants to migrate existing production physical servers to be virtual, they should consider the following for planning design and implementation:

1. Note that virtualizing production servers is a major change, so consider in advance what to migrate, enroll your stakeholder in the process to understand business impact and get buy in.

2. Do not migrate every server by default. Choose well in advance the server to be migrate and avoid unwanted migrations. Start with the server criticality; with the application owners, you should define if the server is critical enough and should it get “personal” treatment and not be part of the farm

3. For the same reason as #2, check if to migrate server by resource utilization - in case the server utilization is too high up to the host resource capabilities, the host will probably host only that server, and there is no real reason for that.

4. When designing the virtual environment to host the migrated servers, leverage capacity planning process and understand the resource requirement for each application (capacity planning is a process to check overall capacity usage of physical servers). Although the capacity planning results with low resource utilization you must take into account the current resource of the servers and the server’s owner requirements. There might be a reason for the amount of physical resource, and we don’t want to have lack of resource in production server, not even for 1 minute.

5. As we’re talking about the production environment, we don’t want to be surprised, add to your plan the future growth of your factory and add resources accordingly. Check with your management the production forecast for the years ahead, and together with the servers\applications owner check future resource needs and design the virtual environment accordingly.

6. Although it shouldn’t be a consideration, note that the migration process will require system downtime. Although the migration can be done on-line (some operating system require a server restart) it’s preferable to have schedule server\application downtime for each migration. So understand with your management the possibilities for downtime and plan your migration accordingly.

To summarize, like every technology improvement, when we’re talking about production environment, we need to look at all considerations and find the answer to them.
I hope you find these tips helpful. Please share any tips you have or let me know of any additional concerns

Have a fun and safe migration