Most system administrators are not only concerned with improving IT capabilities, but also how to best transition to a new environment. “How do I get my app, website, database or development environment onto a new infrastructure, with the least amount of hassle?”
Every day, Rackspace assists our customers with hundreds of migrations‑from websites, to applications, to databases. Here are some of our key best practices for a successful migration.
1. Gather Performance Statistics
Improving performance is one reason to migrate, and if you don’t have a clear picture of the server resources currently being utilized, you run the risk of post-migration performance issues.
Gather performance statistics for physical servers or hypervisors – you’ll need CPU usage, memory usage, network throughput, and disk input/output. Make sure you gather at least six months of data so you can identify peak usage requirements and trending data. Project your needs for the next year and build in a performance buffer. For instance, if your performance stats indicate average usage will increase by 50 percent over the next year, and peak usage demand spikes two times over average usage, you will want to build in a performance multiple of at least three times in order to comfortably handle performance needs.
2. Identify Opportunities to Virtualize
Virtualization can save money and reduce complexity by more efficiently using hardware. Our statistics indicate that a physical server costs between two and 10 times more than a server as a VM. Do you have servers with low resource requirements, are under-utilized, or have workloads running on aging hardware? These might be candidates for virtualization.
3. Inventory Your Physical and Virtual Assets
Determine the specific assets, architecture, and size of the infrastructure for migration by taking inventory of your current assets. Failing to take everything into account could result in additional costs and time to get your environment up to capability.
For physical servers, note the server model, operating system or hypervisor used, number of CPUs and cores, amount of RAM, amount of storage in use, and storage configuration.
For virtual environments, gather operating system, number of virtual CPUs, amount of RAM, and amount of storage assigned. Be sure to also identify which hypervisor the virtual machine is assigned to so you can allocate the right amount of resources to each VM.
4. Categorize Your Servers by Business Need
Match the right server environment to the workload you are migrating. This will provide you with the best capabilities for the job, without over-paying for what you need. Identify which servers provide business critical, business impacting, and non-critical functions so you can segment these into different environments based on the specific requirements (such as high availability for business critical workloads).
5. Define the One Overall Goal of the Migration
Identifying the main goal of your migration will help you decide what is really necessary, and what is nice to have. Improving application availability, reducing cost, upgrading operating system, or gaining operating system support are all examples of migration goals.
6. Record Your Bandwidth Utilization
Your end users will expect an equal, if not better performance level post-migration, so you need to ensure that you’ll maintain the same level of network performance. Monitor your current bandwidth utilization and identify whether WAN connectivity is sufficient, both in terms of throughput and latency. WAN circuits may need to be expanded to sustain current public traffic plus the added load of accessing remote applications.
7. Identify Aging or Obsolete Software
Is it time to upgrade to a newer version of your operating system? If you want better capabilities and performance, it might be. Hardware and operating systems usually need more resources to manage as they age. Security vulnerabilities can become more frequent. The bottom line is your total cost of ownership (TCO) tends to sharply increase with age, while the return on investment (ROI) decreases. Migration can lower the TCO and raise your ROI.
If you do upgrade, verify your application’s compatibility with the newer OS. For example, organizations are moving from Windows Server 2003 as it approaches end of life (read this blog post for more). Some older apps will require an update to run on Windows Server 2008 or 2012.
8. Determine New Technologies Available
Can you leverage cloud or SaaS applications to take the place of your existing app? This could be an opportunity to fundamentally change your infrastructure for the better.
For example, some of our email customers initially want to migrate Exchange Server into a hosted environment. After further exploration, some have instead moved into a Hosted Exchange environment and offloaded the ongoing management to Rackspace.
9. Think Long Term (and then Longer Term)
The last thing you want is to outgrow your environment a year after migration. Consider the long-term TCO when making purchasing decisions. Less expensive choices today can end up costing more down the road if you have to change environments often.
The key is to build into your infrastructure for both scale and flexibility capabilities so you can handle unexpected demands. Consider options like Managed Hosting with paths for future growth.
So Now What?
Rackspace provides both DIY and supported resources for migrations.