Targeted business outcomes
Enterprise-scale application modernization requires a holistic approach (assess, modernize, manage) to bind multiple dimensions to provide completeness at an accelerated pace. The framework recommended by AWS envisions modernization across five technical domains: automation, developer workflows, self-service data, architecture evolution, and organization for value. These domains are discussed in more detail in the Strategic dimensions of modernization section. The framework that you can use in your AWS Professional Services and AWS Partner engagements includes a knowledge base with solutions, self-service technical patterns, playbooks, and templates.
A successful modernization project helps produce the following business outcomes:
-
Business agility – The effectiveness within the business to translate business needs into requirements. How responsive the delivery organization is to business requests, and how much control the business has in releasing functionality into production environments.
-
Organizational agility – Delivery processes that include agile methodologies and DevOps ceremonies, and support clear role assignments and overall collaboration and communication across the organization.
-
Engineering effectiveness – Improvements in quality assurance, testing, continuous integration and continuous delivery (CI/CD), configuration management, application design, and source code management.
Achieving these business outcomes requires a holistic approach and a modernization process that's based on a set of strategic dimensions.
Holistic approach to modernization
The journey to application modernization is an incremental effort that involves:
-
Making data-driven decisions to analyze legacy and cloud workloads.
-
Evaluating processes to move to the cloud.
-
Integrating new functionalities such as containers, serverless technologies, and modern databases to support emerging technologies such as artificial intelligence (AI), Internet of Things (IoT), and machine learning (ML).
Continuous modernization across all areas of the organization is the key to success. To get the full value of modernization, your strategy should focus on understanding choices and tradeoffs, and the ability to combine and connect enterprise, differentiated, undifferentiated, and commodity applications. The process begins with an application assessment to align to business outcomes, and allows enterprises to deploy and manage applications optimally.
Today’s enterprises might be unable to adapt to new and changing business models if their legacy systems include complexities and inefficiencies that result in the following:
-
Lack of agility, where they cannot react quickly to changing business and market demands.
-
Lack of flexibility, where they cannot make necessary changes to applications.
-
Lack of scalability, where they cannot introduce new application features or extend existing features that involve new users or capacity.
-
Performance issues, when the application doesn’t perform to desired standards and metrics.
-
Lack of data insights, when too many data silos exist and slow digital innovation.
-
Heightened security risks, when applications have gaps and vulnerabilities that don’t exist within newer application frameworks where security is built in and integrated throughout.
-
Inability to add new applications and services, which impedes the adoption of new technologies and modern architectures.
-
Higher costs, because legacy applications and application frameworks often consume more resources, and often create more redundancies and inefficiencies than modernized applications.
Strategic dimensions of modernization
Modern applications provide multi-dimensional benefits to customers when they’re developed and managed effectively. You can establish a process for continuous modernization based on a set of strategic dimensions to accelerate innovation by increasing agility, resiliency, and engineering efficiency. By continuously following and building on these proven patterns and techniques, you can deploy existing application components to a modern deployment platform, make existing functionality accessible to new applications, and update application architecture to a fully modern stack.
These modernization dimensions, as shown in the following diagram, are:
-
Organization for value – Realign organizational structures, governance, and processes to center around small, full-stack product teams that can deliver business value through customer outcomes.
-
Architectural evolution – Build digital product platforms by moving core business capabilities out of monolithic applications and into a decoupled collection of independently maintainable, evolvable, reusable services that developers can use as building blocks to innovate.
-
Ubiquitous access to data – Combine modern data architecture, storage, and access patterns with AWS services to allow developers, data scientists, and business users to easily tap into the organizational data stream.
-
Builder springboards – Bring together a collection of agile software engineering practices (such as DevOps, test automation, CI/CD, and observability), associated tooling, and application layer services into an integrated developer workflow. This workflow defines a path for development and reduces the amount of time to move code from idea to production.
-
Infrastructure automation – Use a combination of AWS services to create a lightweight infrastructure foundation. Make use of containers and AI/ML to abstract and automate often used infrastructure primitives. This frees up development resources so you can focus on delivering business value through the creation of new products and services for your customers.
By applying these strategic dimensions of modernization, your organization can become more productive and can deliver measurable and sustainable outcomes. Your organization will be able to:
-
Improve and create a differentiated customer experience.
-
Accelerate innovation, reduce time to market, and release new products frequently.
-
Optimize and avoid costs by spending less on IT infrastructure.
-
Increase agility, add new features and functionalities at scale.
-
Increase staff productivity by deploying new features faster.
-
Improve service-level agreements (SLAs) and reduce unplanned outages.