A process of migrating to the Cloud can be very simple, such as moving from in-house Microsoft Exchange email to Google Apps, or it can be very complex – A long term plan to close multiple data centres, consolidate and migrate hundreds of applications.
In the feature video William Ulrich provides a detailed analysis of ‘Architecture Driven Modernization’, and this article explains how the method can be applied to Cloud Migration to address this challenge.
Migrating to the Cloud presents the potential to address these challenges, but not when the scope only achieves a ‘lift and shift‘ exercise, a migration-only exercise. It must also be combined with application modernization best practices, as CIO.com begins to touch on, achieving a full transformation.
A cloud migration project can be a relatively simple exercise, where applications are migrated ‘as is’, to gain benefits such as elastic capacity and utility pricing, but without making any changes to the application architecture, software development methods or business processes it is used for.
As the ADM ‘Horseshoe’ model articulates, as described in this Carnegie Mellon article, a migration project can be considered with three distinct tiers of scope possible, increasing the size and length of the project with an increasing level of associated business benefit.
1. Technical architecture – The application is migrated as is to a new hardware infrastructure service without modification.
Infrastructure-centric cost and performance benefits, such as autoscaling of capacity and utility pricing. Addressing pain point scenarios, such as utilizing IaaS for disaster recovery. Business cases such as moving off obsolete hardware.
2. Application and Data Architecture – The application and data structures are also upgraded as part of the process.
Enable the software development team to adopt Enterprise DevOps methods, achieving faster time-to-market for new innovations. Re-architect from hard to modify monolithic software to change-friendly designs such as Microservices. Build better integrated, Internet-centric software that utilizes shared services like OAuth Identity sign-on. Re-engineer software for key modern features, like web front-end access.
3. Business Architecture – The business model is also transformed.
Transform business software and processes to support strategic goals like omni-channel customer centricity. Build and exploit new Platform-enabled business models.
Moving to Cloud can actually represent activity on all three fronts:
- (T) Virtualizing the platform to simply improve the underlying hardware usage. This begins at a technical migration, meaning the application is migrated ‘as is’ to a new hardware infrastructure service without modification.
- (A) Application Modernization, from simple re-writes to make use of native Cloud services such as AWS auto-scaling, through to wholesale transformation, such as converting COBOL code to Java. It can even enable a shift from a procedural software development method to an object oriented one.
- (B) Business model transformation – Changing business processes to a new operating model that best exploits these new capabilities.
As the horseshoe describes, these increases in scope mean a larger project that takes longer, because each is delivering a larger scope of business benefits, impacting a larger group of stakeholders and requiring a larger business transformation exercise, such as:
Legacy modernization best practices can address these issues, delivering business benefits including:
- Untangle and map legacy application complexities – Build a basis of understanding of existing application and data architectures to establish more intelligent IT planning concepts in line with business and technical demands. Developers with no experience of the legacy software can be enabled to implement changes in line with business needs.
- Extend the life of legacy applications without the risks of greenfield COTS projects – Numerous reports highlight how a COTS (Commercial Off The Shelf) approach to modernization is very high risk with expensive failure rates.
- Align user interfaces and back-end application and data models with modern business processes – Modernization can be used to achieve IT objectives such as SOA, Cloud migration and Web-enablement of applications.
- Leverage new technologies and tools – The overarching benefit is the transformation of software that is now resistant to change and thus innovation, as the required skills have long since retired and/or the suppliers are no longer in business. By moving it to a modern software platform new tools and techniques like ‘DevOps’ can be implemented to speed the rates of innovation.