Overview

Today Microsoft have announced key tools and frameworks to assist customers in the modernisation of applications that should allow customers to modernise with greater speed, higher predictability fidelity and confidence.

This matters because previously these tools were complex to build and required a level of investment in development and testing that required skills many organisations did not possess in large numbers. Now Microsoft fully supports these tools which are able to run entirely within a customer’s subscription or local environments – a wider supporting set of best practice guidance will also be available. Although some of these tools are still in limited preview, these technologies will shortly be available for all customers.

Things you need to know

There are several key announcements that we are excited about and have been closely involved in the evolution of:

Firstly, the announcement of wider availability of app modernisation capabilities in GitHub Copilot for applications built using Java and Microsoft .NET. Java and .NET developers can modernise their applications, runtime, framework, and library updates at scale and speed with confidence and minimal dev cost by using GitHub Copilot agent mode within Visual Studio Code and Visual Studio.

In some cases, related dependencies such as Spring Boot and JUnit, visualise every task through the upgrade journey, automatically fix errors, learn from developers’ inputs, and summarise the upgrade process for review and commit. GitHub Copilot facilitates upgrades to and between the most popular Java (Java 8, 17 and 21) and .NET (NET Core, .NET 6, and .NET 8.) Once modernised the new Sustained Reliability Engineering Agent allows these applications to be monitored 24/7 to look.

Secondly, the availability of the Microsoft App Modernization Guidance for Azure now provides detailed standardised and best practice approaches for how to approach Application Modernisation at scale and in a standardised manner. Full details are available at Microsoft App Modernization Guidance for Azure – App Modernization Guidance | Microsoft Learn

How will this affect customers?

The combination of the GitHub CoPilot upgrade tools and the Microsoft App Modernization Guidance for Azure is a new set of capabilities previously not availability to customers unless they were willing to build their own specialist tools and models at higher expense that changed frequently and often became obsolete. Soon these sophisticated and Microsoft supported (but simple to use) tools will be available for all customers to evaluate and use in their own subscriptions to upgrade Java or .NET applications at lower cost and with highly governable and controlled approaches. This will ensure that developers are always in full control of the upgrade process.

Application Modernisation, particularly regarding legacy solutions, can be complex, impactful within the organisation and challenging if highly integrated with critical business process and not approached in the right way. The Microsoft App Modernization Guidance for Azure provides an end-to-end approach that allows a customer to move through an entire modernisation lifecycle of engagement and delivery across four phases:

  1. Assess
  2. Plan
  3. Execute
  4. Maintain

These phases cover the following steps: Assess, Plan, Launch, Foundation, Expand, Innovate, Optimize.

In each stage complete guidance, checklists and approaches that focus on delivering business value and tangible outcomes are provided with associated tracking and governance. The guidance simplifies and standardises what otherwise might have been a very time-consuming process for an individual organisation to develop, document, adopt and govern.

This is shown in the diagram below:

Source: Microsoft App Modernisation for Azure Guidance – Application modernization life cycle – App Modernization Guidance | Microsoft Learn

As Microsoft partners such as Version 1 increasingly adopt this guidance as part of their everyday modernisation/ transformation activities and associated ways of working, customers can form strategic partnerships with these partners to jointly assess and modernise solutions. As the technologies (often AI enhanced) and approaches change the App Modernization Guidance for Azure will adapt to insulate customers from the major impact of change.

Embracing the new technology

Customers can best embrace the power and simplicity of the tools and guidance offered by the Microsoft App Modernization Guidance, by taking the following steps:

  1. Understanding at a high level the scope and nature of the applications they want to modernise and the role and business value their relevant processes play in the organisation. Identifying, preserving, and amplifying this business value in any modernisation is critical and enables business stakeholder buy-in that technology refresh on its own cannot generate. Knowledge of the business value a solution can provide enables modernisation priorities to be easily established and reviewed during modernisation life cycles.
  2. In addition, take a single application and become familiar at a high level with how the documented guidance available at Microsoft App Modernization Guidance for Azure – App Modernization Guidance | Microsoft Learn might apply and what it might mean for an organisation.
  3. Finally, once a framework of requirements is known at a very high-level, engage with an experienced and collaborative partner such as Version 1 who will work with you to maximise the value of the framework and proactively relate it to your business context.
The best approach to get started

The guidance is deliberately broken down into phases and steps that apply relative to where an organisation is in their modernisation cycle.

For many technology teams understanding how business stakeholder perceives the business value and associated business processes fit around their applications is a key obstacle in obtaining suitable ROI justification and business stakeholder consent for modernisation. Technology refresh is often seen as an “IT issue” so there needs to be an end-to-end approach that consistently and incrementally builds business buy-in.

Our advice is therefore to keep things simple and incremental in nature, targeting one or more phases initially before moving through the lifecycle. Instead of aiming for large-scale “big-bang” programme releases, start small with a simple application or set of applications that share common characteristics with reduced levels of dependency and integration to validate and prove approaches.

Focus on gaining “quick wins” in evidencing business value from achievable modernisation that build business stakeholder trust and confidence whilst refining processes and accelerating execution timeframes.

What is the extent of this change?

Whilst Microsoft has provided some guidance previously in the context of modernisation it has mostly narrowly focused on the technical or best practice design of modernised applications. Examples include the use of the Well Architected Framework or defining and implementing, managing and governing the surrounding hosting environment (the Cloud Adoption Framework) rather than focussing on the specific modernisation needs of the application itself and its supporting business context.

With the Microsoft App Modernisation Guidance for Azure the focus is on the end-to-end modernisation lifecycle in both technology and business terms. As a result, the scope of the guidance has increased and now reflects the reality of the wider organisational context.

Often a key challenge is to justify and deliver widespread business stakeholder buy-in at all levels (C-Suite and budget holder) for modernising applications particularly those that are legacy in nature or highly intertwined with existing business processes. This can be highly challenging if the IT team cannot understand the business context of a solution, the business value it provides, and the ROI needed to trigger agreed transformation and modernisation.

The App Modernisation Guidance for Azure deliberately targets these areas to identify and present ROI and build agreed buy-in for modernisation and transformation approaches (using industry standard R’s approaches).

Is it going to result in new services and/or tooling?

Guidance on its own takes a while to adopt and absorb and does not fully accelerate the modernisation process at scale and breadth within the organisation’s application portfolio. Microsoft has therefore already released a range of tooling and models both for use within the execution of the guidance itself and a parallel set of GitHub Copilot Assistant using Agent Mode support to modernise Java and .NET solutions with full developer control and a Sustainability Reliability Engineering Agent to monitor these applications 24/7.

The GitHub Co-Pilot Assistant capability in Agent Mode also supports a “recipe” capability that in addition to development framework (.NET, Java, etc) also allows custom modernisation tasks to be undertaken under the control and monitoring of Copilot’s. This can include the migration of integration layers such as Rabbit MQ to Enterprise Service Bus or the migration of database platforms. However, these are all intended to fit within the overarching structures of the modernisation guidance to provide structured and appropriate governance intervention opportunities.

Version 1 has its own Business Value Assessment IP approach and supporting tooling that can help identify and objectively quantify business value, pain points, improvements, ROI for example.

Our Generative AI-based Decipher tooling helps document and generate insights regarding both legacy and more recent applications and addresses a key modernisation inhibiting issue where applications are no longer fully understood by the organisation due to supplier or employee attrition or transition.

Often these applications are categorised as “too complex and too scary” to change when the nature and consequences of business or technology change are not well understood. We also have a range of generative AI based refactoring and conversion tooling approaches which we have used across a range of technology and customer contexts.

The driving factor behind this new framework

Whilst AI is a key enabler , providing modernisation certainty and repeatability at scale without impacting business operations and commercial effectives is often more important in a real-world context. Any AI based transformation has to be suitably informed, configured and governed in a way that aligns to the context of the organisation.

The driving factor behind this new framework is to help organisations justify and take the “next step” in their application modernisation journey and break down the common inertia the follows a simple “lift and shift” migration of applications to modern platforms or cloud hosted environments.

Whilst a cloud migration may deliver a more modern platform and potentially a level of cost saving and “evergreening” in platform terms it does not address the specifics of applications and how that application can be become better aligned and evolved to meet modern and changing business requirements.

Essentially the Microsoft App Modernization for Azure guidance tries to structure this approach meeting and addressing business financial, informational, logistical and implementation demands in a predictable and governable manner. It intends to establish a way of working that supports modernisation programmes operating with diversity and scale.

How does this overlap with the Cloud Adoption Framework?

Whilst the guidance does have direct interaction and traceability into the Cloud Adoption Framework, it is designed to complement and build on the foundational strategies, platforms and governance provided by the Cloud Adoption Framework.

If a customer is looking to modernise applications and also move them to Microsoft Azure, then both frameworks and related guidance are equally relevant and applicable. Although some of the business drivers and strategy directions may be common to both frameworks, they differ in terms of level and granularity at which they operate.

The Microsoft Cloud Adoption Framework only provides a foundational structure for adopting Microsoft Azure Cloud across the organisation and does not focus on the specific needs or treatments of individual applications or groups of applications. In particular, those built on third-party, proprietary or legacy technologies that may require refactoring or remediation to fully exploit the potential scale, flexibility and availability of these leading edge, modern cloud platforms.

This is where the guidance becomes relevant. It can help steer the modernisation of one or more existing applications at the relevant level of business importance, scale, and scope of transformation with supporting justification.

Typically, platform, hosting, and operational decisions which the Cloud Adoption Framework supports are largely influenced by IT or technology teams whereas application strategies, roadmaps and modernisation frameworks are largely driven by business requirements and business operational and process needs and requirements.

 Version 1’s role in this process

Via a number of Microsoft forums and programmes that I am engaged with, Version 1 became engaged in the limited private preview, early adoption, and feedback programmes for both the two GitHub CoPilot Upgrade Assistants and the Microsoft App Modernization for Azure Guidance programmes with Microsoft Engineering and GTM Marketing teams.

We have provided feedback to Microsoft based on our real-world delivery experience from a range of technology and sector context over a number of years. We have therefore developed significant insight and experience with both the tooling and frameworks and are starting to proactively use these in real-world customer contexts . To generate further market awareness, we have presented at several invite-only UK and US customer events promoting the use of the guidance framework and associated tooling with customers.
We continue to work with Microsoft in this area providing feedback and experience to further evolve the guidance and tooling and engagement in this area and jointly promote more widely with a range of customers.

 

Aligning with the Version 1 approach

The guidance framework aligns well to our own Application Modernisation approach as both prioritise business factors and justification to proceed and then, in delivery scenarios, both consider business and technology factors equally. The framework provides a baseline which we can tailor and supplement with our own differentiating Generative AI tooling in discovery and delivery scenarios to help customers maximise business relevance and value.

How we can help customers adopt

We have been involved from an early stage in the evolution of the Application Modernization Guidance for Azure framework and provided key inputs at specific phases based on our real-world experience of delivering a range of application modernisation engagements. We can work collaboratively with customers to make both tooling and guidance work in their context and complement this specific knowledge with a wide range of technology delivery engagement experience, leading Microsoft partner capability and, in many cases, relevant business domain knowledge.

Reach out to our team today to learn more about adoption of this game-changing technology. You can contact our experts here.

Talk to us