Watching the huge volume of Twitter traffic from disgruntled customers, it has become clear that the IT systems and applications supporting customer-facing activities in retail storefronts, educational institutions, pharmacies, medical clinics, and government offices require an upgrade. The issue, as I see it, is a dramatic need for improvement in the availability of applications.
Many, if not most, of the customer/client-facing offices have been operating for years with applications running on a single server or even a personal computer in the manager’s office. Point-Of-Sale (POS) terminals and customer support terminals may be deployed throughout a location, and some may be able to operate independent of the primary server, but often without complete access to all functions. The same may be true for environments that leverage a combination of private-cloud, central-office applications as well as customer-side applications.
It would be wrong to over-simplify the issues or paint all application-availability issues with a single solution brush. Many components are required to keep applications up and running, and a failure in any component can cause applications to go down. Possible culprits include:
- Application software bugs
- Operating system software bugs
- Network outages
- Database corruption
- DNS attacks
- Server hardware failures
- Storage hardware failures
The issues around server and storage failure, while infrequent on a per-location basis, rapidly become non-trivial when viewed from the perspective of tens, hundreds or thousands of locations. And while the inability to purchase a hamburger from your favorite fast-food outlet, because the computers are down, may not be life threatening, the inability of a pharmacy to dispense medicine may be. Regardless of the situation, angry customers switch, and in the process, they tell their friends, and they tell the world.
High-availability server/storage offerings have been available for decades and with the advances in hypervisors from Citrix, Microsoft, VMware, Oracle, and others, the ease with which applications can fail over between two servers running in an active/active or active/passive cluster has improved dramatically. The issue in solving this portion of the application-availability challenge has not been technological capability, but rather affordability. The per-location budget for IT infrastructure is extremely low, and most of that budget is absorbed by the development and deployment of new applications to enhance the customer experience, not on the hardware infrastructure to support it.
Clusters require shared storage. Shared storage typically has meant a SAN or NAS, and with it, additional components, such as switches, cables, and management terminals. They also require additional training, and most customer-facing locations have limited or no on-site IT staff.
Over the past several years a number of suppliers have announced and delivered software that virtualizes the internal storage of a server and made it shareable across a two or three-server cluster. This dramatically decreases the cost and complexity of server-cluster deployments. In addition, some solutions enable centralized management of the hardware infrastructure for both servers and storage, by integrating with the management console of the hypervisor supplier, or by providing a tool for centralized management of multiple, distributed locations. In that way, the lack of on-site IT staff does not become an impediment to rapid restoration of applications. Finally, software refreshes are much more frequent than hardware refreshes, software often being on a two-year cycle, with hardware being on a four to six-year cycle. The ability to non-disruptively perform staged software upgrades from a central location to each node of a server cluster provides a tremendous cost savings for large, multi-site organizations.
Action Item: Organizations that operate multiple branch offices should evaluate affordable two-server clusters, built upon their hypervisor of choice, to replace existing, single-server deployments. This will improve application availability, customer satisfaction, protect revenue and lower the cost of IT operations. As part of that evaluation, consider storage virtual applications that enable a low-cost, shared storage infrastructure to support application high availability as well as centralized management and software maintenance.