Navigating the Cloud Migration Journey
By Ray Elenteny
Many industries set visions for the future and encourage organizations to adopt their vision. The technology industry is well-known for declaring the next great shift to the future. There will be interested parties that will immediately adopt the vision. These early adopters test the validity and shape the vision’s practicality. For visions that truly gain traction because of the demonstrated value they offer, adoption grows. There may be setbacks, but as practical solutions are found and validity is continually demonstrated, growth continues. Eventually, proven vision becomes utilitarian. This is what’s known as the hype cycle.
The adoption of cloud technology is no doubt one of the most well-known, and most successful examples of a technology vision that has reached what the hype curve terms the Plateau of Productivity. The Plateau of Productivity doesn’t mean that it’s about to fall off a cliff. Rather, it means that its value, while still growing, has been consistently proven.
Today, as new applications are developed, one must make a strong case against building an application that won’t be deployed to the cloud. This applies to applications of any size.
At the same time, there are still many applications that started their life in on-premise environments. Whether it be an application housed within a corporation’s private data center, or larger applications hosted by third-party infrastructure providers, organizations are considering whether the move to the cloud is beneficial. The question is, “What business value will be derived by moving our application to the cloud provide?” Often this question is answered by looking at costs. Does a move to the cloud improve the bottom line by reducing costs? This is a valid question. At the same time, as the cloud adoption hype curve evolved, another shift has occurred. Rather than looking at application infrastructure as a cost center, successful, growing businesses are reviewing their current and future investments in technology as developing a competitive advantage. Investing in technology can be incremental, but the competitive advantage is often driven by the adoption of new technology. The discussion moves to how can an organization be more cost-efficient in their use of technology while leveraging advancements in technologies that would be challenging to develop or host in-house.
Is it Time to Consider a Move to the Cloud?
Many organizations that host their own applications regularly ask this question. Wise stakeholders aren’t interested in hopping on the cloud bandwagon simply because “everyone else is doing it.” At the same time, those stakeholders recognize that many organizations are adopting cloud strategies. They will become keenly interested when they discover their competition has successfully built for or migrated to the cloud.
“Wise stakeholders aren’t interested in hopping on the cloud bandwagon simply because “everyone else is doing it.”
So, when is it time to consider the move to the cloud? As is always the case with decisions such as this, there must be a business need. Some factors indicating that it’s time to look at a migration include:
Leases on hardware or data centers are coming to an end
At face value, this is purely about cost. However, it may be the impetus that drives a serious look at what, beyond simply a new set of hardware, advantages there are to leveraging specific, relevant cloud service offerings.
Challenges of a rigid Infrastructure
You’re locked into the current infrastructure, meaning it’s challenging to make changes to environments, and options regarding technology choices are limited, or are difficult to adopt.
The current infrastructure has become fragile
When meetings become discussions on whether the infrastructure can support something due to age, use case, possible points of failure, etc., the lack of ability to make forward progress is challenging, if not frustrating.
Business processes are hindered
This can reveal itself in multiple ways. Applications are invested in and built to be deployed to advance the business. The time it takes to deliver an application helps fuel competitive advantage. It’s no longer about metrics based on months or quarters. It’s become weeks and days. This requires well-coordinated services and configuration management. Often infrastructure can be an impediment to tightening the application release process.
Cyclical user demand
Many applications are cyclical in use. Applications may have peaks at certain times of day, at the end of the month, or for a season. Conversely, these same applications may have extended periods of slow periods relative to their peaks. The term for this has been scalability. Scalability implies being able to handle peaks. Over the past several years, the term scalability has been replaced with the term elasticity. Elasticity is the ability to scale up and down based on usage. Building an infrastructure to handle peaks often leaves a lot of hardware idle during slow periods. Overprovisioning for the peaks can become a costly endeavor.
Migrating to the cloud is not a panacea to these challenges. However, proper use of cloud services directly addresses each of the issues noted above.
Challenges to Overcome When Migrating to the Cloud
When moving to the cloud, there are many organizations that have either failed or have not realized the expected benefits offered by cloud-based application deployment. It’s not that the selected cloud provider didn’t provide or offer what the organization required. All major cloud providers provide a myriad of services. On the rare occasion that a niche service isn’t offered, cloud providers will support the necessary infrastructure on which the niche service can be deployed.
There are two primary reasons why cloud migrations are not successful. Lift and shift is a term often used when moving applications. Lifting and shifting an application entails essentially replicating an existing environment’s infrastructure topology and moving the application from the old to the new. While a simple lift and shift strategy applied to cloud migration will likely work, it’s almost assured that the total cost of ownership will increase, perhaps significantly. It’s not that the notion of lift and shift doesn’t apply to the cloud. Rather it’s understanding the optimal path and services to utilize.
Capable operations and/or DevOps teams can execute a lift and shift cloud migration process. However, the steps required to reach the execution stage may be more involved than anticipated. Regardless of the amount of detail included in architecture and playbook documentation, there will be missing implementation details. While missteps that can occur in a direct lift and shift cloud migration can be challenging, the greater challenge to successful cloud migration is learning and fully understanding what will be lifted and how it will be shifted.
Facets to Cloud Migration
As implied, migrating to the cloud is an involved process. It needn’t be complex or difficult. It needs to be planned. Organizations will have varying tasks to address. Getting these tasks identified and prioritized is the first step toward a successful cloud migration. While not comprehensive, the following considerations may come into play for an organization’s migration strategy.
Assessing documentation and knowledge gaps before migration
Review current build and deployment documentation and knowledge bases looking for gaps. Gaps may be found while executing the migration, but taking the time to review the current state will minimize surprises. It’s important to note that knowledge gaps are often stored in someone’s head. Independent of the migration effort, uncovering the unknowns is an asset to the organization.
Consider business processes
Applications are developed for use by businesses. It’s an obvious statement, but sometimes, to those in the trenches of application deployment, it’s not top of mind. There are multiple business processes impacted by an application’s build and deployment strategy. A primary example is delivering features to users. Like build and deployment documentation, business process documentation is at various stages of maturity with some knowledge maintained simply by word of mouth. Touch points between business processes and application deployment needs to be identified.
Navigating Security and Regulatory Requirements in Cloud Migration
All cloud providers support many security and regulatory scenarios. Understanding current security and regulatory requirements is important to a successful cloud migration. Critical to a successful migration for these scenarios is ensuring activities are audited as required. Any auditing provided by the application would remain unchanged. However, any type of auditing or tracing outside an application’s scope will need to be accounted for.
The Importance of Education and Training for Effective Cloud Migration
When migrating to the cloud, there’s a lot to learn. Topics range from network topology, effective use of services, deployment strategies, and cost structures, just to name a few. Educating those who will be responsible for the various aspects of cloud deployment is key. To maintain the integrity of an application, keeping costs under control, and servicing application users, investing in team education is not only a wise investment but also foundational to the migration’s success.
As stated above, this is not an exhaustive list. Its intent is to call out broader topics that an organization may need to address.
Partnering with an Organization that has Cloud Migration Expertise
While many of the above tasks can be addressed internally, there may be benefits to partnering with an organization that has experience in cloud migrations. Large cloud providers offer a vast array of services. Even when choosing a service that may be familiar, such as a database or virtual machine, the options can be overwhelming.
As has been discussed, choosing the right services offered by a cloud provider isn’t the first step. Just as selecting cloud services may seem challenging, understanding and documenting the current inventory of applications, support services and infrastructure may be a substantial effort. When moving to the cloud, developing, or enhancing the current environment’s documentation is not an option. Understanding what exists is the first step in knowing how a cloud deployment is to be configured.
…business as usual must continue…
More importantly is the fact that business as usual must continue. While it is to be expected that internal resources will play key roles in the migration process, those same resources are servicing and supporting the current applications and infrastructure. A partner can help by working alongside existing teams, gathering information to complete documentation of existing systems, and preparing cloud deployment proposals for review. A partner will also guide the team in the development of an execution process. Once the decision is made to execute, a partner will work with the team in each phase of the execution. Finally, after the migration is complete, a partner can help ensure final documentation of the newly deployed application is complete and up to date with any changes that may have been made during the rollout.
A good partner will assist in all cloud migration phases, including the definition of each phase. They will see to it that everyone from stakeholders to those executing the migration is informed throughout. While a good partner never fully disappears, they will exit a cloud migration having provided the organization with everything it needs to be fully self-sustainable.
Is it time to migrate your application to the cloud?
The cloud application deployment hype cycle has reached the point where its value has been proven. At the same time, there are plenty of attempts at migration that would be considered a failure. Is the cloud the right place for every application? As is the case for most technologies, the answer is no. However, the types of applications that are best suited to remain in hosted data centers rather than be deployed to the cloud is dwindling.
Is it the right time to migrate your applications to the cloud, and not because “everyone else is doing it?” Assess your current environment. Review the services that cloud providers have to offer. Consider the investment required and the return expected on that investment. In other words, make an informed decision. While possible to take on the task of executing a cloud migration project internally, it’s likely more productive and cost-effective to find a partner that will guide, assist, and educate your organization to a successful cloud migration.
Ray ElentenySolution Architect
Ray Elenteny is a seasoned Solution Architect with an impressive career spanning over 35 years in the IT industry. He finds great fulfillment in leveraging his vast experience to guide organizations in delivering top-notch applications that generate substantial business value. Ray’s enthusiasm for software engineering has been a driving force throughout his career, and over the past 10 years or so, Ray has taken a keen interest in the cultural and technical dynamics of efficiently delivering applications.
Drawing from his extensive experience as a Solution Architect, Ray shares his expertise through insightful writings that cover various aspects of software engineering, Kubernetes, application development, and the essential cultural and technical factors that contribute to the successful and streamlined delivery of high-quality applications. His writings provide valuable guidance to individuals and organizations seeking to optimize their application development processes and maximize business impact.