In the early years of the cloud evolution, the primary focus was on deploying new products in order to gain the cloud benefits of cost and agility. Those new products were designed from the get-go to capitalize on them. Over time companies are gradually migrating legacy products to the cloud in an effort to lower costs, optimize resources, and improve flexibility.
The breadth of choice in cloud infrastructure is also accelerating the cloud evolution for legacy apps as solutions can be tailored to meet more specific needs. According to a recent study, two thirds of enterprises are now using or planning to use cloud services, and the numbers are expected to rise to about 80% by the end of 2014.
Despite the flexibility in cloud solution architecture, migrating legacy applications can pose challenging and unforeseen complexities. A one-size-fits-all mentality will not cut it.
Cloud services provide many opportunities for a business to increase agility and flexibility while lowering total cost of ownership. On-demand scaling provides the opportunity to adjust capacity with fluctuating business needs (seasonality, organic growth, etc.) in an agile and cost-effective way. The flexibility of cloud and virtualization technologies makes it easier to segregate workloads strategically. For example, we are tapping the Amazon Web Services (AWS) cloud to separate regulated and non-regulated businesses more cost-effectively, where possible and appropriate for optimal risk management.
Other business benefits that can be accelerated through cloud offerings we are using include:
- Enhanced automation tooling for increased agility in system provisioning and deployment
- Reduced capital outlays
- Optimized cost and resource efficiency
- Improved availability and resiliency
The cloud promise is real. However, legacy applications present challenges (in comparison to greenfield). They require adjustments in approaches to ensure a successful migration and positive momentum to propel the team forward to the next phase of operating in the cloud -- most important, optimizing a legacy application once it is stable on IaaS or PaaS.
Cloud realities for legacy applications -- five dos and don’ts
Legacy applications were generally not originally architected with the cloud in mind. Although there is still long-term benefit for many older applications to migrate to the cloud, the initial reality may not match the panacea promise.
1. Don’t make significant application architectural changes during an initial migration. Some applications may require significant architectural changes to be able to take advantage of cloud efficiencies and agility. We found this out quickly in migrating storage subsystems to the cloud. In the end, the lowest risk path was to migrate the architecture as is and ensure stability, while we worked in parallel on the next iteration of the architecture created for cloud native storage (S3 in this case).
2. Involve the experts early! Moving legacy applications tends to be much more complex, based on existing customers, less modern architectures, and potential data-migration challenges. It is critical to build on relationships with existing partners and new cloud providers to make sure everyone has skin in the game and accountability for a successful migration.
3. Plan proofs-of-concept into the overall schedule to manage risk. Even if the architecture changes are subtle, it is critical to plan in time for proofs-of-concept of any new or significant changes and conduct thorough QA and performance tests.
4. Be patient with retooling operations processes, tools, and staff. The promise of cloud accelerating a “DevOps world” is real, but the reality is a journey, especially when we consider critical security requirements and existing customers -- as compared with a new app with a smaller customer base. Push the boundaries, but be patient, since part of this shift is cultural. It involves people and mindset as much as technology.
5. The cloud may not meet all your needs. Plan time to supplement. Especially in the case of security sensitive or highly regulated businesses, anticipate and leave time for the testing of any add-ons and customizations likely to be needed beyond standard cloud offerings. Plan time to integrate, to expect and fix issues, and for thorough end-to-end testing.
The adoption process
Cloud provides the promised benefits of auto-scaling, cost and resource efficiency, improved team productivity, agility, technology choice and flexibility, and lower cost of ownership. On the flip side, adoption by legacy apps takes more time, thought, and effort due to:
- Architectural changes needed to take advantage of the tools and technologies more readily available in the cloud
- Operations processes changing that enable flexibility with third-party cloud providers
- Overall team mindset and the ramp-up on new tools and technologies
It is also important to be thoughtful in cloud native tools that you leverage based on long-term lock-in to one provider. Consider abstraction platforms instead to get the most out of your cloud service.
Stay up with cloud
As cloud capabilities continue to evolve and enhance end-to-end application strategies, the ability to streamline provisioning and deployment becomes indispensable to any company, as do the benefits of auto-scaling and optimizing financial and human capital. It’s on you to keep your organization at the forefront of new technologies through strong and determined vision, balanced with management of risk to existing businesses and customers. Keep pushing the envelope and you might be surprised how your legacy apps soar to new heights in the cloud.