A Guide to Application Modernization
- A Few Basic Concepts to Understand Application Modernization
- How Does Digital Transformation Take Place?
- How Does Application Modernization Happen?
- Moving to the Cloud as Part of Digital Transformation
- Banking Industry Spotlight: Current Status
- Banking Industry Spotlight: Types of Platforms to Modernize
- Banking Industry Spotlight: Strategies to Tackle Modernization
- Digital Transformation and Application Modernization in Action: Intesa Sanpaolo Bank Case Study
- Microservices Are the Future of Digital Transformation
A Few Basic Concepts to Understand Application Modernization
Application modernization can be an essential step towards your company’s digital transformation. Bringing legacy apps to the cloud isn’t always easy or efficient, but there is now technology that can make the process much faster and more reliable.
Why is this so important, you may ask? The International Data Corporation (IDC) gathered interesting insights related to digital transformation’s accelerated growth in the global IT landscape:
- Over 50% of all information and communications technology (ICT) spending will go directly to transforming and innovating by 2023, increasing at a CAGR of 17%.
- 70% of enterprises plan to deploy unified hybrid/multi-cloud management technologies, tools, and processes by 2022.
- Over 50% of enterprise IT infrastructure deployed by 2023 will be installed at the edge rather than in corporate datacenters.
- By 2024, the number of applications at the edge is projected to increase by 800%.
- More than two-thirds of enterprise organizations will have deployed code daily by 2025; over 90% of new apps will be cloud-native; 80% of code will be externally sourced, and 1.6 times as many developers will be on staff.
Is your company ready to leap into digital transformation? Explore the following concepts first.
What Is Digital Transformation?
Companies’ digital transformation is measured by the successful changes they make to products and services, as well as their acquisition of digital skills linked to these changes. A digitally mature company uses information and communication technologies in a significant part of its activities, as well as having the capability and willingness to digitize its processes, functions, and organization.
It mainly involves adopting three trends and capabilities in order to enhance operational effectiveness or enable disruptions in business models:
- A range of advanced digital technologies such as the Internet of Things, artificial intelligence (AI), big data, the Digital Twin, VR/AR/MR/XR, and blockchain.
- Redesigned business processes and platforms to run in a lean, resilient, and real-time collaborative manner with customers and suppliers.
- Increasing workforce engagement by using virtual, boundaryless teams.
Digital technologies are changing the way the world operates, and that includes businesses. Devices and internet services are now more affordable, and trends are accelerating growth in unprecedented ways. A few examples include mobile, cloud, and AI.
According to the World Economic Forum, “Digital transformation provides industry with unparalleled opportunities for value creation. It used to take Fortune 500 companies an average of 20 years to reach a billion-dollar valuation; today’s digital startups are getting there in four. Digital technologies are creating new profit pools by transforming customer expectations and how companies can address them.
“At the same time, digitalization could produce benefits for society that equal, or even surpass, the value created for industry – the mass adoption of autonomous vehicles and usage-based car insurance, for instance, could save up to 1 million lives by 2025.”
There is no doubt digital transformation is here to stay, and companies of all sizes are in the race to become more digital by the minute. The pandemic only accelerated this process. Organizations that implement the right blend of modern solutions, techniques, and strategies will remain competitive for decades to come, future-proofing their business as they become more agile and responsive to change.
Related: Is Application Modernization your Digital Transformation Ball and Chain? (Guest Blog – Intellyx)
What Is Application Modernization?
Gartner explains application modernization services “address the migration of legacy to new applications or platforms, including integrating new functionality to provide the latest functions to the business. Modernization options include re-platforming, re-hosting, recoding, rearchitecting, re-engineering, interoperability, replacement and retirement, as well as changes to the application architecture to clarify which option should be selected.”
The modernization process starts with a comprehensive company assessment which often involves, among other actions, deciding to shift some monolithic applications to the cloud. According to Microsoft, a monolithic application is “an app that has all or most of its functionality within a single process or container, and it’s componentized in internal layers or libraries.”
A recent study called ASG Technologies 2021 Survey Report: What’s Slowing Modernization? Barriers Hindering Enterprise IT Systems and Content Management revealed interesting facts about enterprises migrating to the cloud:
- Cloud computing has become the IT infrastructure of the future because a large number of enterprises have shifted to it before and after the pandemic. Over 67% of respondents utilize hybrid cloud infrastructure. Another 34% of respondents want a hybrid cloud ecosystem that includes the mainframe, and 52% have a hybrid cloud ecosystem that includes the mainframe.
- What are enterprises doing with their workloads in a hybrid cloud IT infrastructure? According to the survey, 68% of respondents plan to migrate workloads or applications from the mainframe to the cloud.
- Companies are moving a variety of commodity workloads or systems of engagement (HR, finance, office productivity) to the cloud because it’s more cost-effective and efficient.
- At the same time, they are keeping systems of record (customer data, business IP, business-critical applications based on COBOL, PL/1, Assembler) on the mainframe.
- Approximately 75% of respondents say that the cloud offers more flexibility in terms of moving workloads. In this case, it is helpful for commodity workloads that do not require the mainframe.
- 70% report that they are moving specific workloads to the cloud because it is faster and more efficient. At the same time, 43% implied they did it for better access to remote work.
- According to 34% of respondents, the mainframe is outdated for some of the workloads. The cloud is better suited for workloads such as these, while the mainframe handles billions of transactions for mission-critical workloads.
- The pandemic has undoubtedly accelerated the move to the cloud for many enterprises. COVID-19 accelerated respondents’ move to the cloud by six months, according to 56% of respondents. However, 10% of respondents said it accelerated it by years.
The pandemic forced many enterprises to jumpstart their digital transformations earlier than expected. This rapid cloud adoption, which drives application modernization, is one example. But how are organizations approaching this cloud migration? It isn’t as easy as one would hope. Let’s now look at technical debt.
What Is Technical Debt?
Techopedia explains, “Technical debt is a concept in programming that reflects the extra development work that arises when code that is easy to implement in the short run is used instead of applying the best overall solution.”
Experiencing technical debt can be painful, especially in the context of refactoring. Basically, it implies that you need to restructure existing code to allow new code to creation. This approach suggests refactoring is not only used in response to poorly written code.
Technical debt becomes a significant issue when it becomes unmanageable, and development teams spend more time fixing past errors than focusing on launching new features and improving the product.
As the technical debt accumulates, you will eventually need to address it, but that will come at the expense of adding new features to the product or updating it to make it better. This would lead to progress slowing down, which is less than desirable in every industry.
In summary, when technical debt accumulates, rather than responding to new requests for changes, the development team spends too much time fixing sloppy code in order to make future changes easier to implement or less likely to cause a system failure.
While you are in the process of digital transformation and application modernization, you may want to consider evaluating how much technical debt you have accumulated and what you can do to reduce it. This is why it is essential to review this concept.
How Does Digital Transformation Take Place?
There are many ways in which a company can approach digital transformation and application modernization. No recipe or formula applies because the process will depend on several variables, including size, model, or geographical location.
Harvard Business Review condenses four different tiers to categorize digital transformation.
Tier One: Operational efficiencies
This tier is where most digital transformation efforts take place, which is vital for a company whose guiding principle is higher operational efficiencies. The key challenges in this tier are making asset utilization more interactive and reducing information silos.
Example from HBR:“Ford adopts new automated vision-based inspection of paint jobs in its plants through augmented and virtual reality, the Internet of Things (IoT), and AI. Using these technologies, the company improves blemish detection and reduces defects in its cars. In this case, data is generated by new technologies from factory assets, and AI uses this data to detect and prevent manufacturing defects in real time.”
Tier Two: Advanced operational efficiencies
In order for companies selling products to be competitive, this phase is mandatory. Accordingly, companies selling products that can access interactive data from users will have a strategic advantage over companies selling products at the previous tier.
This tier would be the last when the available product-user interactive data cannot provide revenue-generating services. The primary use of interactive data is to improve advertising and product development efficiencies.
Example from HBR:“Caterpillar installs sensors on its construction equipment products to track how each of them is used at a construction site. It finds, for instance, that customers use their motor graders to level lighter gravel more often than to level heavier dirt. Utilizing this insight, the company introduces a cost-efficient motor grader primarily designed to level gravel rather than dirt.
“Caterpillar here benefits from operational efficiency gains by improving product-development productivity. The difference, however, is that the company’s sensor data comes from customers using their products, not from manufacturing plant assets. That customer dimension, of course, poses additional challenges. The efficiency gains in this tier also extend beyond asset utilization.”
Tier Three: Data-driven services from value chains
This is the tier for companies who recognize that they can make money from data-driven services. Firms of this type will need to enrich their production ecosystems in order to create new data-driven services as well as operational efficiencies. The firms in this tier go beyond simply using data for operational efficiency and use it to generate revenue.
Example from HBR:“GE tracks product-sensor data from their jet engines, analyzes it using AI, and offers real-time guidance for pilots to fly in ways that optimize fuel efficiencies. GE then appropriates a part of their customers’ cost savings through new annuities from “outcome-based” revenues. Their customers, in other words, pay GE a part of what they save from fuel efficiencies, in addition to what they pay for the product.
“Here the initiative entails changing the prevailing business model from one that’s designed to produce and sell products to one that provides data-driven services to digital customers. GE’s R&D, product development, sales, and after-sales service units are all digitally connected to receive, analyze, generate, share, and react to sensor and IoT data from thousands of discrete products in real time. Because this drives new revenue streams, it does more than just enhance operational efficiency.”
Tier Four: Data-driven services from digital platforms
Any organization whose products fall within the emerging consumption eco-system needs to pay attention to this tier. The more companies stay within their production ecosystems, the greater risk they face of commoditization. Therefore, the digital transformation of their products becomes their primary challenge.
Example from HBR:“Peloton uses product-sensor data from its exercise equipment to create a community of users and to match individual users with suitable trainers. Peloton’s products generate user-interaction data, which the company then uses to facilitate exchanges between its digital customers and various third-party entities outside the realm of its value chains.
AI algorithms match specific users to suitable trainers analyzing product-user interaction data, very much like how Uber matches riders with drivers using data from their apps (…) Peloton here is generating new revenues from its data-driven services — but by extending its products into digital platforms. This tier of digital transformation is the most challenging for industrial-era legacy firms, and for firms operating with value-chain-driven business models and little experience with digital platforms.”
Hopefully, these tiers and examples provided you with more insight into digital transformation and maybe even helped you identify where your company stands. Continue reading for a similar breakdown into application modernization.
How Does Application Modernization Happen?
Similar to digital transformation, there are as many application modernization approaches as company types and specific situations. The consulting firm Ernst & Young divides the process into four stages in their report Application Modernization and its impact on Digitization.
Stage One: Discovery
During this stage, the company assesses application portfolio health, mainly by examining the code behind the application.
Stage Two: Analysis
The purpose of this stage is to gain a deeper insight into the application environment to comprehend potential security threats and evaluate how ready specific components are to move to the cloud. Furthermore, it includes licensing compliance, which plays an important role when using open source libraries.
Stage Three: Rationalization
The purpose of this stage is to classify applications by their functional and technical adequacy, usage, ownership costs, and many other aspects. For each set of categorized applications, it is an additional step that provides recommendations on repairing the problems that have already been identified. It is usually the most challenging step to complete an inventory correctly, but this is part of a successful modernization effort.
Stage Four: Execution
It is possible to divide this phase into more manageable parts, keeping in mind the work both the technical and non-technical teams must do. It also encompasses the change management requirements that should be made when such a change takes place.
If these steps still sound too abstract, don’t worry. We’ll continue to dive into these concepts, provide data from a specific industry and even a related case study.
Moving to the Cloud as Part of Digital Transformation
Neither digital transformation nor application modernization are solely composed of cloud migration processes. However, these tend to be expected in enterprises looking to embark on more modern operational forms.
KPMG elaborates on why “getting cloud smart” is becoming a norm and even provides a simple guide on how this can happen:
Step One: Define cloud as the foundation for digital business
- Outline the critical investments needed to make the cloud more competitive, as well as a clear business rationale
- Prepare a roadmap with details for the implementation and scaling of cloud services
- Plan for cloud security and risk management
Step Two: Transform by scaling cloud across the enterprise
- Automate and integrate functional processes
- Transform how you deliver service
- Protect mission-critical applications all the way down to the workload
- Take control of your cloud providers
- Improve the performance of your cloud platform
Step Three: Align your company’s talent with the transformation by building a culture of digital collaboration
- Make sure your talent is cloud-savvy (they are all on board with the new technology and know-how to use it to serve your customers or users better)
- Integrate IT with the business, so talent verticals disappear
- Integrate vendor-specific cloud training (platform-specific services) with functional cloud skills like DevOps, IoT, ML and analytics
- Partner with HR to find talent familiar with migration to the cloud, artificial intelligence, machine learning, blockchains, and serverless computing
These steps can make your company dive into digital transformation, which will transform the way your organization works. As you can see, in this process, you thoroughly evaluate systems, workflow, corporate culture, and procedures.
Taking advantage of digital transformation through cloud migration and application modernization may sound overwhelming so far. As a reference, let’s explore how the banking industry is doing.
Banking Industry Spotlight: Current Status
Banking is one of the industries where digital transformation and application modernization are more tangible, but most industries face similar challenges and opportunities. Most people have experienced these processes as bank users and obtain significant benefits such as cost and time savings in the best-case scenario.
Have you come across more efficient banking services recently? They may be a consequence of digital transformation and application modernization. Even though this doesn’t necessarily happen in all banks worldwide, Ron Shevlin discusses four pieces of evidence that indicate a bank has transformed digitally:
- It doesn’t take clients more than five minutes to open a checking account.
- Clients are receiving instant approvals for unsecured loans via digital channels.
- The bank understands its customers’ financial lives on a more holistic level through data.
- The bank has a “digital product factory”: a platform for creating, integrating, and deploying new digital products and services quickly and cost-effectively.
If your answer is “not yet,” it may be because of the following data found by Cornerstone Advisors:
- Credit unions launched their digital transformation strategies earlier than banks, with 22% in 2017 or earlier.
- By the end of 2021, one in four banks will not have launched a transformation strategy; just over a quarter will do so by that time.
- Only a few institutions have completed the digital transformation process. According to the survey responses, most institutions expect to finish their digital transformation journey within six to eight years.
- A mere 14% of banks and credit unions intend to replace their core systems as part of their digital transformation programs, while a third plan to replace their digital banking platforms.
- Despite all the buzz surrounding artificial intelligence (AI), few banks have deployed machine learning, chatbots, or other AI technologies. The percentage of banks that plan to invest in or implement these technologies in 2021 is roughly twice or triple what it is now.
- Around a third of the banks have already deployed cloud computing, with one out of five having deployed APIs. They are both among the top technologies planned to be deployed in 2021.
Banks are usually large and complex organizations that have had systems in place even for several decades. This is why digitally transforming a bank typically takes years. However, this may not be the case with your particular company, as every organization’s process is different.
Let’s continue reviewing banking’s example next.
Banking Industry Spotlight: Types of Platforms to Modernize
Despite digitally transforming a bank can sound intimidating, Deloitte affirms that “Fortunately, deciding to modernize a bank’s core is no longer a binary choice (…) thanks to massive advances in core banking technology that supports a variety of solutions.”
Leading technology partners have been developing new products and are now beginning to present cutting-edge, customizable, cloud-oriented solutions to provide banks with less disruptive options.
Continuing with Deloitte, a bank handles typically three types of platforms, but note most other industries have the same:
A single vendor provides all services in these systems, often running on a proprietary or closed platform, like a mainframe system. It can be complicated to implement and is usually based on a license for several years.
Platforms of this type use SOA-based approaches and enable real-time processing. This type of platform is generally offered as a hosted software-as-a-service solution.
Essentially, these platforms have microservices-based architectures with application programming interfaces (APIs) to provide access to and from other services. In addition to supporting real-time processing, cloud-native software typically has a subscription-based pricing model.
Following a review of the available platforms, the Deloitte guide suggests a variety of approaches for modernizing a bank. Again, these concepts apply to many other industries and businesses. Read on to learn about them.
Banking Industry Spotlight: Strategies to Tackle Modernization
Having examined each of the platforms or applications in question, banks and other businesses with similar digital transformation requirements can choose from a series of approaches to tackle modernization:
Wait & See (Do Nothing)
The short-term goal is to maintain current functionality while following market leaders to determine the next step. This option can be attractive for industries operating on a sustainable platform, especially if they do not have the risk profile or business case to adopt core transformation.
Update the existing platform, for example, by upgrading the version with minimal change to functionality or technology. It provides minimal disruption and a foundation for future, more impactful changes but does not directly address the market or business demands.
Modify the core platforms to current technologies, from Java to microservices, without affecting baseline behavior. Reading, maintaining, and expanding the platform now becomes more manageable, and the platform can potentially be made cloud-ready.
Create a parallel core that will meet advanced needs not available with the legacy core. In the past, cores ran as part of a set of products, but nowadays, they can be run for differentiated offerings or migrating from legacy cores. Industries interested in transforming quickly but maintaining existing products and services have this option as an alternative.
Replace the old core platform with new, more modern solutions. You can launch new products quicker if a company is willing to invest more initially and justify the replacement risk.
Digital Transformation and Application Modernization in Action: Intesa Sanpaolo Bank Case Study
A vision of IT modernization was adopted by Intesa Sanpaolo managers three years ago. At that time, both the infrastructure and the applications underwent an upgrade. It’s important to note that, even though people considered microservices a cutting-edge technology at the time, these would later form the foundation of applications we now think of as being “cloud-native.”
By the way, according to AWS, microservices “are an architectural and organizational approach to software development where software is composed of small independent services that communicate over well-defined APIs. These services are owned by small, self-contained teams.”
In response to the decision explained above, the company began to modernize its applications and services to address modern IT challenges.
The background: Redesigning the online banking service
Intesa did not just want to innovate but more to answer a fundamental need to evolve. The goal was for the bank to stay competitive on the global stage, where technological advancement and digital transformation are essential factors to success.
The Intesa Sanpaolo application modernization journey began with identifying a design reference application, FVCB. The management and business stakeholders wanted to convert from a monolithic system to a microservices approach. With FVCB, Intesa Sanpaolo’s customers can access Online and Corporate Banking services, which appeal to the company’s large customer base of small and medium-sized businesses, which number in the thousands.
The solution: Partnering with an industry leader to accelerate microservice transformation
Intesa adopted the best cloud-native modernization platform and transformed FVCB0, one of the FVCB monoliths, into a microservices application. The application monolith delivered all three essential business functions: import, download, and flow management using this process.
This was a collaborative effort between Intesa Sanpaolo and its technology partner with their in-house teams to accelerate the microservices transformation, in addition to providing extensive feedback and feature requests to their partner. It is important to note that FVCB0 was based on Java, and WebLogic was used before refactoring. The new version of the application is based on JBoss and OpenShift, and compatibility tests are underway to determine whether the application can be ported to the public cloud.
The benefits: Scaling modernization across the organization, 3X increase in deployment frequency, and lower costs
After deploying the leading cloud-native modernization platform on a dozen applications, Intesa Sanpaolo bank obtained several benefits:
They found a way to manage the entire modernization process at scale.
It was vital for the bank to understand the stages of modernization in each application and manage their modernization platform across several applications simultaneously. A significant aspect was that it included numerous tasks: starting and stopping the test phase, collecting all the possible extracted services from each application in one place, choosing the applications they wanted to refactor first, and enabling all of these tasks with only minor involvement from the development and testing team.
In response to the challenge, their chosen platform responded by providing a production agent that can automatically execute on hundreds or thousands of applications in production, along with a factory dashboard and management console. These latter capabilities give this top modernization platform the ability to support and offer visibility and control to the whole project team during the modernization process of hundreds of applications.
Overall, an accelerated, cost-effective modernization journey
As a result of refactoring, they have successfully brought down costs through better application management, and customer satisfaction has increased considerably as well. As a result of the cost reduction, fewer WebLogic licenses are needed, and over four months of savings are anticipated per application. This translates into both a decrease in time spent and a reduction in human resources.
The cost savings directly correlate to the shortened development-test cycle and fewer manual deployment activities, resulting in an overall cost reduction. By implementing automated deployments and 3x an increase in the number of releases, Intesa Sanpaolo’s Platform-as-a-Service platform (PaaS) has made infrastructure management a much easier and more efficient process.
The last and most important benefit is that from the customer’s point of view, the refactoring has enabled the application to become more stable, more scalable and has enabled them to reduce downtime for deployments, thus increasing customer satisfaction.
Microservices Are the Future of Digital Transformation
If you’re wondering if this modernization platform is available to you, the answer is yes. Here are some of the functionalities you can expect:
Track your app’s behavior by automatically observing business flows
The agent monitors the flow of business domain-driven application flows, either in a virtual lab or in a production environment. The agent functionality automatically detects, analyzes, and tracks call stacks, memory, and object behavior from actual user activities, events, and tests. This technology includes dynamic learning supplemented with directed static code inspection of the binary files, ensuring that the code is completely covered.
Prioritize and plan modernization based on the complexity of all your applications
The modernization platform analyzes all your legacy Java applications automatically so you can determine whether either of them is ready to be modernized. Prioritize the applications that need to be updated first, set schedules, and manage the modernization process to meet the timelines. You can check out refactorability, rank applications based on stack capacity, and accelerate cloud migrations with a Refactorability Tool.
Deliver new services effectively by designing, refining, and extracting
The technology can apply dynamic and static analyses using graph theory and clustering algorithms to find the optimal business-domain microservices based on their requirements. In order to be able to minimize dependencies and complexity and maximize exclusivity, architects interact with the platform’s UI in order to iteratively refine architecture and design. This includes extracting, developing, and testing new microservices.
Create an agile modernization factory that can be repeated time and again
With the help of a factory dashboard, you will be able to track the progress of all the applications being modernized. It will provide visibility and metrics on all the modernization initiatives you are working on. Watch the current status of the projects, prioritize them, control the timeline, track milestones, keep track of the progress, and share it with the rest of the company.
Perform code cleaning to eliminate dead code, bloat, and source creep
The modernization platform will check and remove source code that is no longer being executed or is unable to be executed or is unnecessary in the new microservice. You can decrease the security risks involved with dead code, plus eliminate unnecessary maintenance by eliminating the unneeded code. Deleting unneeded libraries and code while refactoring creates optimal microservices which have minimal context and unnecessary bloat. Modernizing existing code encourages good code hygiene practices that significantly reduce technical debt and more than pay for themselves in future updates.