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.
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.
With senior executives potentially expecting broader strategic capabilities as a result of a move to the cloud, it’s therefore important that clarifying this scope is the very first step in planning a cloud migration, and the OMG’s Architecture Driven Modernization (ADM) methodology is ideal for this purpose (intro white paper: Transforming the Enterprise).
There may be a clear business for doing so, such as the hardware platform becoming obsolete; however the organisation overall won’t realise any additional benefits – there is no business transformation as part of this move.
So for every scenario a pre-migration business planning exercise that identifies and plans for these steps is essential to success, and as described in this presentation Business Architecture the Key to Enterprise Transformation the domain of Business Architecture can be utilized for this planning.
ADM: Architecture Driven Modernization
A Standish Group study found that less than 30% of the code in a given application contains business logic, meaning the majority is tied up with system-specific management, and an IBM Systems Journal reported that as much as 60-80% of the functionality in silos may be redundant or duplicated in other silos. In short there is considerable potential for extracting and consolidating only the business logic, ‘the baby’, and leaving a large volume of ‘bath water’.
For planning this extraction the OMG offers a simple but powerful planning framework called ADM – Architecture-Driven Modernization. This is a core design philosophy that can be applied across multiple levels of software engineering such as AMDD – Agile Model Driven Development, business model design and also Cloud migrations.
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.
|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.|
|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.|
|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.