When you reach the maximum threshold of what your storage system can deliver either in terms of capacity or performance, you often have an ugly decision to make: buy another system and start moving workloads to it, or replace your current system with a faster system that can support higher capacities. The first option increases your management burden, the second has the pain of data migration, and both affect your budget.
Scaling is an issue only for data centers that are experiencing rapid growth in either performance demands or capacity demands. Thanks to server virtualization, as well as the increasing importance of backoffice and customer-facing applications, many data centers are facing a scaling issue.
Most modern storage systems will allow you to upgrade to a new storage head or controller and plug in the current disk shelves to it. This allows you to gain faster performance without having to add additional points of storage management and not have to migrate data to the new system. It also means that the investment in the original storage head is wasted money, making this approach less popular.
Another alternative is to just buy another system and move some of the workloads from the old system to the new system. This approach allows you to continue to take advantage of the current storage investment while at the same time gaining a performance boost. This does increase the points of storage management and it does mean having to migrate some data to the new system.
Management of multiple systems, unless you are dealing with dozens of them, is less of an issue than vendors often lead you to believe. As long as you did not drastically underestimate your growth potential, you will likely only end up with one or two extra systems to manage. Most storage mangers can handle managing two or three storage systems. Clearly, if you get into the realm of managing a dozen separate storage systems, some consolidation, or at least a multivendor storage management tool, is going to be in order. For many environments though, two to three storage systems is a manageable number of systems using the default tools.
The challenge is really data migration, or how do you quickly move data between storage systems? There are a lot of migration tools, but these are typically thought of as one-way-only migrations and often require that the application be down during the transfer. Hypervisors like VMware may be a great alternative because they have the ability to migrate virtual machine image files from one storage platform to another while the virtual machine is still active.
What if you are not virtualized, the application you want to move to a new system is not virtualized, or you don't want to suffer a performance impact to your virtual environment while the migration occurs? Several storage vendors have stolen a page from VMware's book to offer live migration between their storage heads. This means that data can be migrated from one system to another in real time while the application stays up and running.
This brings a whole new form of scaling to the data center. If you run out of capacity, need more performance, or need more I/O, a new system can be added and volumes moved to it as needed. This live migration capability also brings more flexibility. No longer do you have to accurately project what your storage performance and capacity needs are going to be three years from now, nor do you need to pay in advance for capabilities that you won't need for several years. Buy a lesser system with capabilities for this year and maybe next, then add a new system, probably at cheaper prices, when the need arises.
This ability to live migrate volumes between storage systems gives a scale-out capability to more traditional storage architectures, but it does not meet the classic definition of scale-out storage. In an upcoming entry we will compare how live migration compares to scale-out storage.
Follow Storage Switzerland on Twitter