Modern apps are powering the most successful businesses. From Amazon to Google. Fiserv to Cerner. VMware, too. Because of it, modernizing legacy business-critical apps is on every IT leader’s mind. The big questions now are which apps, how, and when to transform.
As I wrote in the counterintuitively fastest path to app modernization, there are many ways to modernize your apps. But to meet CIOs’ key app modernization requirements, including guaranteed speed and success, will take a somewhat counterintuitive path. And approaching cloud differently will accelerate your path to app modernization.
So now, it’s time to get practical and talk about nuts-and-bolts solutions supporting the app transformation journey.
When and How to Modernize Your Apps
By way of reminder, app modernization typically has five possible outcomes:
- Refactor / Build New
A refactoring/build new approach means that one or more of the app components are rewritten (or sometimes the entire app). The programming language may change, the application architecture will likely change, and the build process will almost certainly change.
Replatforming refers to moving an app or app component to a new infrastructure, possibly changing the app a bit to take advantage of that new environment. I’m referring to the context of moving into a Kubernetes environment—which is quickly becoming the most popular container orchestration model.
Rehosting is making changes to infrastructure or some operational aspects without changes to the application itself. Businesses generally have important uses for these apps, but at the same time can’t justify spending a lot of time or resources to modify the app itself.
Replacing and retiring are both cases where the application is going away, often because a SaaS-based is cheaper and easier or the app’s functionality is no longer needed. Even if this is the case, these transitions take time to be decommissioned, and organizations must parallelize efforts around modernizing and shutting down certain applications.
Refactor: Rewrite Apps to Microservices Architecture
To help organizations more readily refactor their applications quickly and securely, VMware introduced the Tanzu family of products with Build, Run and Manage alignment to the application lifecycle stages:
- Build– We give developers a robust programming environment to write applications. Using Spring, Spring Boot (for microservices), and Spring Cloud (with common patterns in distributed systems), developers can build a robust, distributed application quickly and effectively. They then run that app in production in Tanzu Application Service, knowing any components or libraries that it needs are there and have been vetted already because it’s in the Tanzu Application Catalog.
- Run– We provide a Kubernetes runtime for modern applications, simplifying the provisioning and management of Kubernetes clusters with Tanzu Kubernetes Grid (TKG). Each Kubernetes cluster is standardized and upstream compliant, meaning complete consistency and portability, even across clouds.
- Manage– We deliver Tanzu Mission Control (TMC) to efficiently and effectively manage Kubernetes across clouds that is a central management portal for Kubernetes across clouds. It handles identity and access for admins and devs across all clusters, manages cross-cluster configuration and security, drives audit and compliance (via Sonobuoy), and provides data protection (via Velero).
Beyond these capabilities, we have Tanzu Observability by Wavefront. It’s a highly scalable metric store and analytic service, enabling organizations to identify anomalies and root cause of the underlying issue before end users are impacted.
The broad Tanzu product family helps organizations both refactor existing applications as well as build new apps from scratch. It provides great choice and flexibility in how and where apps are built, run, and managed, while ensuring security and compliance throughout.
Replatform: From Virtual Machines to Containers and Public Cloud
Because more than about 70 million applications run on vSphere in aggregate, and because our customers want to move quickly and successfully to Kubernetes (or K8s), we built Kubernetes into vSphere 7.
Here’s how they work together:
- vSphere 7 includes an integrated Kubernetes container orchestrator.
- vSphere 7 leverages Kubernetes as an infrastructure interface, leveraging and extending the Kubernetes API to support all application types (including virtual machines, or VMs), allowing Kubernetes to be used to manage all applications running on vSphere—with only minimal changes.
Our solution here ensures organizations can embrace Kubernetes and realize its benefits for all applications. Specifically, it means every application can be defined via a declarative Kubernetes manifest. And this manifest can include both the refactored and replatformed components.
Every application now can be managed as a container image (even if it has a full VM image inside), giving developers and administrators the ability to divide the image into layers that can be independently managed. The application container images can be stored in central container registries (repositories of container images), so the images for all applications—old and new— can be managed together. All these application images can be automatically scanned for known common vulnerabilities and exposures and cryptographically signed to prove their provenance and that they’ve passed the security checks.
Self-service is a key benefit for developers and DevOps teams from having a direct Kubernetes interface into the infrastructure. They get the ability to provision and manage applications. And because it’s Kubernetes, it means these teams can take advantage of the broad ecosystem of Kubernetes innovation, such as service mesh technology and new Kubernetes Operators for devs from database, messaging system, and other vendors. And again, it’s all vetted through the Tanzu Application Catalog so CISOs have peace of mind.
With familiar vSphere under the covers, all the tooling, training, and skillsets organizations have invested in continue to be applicable even to these containerized applications. Plus, replatforming goes much more quickly because Ops teams leverage all their existing tooling, even for new apps while devs and DevOps teams get all the benefits of the new platform.
For IT leaders considering moving an app or app component to VMware Cloud on AWS the benefit is even greater as our technology moves the app/app component “close” to higher-level AWS services. Architecture matters and because of the way we’ve designed vSphere, in addition to moving customer apps around, we also can bring vendor functionality to the customer’s app. For example, Amazon RDS on VMware is an instantiation of RDS on VCF. Azure IoT Edge runs on VCF as well. And businesses can integrate these offerings across vendors.
CIOs have many options for how to replatform but VMware is the best option if you are looking for speed and lower risk.
Rehost: Migrate As-Is to Cloud
To facilitate transformation, VMware delivers consistent infrastructure across locations to wherever the organization wants to run its applications. We do this through a foundation infrastructure building block, VMware Cloud Foundation (VCF), which creates a software-defined data center (SDDC) with virtualized compute, storage, and networking.
Using VCF as a building block, customers have unprecedented choice in how they consume SDDC infrastructure, particularly along these two dimensions:
- Location (on-premises, service provider data center or COLO, and at the edge)
- Consumption model (as software or as a service)
Without changing the application, enterprises can derive tremendous value by rethinking infrastructure location and consumption models. Consider the savings of “bursting” capacity or gaining processing power for retail ML apps on demand.
The key takeaway: Simply by evolving the infrastructure underneath the apps, VMware helps transition apps while delivering additional benefits. For example, for businesses looking to get out of the data center business, to burst capacity, or for disaster recovery to the cloud, VMware Cloud on AWS and VMware hybrid clouds provide the following benefits:
Replace & Retire: Typically, with SaaS
CIOs will decide some apps just aren’t worth keeping. However, until they are no longer being used, IT teams need a way to handle apps being replaced and retired until decommissioning.
VMware puts these targets into the rehost category to avoid app retirement just until teams are ready to pull the plug, preventing key business-directed actions such as data center evacuations. This ensures organizations can parallelize their efforts around modernizing and shutting down certain applications.
VMware Accelerates the Journey to Your Future State
VMware uniquely helps organizations of all types and sizes achieve their future state directions—whether or not VMware software is part of it. For example, we are the right solution to support teams migrating apps to a strategic public cloud partner.
With many apps already running on the VMware digital foundation on-premises and through our cloud infrastructure, businesses can easily rehost apps—spending the bulk of their investment not on migration but on replatforming apps for the native cloud. Once business leaders prioritize apps, VMware teams with and empowers IT leaders to align to business priorities while providing maximum choice in how to achieve goals.
Yet when VMware is the future state, organizations enjoy even more benefits because VMware’s cloud is differently architected than traditional public clouds. Not vertically integrated, but horizontally distributed. Our architecture gives IT teams maximum choice in where they place applications, the services those apps consume, and how they operate and manage apps and infrastructure.
As your organization looks to accelerate your app modernization, ask yourself how much flexibility and choice matter. Whether your future-state direction right now may change. And if you believe it will, having options is important. That’s why VMware is architected for change.
Download the whitepaper to learn more.