When you’re transitioning your organization from on-premises servers to the cloud, you have to decide what to do with your legacy applications.
Broadly speaking, there are three paths for cloud migration:
- You can rehost an application without making major changes, but you may miss out on many of the advantages of cloud migration.
- You can rearchitect an application from the ground up, but that can be time-consuming and expensive.
- You can replatform, in which you retool an application for the cloud without changing its core architecture. Think of replatforming is the middle path between rehosting and rearchitecting.
Read on to learn about the advantages and risks of replatforming and how to decide when it’s the right approach.
Rehosting, Rearchitecting, and Replatforming
To understand what replatforming is, we first need to differentiate it from other cloud migration options. Keep in mind that there are no hard lines between these three methods, just differences in how you allocate your company’s time, budget, and priorities.
Rehosting is commonly referred to as the “lift and shift” approach because you lift an entire application from your internal servers and shift it to the cloud without changing anything.
Advantages: Rehosting is the most cost-effective option for cloud migration, or at least it requires the least cost upfront. It also requires the least time and technical know-how and avoids the risk of creating major problems by tinkering with legacy code.
Disadvantages: While rehosting projects are meant to be the simplest of all cloud-migration options, they can come with unexpected complications. As the Doppler blog discusses, rehosting projects can suffer issues stemming from IP address changes, tangled webs of application dependencies, and longer-than-expected outage windows.
On top of that, even if a lift-and-shift project goes according to plan, you still miss out on the benefits of truly cloud-native features.
When to use it: The rehosting approach works for simple applications with few integrations and dependencies, as well as applications for which you need to migrate quickly, minimizing downtime. It’s worth noting that you can always start by rehosting an application and then make bigger changes to it later.
Rearchitecting, also known as refactoring, involves changing significant portions of your application’s codebase to fit the cloud environment.
Advantages: Rearchitecting lets you fine-tune every part of an application to take advantage of the cloud. That can net significant savings if you pare down your resource use, so you’re not paying for cloud hosting you don’t need. Rearchitecting lets you build flexibility into your application and replace outdated code with modern, efficient code.
Disadvantages: Rearchitecting is the most costly and time-consuming cloud-migration process, and it requires the highest level of coding skills from your DevOps team. Even the best engineers risk introducing errors by tinkering with legacy code, especially if they didn’t write the original version.
When to use it: Rearchitecting is a good choice for long-term projects where you can afford to wait to reap the ROI benefits, and where those benefits will justify the initial cost. Rearchitecting is also a good choice for major retools, where you want to add multiple new components to an application at the same time rather than piece by piece.
Replatforming involves changing and updating specific components of an application. These changes allow the application to function in the cloud, and often result in better scalability, user experience, security, or profitability. You can replatform while transitioning an on-premises application to the cloud or replatform an application you’ve already rehosted. The term replatforming is often associated with eCommerce, but it applies to any industry.
Advantages: Replatforming requires less time and money than rearchitecting, so if you choose the right elements to update, you’ll see an ROI faster. These days, you can choose to purchase “plug and play” third-party SaaS components instead of coding all-new solutions in-house, so replatforming requires less specialized coding expertise. This approach lets you tackle one area of the application at a time while keeping the rest intact and functional in the cloud.
Disadvantages: Replatforming projects can balloon in scope until they’re essentially rearchitecting, so it’s crucial that you focus on changing only the specified features. Developers need to keep code-tinkering to a minimum and focus on integrating with cloud-native features and open-source code.
When to use it: Replatforming is the right path when you can identify a clear ROI for adding new features in the cloud but want to avoid the expense and downtime of a full rearchitecting. For example, one common candidate for replatforming is database hosting. Cloud database storage lets you scale up as needed, and data migration to the cloud makes data more resilient because an on-premises server can fail, but distributed cloud servers provide multiple layers of redundancy.
User Migration Your WayDownload the eBook
Why Replatform Your Identity Solution
The first step in choosing what changes to make during replatforming is to weigh cost versus ROI. One appealing candidate that can deliver major savings is identity and access management (IAM).
In the past, IAM solutions were “hardcoded” into apps. Each one came with its own login system and its data silo for user management. But this approach made apps fundamentally brittle — incapable of integrating with one another to create a single view of users across applications. In that model, IAM was a cost rather than an asset.
Today, more organizations take advantage of cloud-native identity-as-a-service (IDaaS) platforms, which are designed with adaptability and transparency in mind. By updating your application with an IDaaS solution, you can take advantage of newer features, such as social login, multi-factor authentication (MFA), and single sign-on (SSO).
These features deliver a high ROI, both in terms of savings and top-line revenue benefits. For instance, social logins can increase conversions and improve customer experience because end users don’t have to fill in complicated registration forms to create an account. MFA is increasingly considered a requirement for cybersecurity. Offloading identity can also decrease the maintenance costs of updating protocols for legal compliance in a post-GDPR world.
These advantages hold true across use cases:
Workforce IAM: Cloud-native IAM allows for easy management of distributed and remote workforces, letting admins grant and revoke permissions with the flip of a toggle.
B2B IAM: An API-first architecture enables back-end integrations with enterprise customers who are already on the cloud, regardless of what stack or language they use. A sophisticated approach to identity helps companies meet the business requirements of their customers.
CIAM: Providing a sophisticated identity platform is critical for user experience because legacy identity management frustrates customers and shows your application’s age.
Replatforming Is Part of a Smart Digital Transformation
Generally speaking, your platform should be like CGI in a movie: if people take notice of it, it’s probably not very good. Your customers, employees, and business partners have all come to expect lightning-fast speeds, smooth interfaces, and appealing graphics from every application they use. Updating their most critical touchpoints is critical in keeping up with the state of the business. Replatforming lets you make the upgrades that count while making the most of your organization’s resources.
The Auth0 Identity Platform, a product unit within Okta, takes a modern approach to identity and enables organizations to provide secure access to any application, for any user. Auth0 is a highly customizable platform that is as simple as development teams want, and as flexible as they need. Safeguarding billions of login transactions each month, Auth0 delivers convenience, privacy, and security so customers can focus on innovation. For more information, visit https://auth0.com.