Clients Want to Know More about Cloud Migrations
I know most of my posts tend to focus on email and email archiving migrations, probably because I’ve been doing them since last century. However, as I’ve been helping clients modernize various aspects of their IT environments, they keep asking me questions about the specificities of cloud migrations. That made me realize that a post about what you need to know before migrating to the cloud might be a good idea.
We know that cloud computing introduced a dramatic change in the way businesses use and manage their IT resources and leveled the playing field. The cloud allowed organizations to access a wide range of computing resources and services, such as servers, storage, databases, networking, and software applications, without having to invest in costly hardware and infrastructure.
Thanks to cloud computing businesses have the flexibility to scale their IT resources up or down on demand without upfront costs or long-term commitments. This has made them more efficient from an operational point of view, more adaptable to market changes, and more agile in responding to new opportunities.
In addition, a cloud infrastructure also provides enhanced security, improved collaboration, and better disaster recovery options. These added benefits make it a valuable tool for businesses of all sizes and types.
However, this doesn’t mean that all businesses have an identical cloud migration journey. At iShift, we believe that every organization is unique, has unique needs, and, therefore, its transition to the cloud is unique. And so, as far as I am concerned, the cloud journey doesn’t have a preferred route. The one you choose to take depends on your industry, current infrastructure, available technical talent, and budget constraints, to name just a few considerations off the top of my head. There are more for sure.
More than One Way to Reach for the Sky
Cloud computing offers many advantages to organizations, including the ability to reduce their support footprint and scale instantly. However, migrating to the cloud can be complex and requires careful planning to ensure a successful execution.
To help organizations navigate the cloud migration process, the iShift Cloud Migration team took the “5 Rs Framework” initially published by Gartner and developed it even further. After all, Gartner does not perform migrations, we do – a lot of them…
Each R outlines a different way companies can go on their journey to the cloud. Let’s examine and identify what sets each approach apart.
Commonly referred to as “lift and shift,” rehosting is a popular cloud migration strategy. It involves moving applications and workloads from an on-premises data center to the cloud without significant changes to the application architecture. It is a relatively straightforward and quick way to migrate to the cloud because the applications are moved without modifying their underlying code.
There are, nonetheless, several downsides to consider:
- Limited cost savings: One of the main reasons organizations move to the cloud is to save costs. However, when using a lift and shift strategy, cost savings may be limited since the applications are moved without any optimization or changes that take advantage of cloud-specific features, such as auto-scaling or serverless computing.
- Limited scope for innovation: Simple rehosting is likely to miss the opportunities for innovation cloud-native services offer, such as machine learning or analytics, which can help drive advancement in modern IT.
- Limited scalability: Rehosting may also limit an organization’s ability to scale up or down as needed. Cloud providers offer a range of services to help scale workloads dynamically that a lift-and-shift cloud migration cannot take advantage of.
- Increased complexity: If there are many interdependencies between applications, the move to the cloud can also, paradoxically, increase complexity. Without careful planning and design, rehosting applications can lead to more complex architectures.
- Increased management overhead: Rehosting involves virtualizing the servers and running them in the cloud. However, like the servers on premises, they still need to be maintained and patched. This can be a time-consuming task that requires specialized skills and resources. One way you can overcome this challenge is to offload it to a SaaS application.
- Security risks: Finally, rehosting can also introduce security risks if the applications aren’t properly secured. A comprehensive security audit is an absolute must to ensure the applications are configured correctly to take advantage of the cloud provider’s security features and avoid exposing vulnerabilities that could be exploited by attackers.
Overall, lift-and-shift can be an effective migration strategy for many organizations. At the same time, it’s important to consider its shortcomings and ensure that it’s the right strategy for your specific needs and goals.
To sum up, rehosting is the fastest and least expensive way to migrate to the cloud. I have to say that this method is probably the one I like the least. The main reason for this is that it does not take advantage of the cloud capabilities that made cloud technology revolutionary.
Refactoring, sometimes referred to as “rearchitecting,” is a process of modifying the software codebase and architecture to take advantage of the cloud’s capabilities, such as scalability, flexibility, and security. This approach can help you optimize your applications for the cloud. As a result, you will achieve better performance, lower costs, and improved reliability.
For that exact reason, refactoring is dramatically more time-consuming and expensive than rehosting. It requires significant planning, design, and development efforts. Also, it may likely involve the use of tools and technologies that require additional training and expertise.
Based on my personal observations doing cloud migration, refactoring is probably a worthwhile approach for the following type of organizations:
- Enterprises with large applications and legacy systems: Refactoring is a viable strategy to modernize older applications, improve codebase maintainability, and make them more efficient and scalable.
- Organizations with high traffic websites or applications: Refactoring can help organizations handle high traffic volumes and ensure their websites and applications remain performant and reliable.
In general, refactoring is worthwhile for organizations that want to fully maximize the investment in their cloud transformation. By rearchitecting applications for the cloud, they can achieve better scalability, availability, and resilience. In turn, this will help them meet their business objectives more effectively. However, refactoring is an expensive migration strategy that involves a lot of complexity and requires serious preliminary preparation and design.
Revising, also known as “re-platforming,” involves making minor changes to an application’s architecture to optimize it for the cloud. This approach can help organizations take advantage of some of the cloud’s capabilities while minimizing the need for significant changes. It is more time-consuming and expensive than rehosting, but still much simpler and cheaper than refactoring.
Re-platforming allows you to quickly transition to cloud without having to invest a considerable amount of time and resources in the move. In a way, it strikes a balance between making necessary changes and reducing the costs and risks of moving to the cloud.
Revising is particularly useful for businesses that have applications designed to run on-premises and need to become “cloud-ready”, for example:
- Enterprises with legacy applications that need to be optimized for cloud environments without having to redesign their entire application architecture.
- Small businesses that want to take advantage of the cloud without investing time and resources in refactoring their applications.
- Companies that want to ensure their new applications are designed for cloud environments from the outset.
Overall, re-platforming can be an effective way for organizations to modernize their applications and take advantage of the benefits of the cloud without incurring significant costs or risks.
Even though we consider rebuilding one of the 5 Rs in cloud migration, it’s a bit of a misnomer. Here is why. Rebuilding an application in the cloud involves recreating the application architecture from scratch, not migrating anything from an on-prem environment. It requires designing new application components that use cloud-native services and modifying the application’s codebase to run natively in the cloud. As you can imagine, this process can take a significant amount of time and resources. In addition, it requires engaging with cloud experts, developers, and DevOps teams. And really this is more refactoring an application.
When iShift looks at rebuilding, we look at rebuilding a server in Azure. The reason for this approach is that in our clients’ environments most applications on-premises are running on a server or in a cluster. So, rather than rebuilding an application (that will still need to run on a platform in the cloud), we look at whether the server can be rebuilt in the cloud and have the applications run there.
The advantage of this methodology is that we eliminate the high cost and time constraints of refactoring the applications. So in a way, rebuilding a the server or platform the iShift way is a type of rehosting, as it were, but with some perks. It is considerably better than the old “lift and shift” for a very important reason: server VMs built in Azure do not need Active Directory Domain Services deployed. Right there, we have significant savings in terms of management and cost.
If you still want to know what rebuilding an application involves, read on…
Given the complexity of rebuilding cloud-native applications, it goes without saying that not every application is necessarily a candidate for that cloud migration strategy. There are some scenarios, however, where it makes sense to consider making it a strategic IT project:
- If you have an old or outdated legacy application that is difficult to maintain, scale, or secure, rebuilding it with cloud-native services makes sense. You will adopt modern cloud-based architectures that improve performance, reliability, and security, as well as dramatically reduce the overhead of managing it.
- Applications that are resource-intensive, such as data analytics, machine learning, or high-performance computing, can also benefit from rebuilding in the cloud. Cloud-native technologies, such as serverless computing and containerization, allow you to scale the application dynamically and reduce infrastructure costs.
- If you’re planning to use a multi-cloud or hybrid cloud environment, rebuilding the application in the cloud can ensure compatibility and portability across different cloud platforms.
- Applications that require high scalability and performance, such as ecommerce, social media, or online gaming, can benefit from rebuilding in the cloud.
We should note that rebuilding also carries significant risks as it involves starting from scratch and potentially introducing new issues. In addition, rebuilding may not always be the best option because it may not be cost-effective or necessary to fully redesign certain applications. Therefore, when deciding whether to pursue the rebuilding approach, you should carefully evaluate your application portfolio and consider factors, such as business needs, cost, and technical feasibility.
In summary, rebuilding in the cloud can be a good migration strategy when an application needs to be modernized, is resource-intensive, must run across multiple cloud environments, or requires high scalability and performance. However, if available, a better path would be rebuilding a server platform in the cloud and re-installing the applications there.
Like rebuilding, replacing isn’t migration proper. It involves replacing an on-prem application with a new, cloud-native (SaaS) application. This approach involves retiring the existing system and implementing a new cloud-native solution that can deliver the same or, most likely, improved functionality.
When deciding whether to use replacing as your move to the cloud, consider these factors:
- Age: If the existing system is old and outdated, replacing it with a cloud-native solution may be your best option.
- Cost: If the cost of maintaining and operating the existing system is high, replacing it with a cloud-based solution may be more cost-effective in the long run.
- Scalability: If the existing system cannot scale effectively to meet the demands of the business, a cloud-native solution may be needed.
- Security and compliance: If the existing system does not meet current security and compliance requirements, a cloud-native solution may be necessary.
- Technical incompatibility: If the existing system isn’t cloud compatible, replacing it with a cloud-native solution may be the best option.
In general, replacing as a cloud migration strategy is most suitable for organizations that are looking to modernize their technology stack, improve scalability and reliability, and reduce the cost of maintaining their existing infrastructure. However, make sure you evaluate carefully the costs and benefits of this approach before making a decision.
Also, keep in mind that if the software platform currently being used on-premises has a “cloud counterpart”, in other words, if the vendor already has a cloud offering, you will have an easy way to migrate to it.
Choosing the Right Approach to Move to the Cloud
Choosing the right cloud-migration approach depends on your organization’s specific needs and goals. For example, businesses that want to migrate quickly and cost-effectively may opt for rehosting. On the other hand, those that want to optimize their applications for the cloud may choose refactoring or revising. Those that want to take full advantage of the cloud’s capabilities may opt for rebuilding or replacing.
The 5 Rs framework provides a useful starting point for planning your cloud migration strategy. By carefully considering the specific needs of your employees and your business goals, you can determine the right R that will ensure a successful migration. Regardless of your choice, be cognizant that every cloud migration requires careful planning and execution. Furthermore, ongoing post-migration management is crucial to ensure that your organization’s workloads and applications are running smoothly and efficiently in the cloud.
I also strongly recommend bringing in a technology partner with experience in cloud migrations to guide you down the migration road. iShift offers a variety of consulting services related to migrations. They range from advising on how and if your organization should migrate all the way to performing the migration from beginning to end. With many of our clients we have extended the partnership beyond the migration and are now fully managing their cloud infrastructure.
If you have a question for me or want to learn more about our migration packages, get in touch.
Join our mailing list
Stay up to date with the latest iShift news and insights
Charles Arconi is a Principal Architect at iShift who has 25+ years of IT experience architecting and deploying cloud-based email and communication technologies. For the last 10 years, Chuck’s primary focus has been migrations: data to the cloud, email to Office 365, archiving data to cloud, etc. He is an accomplished technologist who likes direct interactions with clients, speaking, explaining, and strategizing about technology with them.
He also is a think-out-of-the-box kind of guy who likes to challenge mainstream practices and design innovative methodologies for the sake of efficiency, effectiveness, and usefulness. Every month Chuck will offer his take on cloud industry news, cloud-native technologies, and practices, and share his original insights about best practices in cloud computing. You can follow Chuck on LinkedIn or contact him directly at [email protected].