Application is the key to unlocking digital business advantage- from more efficient business operation to product and service innovation, to faster time-to-market. The application becomes a competitive weapon and helps the business to compete in the market.
Tesla – is a start-up car company that allows owners to control and monitor their autos.
Uber – is a technology company that is disrupting the taxi industry.
In terms of the definition, an application is a set of programs that are designed to perform a group of coordinated tasks for the benefit of the users and businesses. The new application offer:
- access to a massive scale of people, data, devices
- unlock value from the digital world
- increase customer satisfaction
- increase market reach
to reach application to this level, the application has come a long way. The International Data Corporation (IDC)source 1 specifies three platforms that each platform is defined not so much by the comprising technologies but by the scale of users and the scope of applications of the technologies.

- Platform 1 – Mainframe, minicomputers, and terminals that include traditional applications. Multiple users connect to mainframes simultaneously via less powerful devices such as workstations or terminals. The scope of this platform is limited to millions of users.
- Platform 2 – Emerged with the birth of the PC and it includes client/server, RDBMSs, and web applications. This platform support hundreds of millions of users and tens of thousands of applications. Both platform 1 and 2 applications are referred to as traditional applications.
- Platform 3 – includes cloud, Big Data, mobile and social technologies. This platform support users of billions and has millions of applications and solutions. It is evident from the fact that over 5 billion people are connected to the internet. Source 2
Traditional Application
Let us consider the traditional application from these points of view:
- Architecture
- User Interaction
- Scalability
- Resilience
Applications are evolved from single-tier architecture to resilience. Single tier application makes application easy to manage (data and functionality) but impossible or hard to scale and slow to change because all logical tiers are in one-tier.

As network performance and reliability improved, developers expanded the separation of functionality into multiple architectures for more efficient use of resources and better scalability. These applications are designed mostly for desktops and extent to other devices as necessary.
Scalability in traditional applications is achieved through a stateful design approach, using a monolithic architecture that can be vertically scaled.
For resiliency, the traditional application must typically rely on highly available infrastructure with redundant components and automated recovery from failure.
Examples of such applications are SAP, Oracle, Microsoft Exchange, and SharePoint.
Monolithic applications are developed as tightly coupled code, installable as a single package. The componenets of the program are interconnected and interdependent rather than loosely copuled.
Delivery Model in traditional applications:
Typically used a linear and continuous approach in the development, build, test, deploy and move to the production process flow.

Challenges of traditional applications
- Tight coupling of components – difficult to replace or change
- The complex traditional software development process – slow update cycles that delay the business outcome
- Unable to quickly respond to new business opportunities
- Linear software performance growth assumed and planned for
- Competitive solutions are gaining market share
To overcome these challenges, the application must transform to meet the new business requirements, the need for application transformation is as follows:
- Digital business drivers – software and data are weapons of innovations, disruptions, and competitive advantages.
- Challenges of traditional applications
- Shift IT spending towards innovation – maintaining traditional applications consumes a lot of budget and resources
Application transformation steps
- Refactor – Improve the internal structure of an application using code and data portability, modularity, and cloud-native features, without changing the external behavior.
- Revise – The application is enriched by adding new modules and features using the cloud while making minimal changes to legacy code. Hybrid of old and new modules.
- Retain – Some of the useful workloads of traditional applications are not suitable for the cloud and these workloads continue in their existing environments and benefit from ongoing improvements in data center infrastructures.
- Retire – Removing applications that are still running but have long outlasted their value to organizations from active service.
Sources:
https://www.idc.com/
https://www.statista.com/statistics/617136/digital-population-worldwide/