When you’re considering cloud for your workloads and apps—and even more detailed, matching your apps with the right cloud—how do you choose?
Cloud computing offers a ton of benefits, but not all cloud environments are created equal. As we continue to see businesses adopting multi-cloud computing, which includes leaving some apps on-prem or in edge locations, it’s important to build a cloud strategy that takes into account the web of applications you’re likely managing. We’ve talked to customers with all kinds of needs, trying to figure out what makes sense for them—whether they’re shutting down data centers, adding burst capacity, setting up cloud DR, and lots more.
Understanding application modernization scenarios
Here are the common options available as you’re choosing how to migrate or modernize apps with the least disruption possible. These “Five Rs” offer a way to broadly think about your apps and their future. Not all apps will go through the same scenario, but having a consistent approach for visibility and operations—a solid cloud operating model—will help you reduce risk and speed up your journey to running every app in the right place.
1. Retain
This may not look that different from current, on-prem apps: it’s likely focused on supporting older, strategic business applications, often in a virtualized data center optimized based on key requirements including security, privacy, performance, and data gravity.
The decision to retain apps may consider the skills or knowledge of DevOps or business teams within the org, or the need to maintain siloes and enforce security policies depending on the larger IT strategy within the org. Local cloud can ensure good on-prem performance and high reliability and help establish consistency for a larger multi-cloud strategy. Even though these apps are retained in the data center, most organizations are improving data center operating environments so they’re more cloudlike—automated, responsive, and efficient.
2. Rehost or migrate
This refers to rapidly moving apps to any cloud based on the unique goals of the organization, matching the needs of each app to the best cloud environment. Rehosting refers to changing the infrastructure or operational aspects of an application without changes to the application itself or migrating as is. These apps are important; however, businesses can’t justify spending a lot of time or resources to modify the application code itself. In this case, they often want to get some cloud benefits without the expense of refactoring or re-platforming.
Rehosting applications from on-prem to the public cloud can be challenging, since it usually involves changes to the underlying infrastructure, necessitating changes to application code, operational tooling, processes, and more. Our common infrastructure approach at VMware makes it easier to rehost and continue running apps as is in the cloud without added time and development expense.
3. Refactor
“Refactor” refers to rewriting or writing an application from scratch with a cloud-native microservices architecture—the same process as building a brand-new app. The programming language may change, while the build, deploy and manage processes will certainly change. Refactoring an app lets you harness modern app design and cloud-native principles.
Whether you’re building new or refactoring the old, it’s possible to get the many benefits of cloud computing, particularly when using a modern platform like Tanzu, where you can build new apps or refactor old ones in the same place. Depending on which you choose, you’ll get the many benefits of cloud computing.
A major benefit of moving an application or application component to VMware Cloud on AWS or another hyperscaler cloud running VMware Cloud Foundation, for example, is that the application or application component is now close to higher-level public cloud services. Migrated applications can take advantage of low-latency, high-bandwidth, no egress-charge access to a plethora of cloud services or to another application that is running on the cloud’s native VM service.
4. Replatform
“Replatform” refers to deploying VM-based apps or app components in containers to take advantage of the uptime and flexibility of using a container orchestration platform like Kubernetes for management. This option helps improve app deployment speed while evolving to a more flexible, more reliable architecture.
Replatforming has traditionally been associated with rehosting, since many migrations starting as rehosting turned into replatforming when new code was needed to run vSphere-based apps to run on cloud-native hypervisors. Now that rehosting is a reality with VMware’s platform, replatforming truly refers to containerizing a traditional app, making app lifecycle management easier.
It’s also important to consider OSS-based application platform services, since there’s a lot of innovation happening in this space. Many OSS vendors are now providing Kubernetes Operators for their offerings, meaning that they have automated the deployment, lifecycle, and possibly some aspects of operation using Kubernetes. Since Kubernetes is now built into vSphere, it is easy for businesses to take advantage of these Kubernetes Operators in their vSphere environments. Many vendors also offer managed versions of their solutions, and these OSS projects run seamlessly on top of VMware.
5. Replace (sometimes called Retire)
This R is usually part of a company’s overall drive toward delivering core apps as SaaS while also supporting ideal user access, cost governance, and security. A business may determine that it’s time to eliminate an application entirely—but then has to figure out how and when to do that without interrupting user or business needs or adding complexity.
When an application is decommissioned, and either replaced with something else (often SaaS-based) or end-of-lifed, winding it down can take significant time. We provide the opportunity to treat these applications in the “rehost” category until they are ready to be decommissioned. This way, application retirement won’t prevent data center evacuations or other urgent activities. This eliminates having many business-directed actions tied up waiting for these applications to go away. Instead, businesses can parallelize their efforts around modernizing some applications and shutting down others.
Whatever your app modernization plans, VMware can help—our VMware Cloud is available on 4,000 cloud sites in over 128 counties, including on all leading hyperscalers. Get more detail in this deep dive: The Counterintuitively Fastest Path to App Modernization.