As more enterprises in more industries turn to cloud solutions, we are seeing an increase in certain kinds of challenges. One that is particularly interesting involves moving legacy applications to a cloud environment.
The challenge of legacy applications gets to the heart of some of the key differences between a cloud solution and traditional solution. One great advantage of the cloud is that it disconnects the dependency between this specific application and that specific hardware. In the cloud, applications usually do not live or die because of a specific piece of hardware.
The role of hardware
However, legacy applications actually can live or die because of a specific piece of hardware. Pre-cloud, the way you met the demand for application reliability and availability was, in no small part, by running the application on reliable hardware. If you had a mission-critical application, you would turn to best-in-breed server hardware. Similarly, you would design in redundancy through redundant power feeds, redundant server power supplies, multiple network interfaces and redundant switch infrastructure.
The focus on using only the highest-quality physical components does not apply in public cloud environments. Public cloud is built on low-cost commodity hardware, designed with the fault domain at the rack level, with the expectation that all servers in a single rack will and do fail. The availability/reliability strategy for public cloud is to address redundancy at the software level.
Cloud native applications
Cloud native applications do not rely on hardware for their reliability and availability. Instead, they typically have many instances running on many servers. The instances may be spread across the public cloud provider’s data center or even across multiple regional data centers, so cloud-native applications handle scale very well, by design. This is in sharp contrast to legacy applications, which are usually single-instance and expect the underlying hardware platform to be resilient.
Therein lies the problem. A legacy application relies on hardware for reliability and availability, but the cloud disconnects software from hardware, leaving a significant gap. In fact, many public cloud providers will not provide a Service Level Agreement (SLA) for a single-instance application, since their ability to meet SLAs relies on their ability to leverage multiple instances for redundancy.
A range of options
If you have a legacy application you want to move to the cloud, what’s the best way to proceed? Should you accept not having an SLA, and focus on being able to bring your application back up as quickly as possible if it fails? Should you reconfigure the application with an architecture for public cloud, or even redevelop the legacy application completely to work with a public cloud?
These options aren’t without downsides. If you can live without an SLA, doing so might be a suitable alternative, provided you can tweak things enough to get the recovery time inside an acceptable recovery window.
Similarly, if you don’t need web scale, then keeping your application’s traditional architecture, with a few tweaks for cloud-enablement, might suffice. The issue with traditional legacy application architecture is that it often transfers poorly to the cloud. Completely redeveloping the legacy application for the cloud will address most issues. However, unless you specifically need the scalability of cloud-native applications the cost of redevelopment can make it difficult to achieve a reasonably timely ROI.
Dell Services can help
At Dell Cloud Services we help our customers overcome challenges like this every day. With legacy applications, we meet the challenge head-on. For example, we can simply move your application directly into Dell Cloud Dedicated Service — Dell’s hosted private cloud. The critical difference with this choice is we do provide an SLA, even for your single-instance application. We can perform the migration live to avoid downtime. We also provide security above the hypervisor, for additional peace of mind. You get the benefits of a stable, secure private cloud environment with the protection of an SLA, without the expense of modifying your legacy application.