Any enterprise that got its start before the dawn of the internet era comes equipped with a legacy in its systems of records that are several decades old. These systems have been through multiple patch and upgrade cycles over time, making them inflexible to change. Simply put, these systems may create more problems than they solve.
And yet Gartner predicts that, even by 2023, 90 percent of enterprise applications in use today will still be in use.
These systems of record have proven themselves to be a competitive advantage for the enterprise over the years, and they can’t be wiped off the slate – simply because there’s nothing to replace them. In a recent survey conducted by BT Global Services, 42 percent of enterprise leaders said they would continue using their old systems, and 37 percent said they even planned to upgrade these systems. And, contrary to popular belief, a BMC mainframe survey last year revealed that 91 percent of enterprise leaders expect their workloads on mainframes to grow.
The problem in keeping these systems running is that the Baby Boomer generation is retiring, and the skills needed to maintain them are dwindling. Look at mainframes, for example. They aren’t part of any graduate curriculum today, and are not of interest to the young technical workforce. The skills needed to develop old applications written in programming languages, such as COBOL, FORTRAN, Assembler and even C, are not readily available, forcing enterprises need to spend considerably to train and onboard skilled staff.
Modernization: The New Imperative
Now let’s examine modernization. Modernizing software systems has been a cornerstone of the offshore IT services industry. Modernization today is platform-led, very different from the earlier era in which modernization was a services-led initiative powered by selective platform use. There are two main reasons for this:
From Legacy to Neo Legacy
The move from 3GL to 4GL has been making the modernization rounds for a number of years. Unlike 3GLs (C++, Java etc.), 4GLs allow the developer to focus on an app’s business logic and presentation, and not just on writing lengthy code. Developer productivity was the core promise of 4GLs and platforms, such as FoxPRO, Microsoft Access, and PowerBuilder, enabling rapid application development. The problem is that 4GLs were built for an earlier era.
But 4GLs are proprietary, and inevitably result in in vendor lock-in. Plus, enterprise software licensing costs for 4GLs are continuously increasing. And, despite their promise, they required a lot of manual coding. What’s more, their scope of use is limited to specific application scenarios, which are determined by app vendors. Unfortunately, that leaves little scope for customization and exploration.
Unfortunately, many 4GLs were developed before the “digital era” and long before the need to support the web and mobility. Thus, 4GLs are not suitable for the device, data, and integration requirements of today’s enterprises.
But now, low-code application development platforms have stepped in. Their promise is not only to simplify coding, but to drastically minimize or eliminate the need for massive code bases, and doing so results in faster and future-proof development.
From Traditional Code to Low-Code
Low-code platforms have become one of the tools of the trade for app modernization.
Where to Start
How can you transition to app modernization using low-code development? Here are my recommendations:
1. Evaluate the technical condition of your systems and bucket them as low or high depending on your perception of these five parameters:
2. Decide whether the code base needs to be touched
If applications do not need to be modified but need to be updated, there are three common approaches: wrapping, packaging and re-platforming.
If the code base needs to be modified, approaches such as refactoring, rewriting and re- architecting should be considered.
A packaging approach that replaces legacy software with COTS software is suitable for systems of record but shouldn’t be used for systems of differentiation. This is because all companies have access to apps, such as Salesforce, that erode the opportunity for differentiation. Such systems need to be approached with either rewriting or re- architecting, both of can build competitive advantage.
Systems of differentiation can be approached using a wrapping strategy, which is typically lower cost. However, the benefits of wrapping are temporary and should be used a stepping stone to a rewriting or re-architecting. All other approaches except wrapping reduce the burden of finding skilled legacy resources. Why is wrapping singled out? Because wrapping simply allows new functionality to be developed on top of old systems. Companies still need active mainframe and COBOL development teams post-wrapping.
Finally, enterprises need to acknowledge the technical challenges faced by IT and developers during modernization projects. These include:
Modernization is a practice whose time has come. But perhaps the true test of any modernization platform is that it must not come at the cost of an army of specialists, but instead must set the stage for sleeker, more people-efficient IT organizations.
Originally published by Vinay Murthy, VP of WaveMaker in EnterpriseTech
IT has become a strategic partner in enabling the business of every enterprise. IT operations span across diverse aspects of an enterprise -- ranging from infrastructure, applications, and cloud to service management and many more.
One of the key components of IT operations is app delivery: the bulk of the business today relies on a swift, flexible, and error-free app delivery for the success and growth of the business. Super-charged application development and delivery directly translates to faster time-to-market for products and services and, in turn, greater revenue-generating opportunities. Application architecture and its related ecosystem have transformed in the last few years.
Today’s modern enterprise is looking at a whole new dimension to the way applications are built, provisioned, tested, and ultimately deployed to end-users. Business demands faster, flexible, cost-effective, scalable, and quickly rectifiable approaches to application availability.
This new dimension calls for streamlining IT operations for application delivery in order to achieve the following:
Moreover, these need to be accomplished with unprecedented speed and agility to support newer business models and revenue channels. Consider this: 27,000 technical professionals were surveyed in the 2017 State of DevOps Report by Puppet. It was found that high-performing teams deploy code multiple times to production in a day. They have lead times of less than 1 hour to deploy changes into production and mean times of less than 1 hour to recover. Also, they have change failure rates of 10-15% on average. We are talking about some serious organizational performance when it comes to application delivery.
Traditionally, most platforms and processes within enterprise IT operations have relied on command-line scripts, specialized tools, and a closed set of skilled personnel to perform application delivery. This approach does not suit well to address complex modern enterprise needs as described in Table 1. It would simply be not scalable.
New-generation application architecture revolves around microservices and the need for on-demand delivery of these services to production. This calls for a relook at platforms that can iron out the complexity of dealing with continuous delivery, ensuring scale and velocity while providing full visibility and faster recovery. The ability to provide self-service, the democratization of DevOps, and standardized best practices go a long way to meet the needs of the modern software-driven enterprise.
Containers are key for next-generation app delivery DevOps. Businesses will, of course, benefit from using containers as they provide infra optimization. However, it doesn’t mean much unless the business can also benefit from the application’s time-to-market. Next Generation app delivery platforms will need to focus on Enterprise's ability to reduce the application’s time-to-market while still enabling the capabilities listed in Table 1.
The best way for enterprises looking to modernize DevOps is to focus on IT operations, keeping the application context in mind -- as opposed to focusing on the nitty-gritty of the underlying IT infrastructure. To put it in simple terms, simplify the App delivery operations of IT by providing the right level of abstraction required to ease adoption and scale operations.
IT operations can now truly become automated, self-servicing, standardized, and minimally disruptive for enterprises looking to embrace container-based app delivery. WaveMaker HyScale is a next-generation app delivery platform that allows development teams to stay focused on the app and become self-servicing at the same time. This allows DevOps to set up best practices around application delivery.