Director of Avenga Labs
The article is the result of joint effort between Avenga and CIO Magazine in Poland. We asked CIOs, leaders of some of the world’s biggest brands about their plans for business applications technologies and analyzed the results.
We like to talk about AI, robots (both software and machines), the cloud, edge… but really, since the dawn of the history of modern IT, business applications have been, are and will be the basis for supporting the business activities of any company.
Core, non-core, out of the box, tailor made systems, cloud, local, the dozens, hundreds, and even thousands of interconnected applications working together in complex processes and integrations are the key components of every business organization.
Software development is often referred to as ‘commodity;’ in my opinion unfairly. Anyone who has experienced any such projects knows that they are never easy ventures and they are certainly never the same.
Since the 1990s, when someone threw out the famous slogan that ‘all software had already been written,’ 25 million developers have disagreed with this statement and continue to do so; and more and more every day join in.
We all have our opinions about what the technology stack will be like for the next ideal business application, based on our experience, knowledge and inevitably . . . our bias.
Some of us would opt for the traditional choice of Java + Spring, some will choose DotNet (core) and some will try NodeJS or Python.
It’s always interesting to know what others think and to exchange ideas, but even more important is to listen to those in charge of technological decision making in the different enterprises. So we asked CIOs, members of a CIO club in Poland, what their opinions are on the future of enterprise applications.
The results are very interesting. And not only for Poland, as the majority of the companies are international, with Poland as the biggest technology hub for multinational companies in the European Union.
How many business applications will reach the end of their life in 2020?
Technology cycles are getting shorter and shorter, and add to it business dynamics, and there are expectations that reflect the shortening of app lifecycles. On the other hand there are ways to keep the apps up-to-date with technology migrations, refactoring, and UX refreshing. There’s always the “if it works – don’t fix it” mentality fighting with “let’s build it nice and clean again”.
What is the default technology for creating business apps?
Which technologies will last and which are effective for development, but even more importantly for future maintenance? Java, Dotnet, PHP, and NodeJS are years old and there are no signs of any of them going anywhere.
Plans for Java based applications
Java represents the majority of business applications and we addressed the elephant in the room straight on.
In the context of recent licencing and lifecycle dynamics, it’s a good moment to think about the future of Java in the enterprise. So that’s why we asked about it as well.
Cloud or no cloud?
When will the new app work? Cloud (public) or locally (‘private cloud’)? CIOs seemed to be reluctant to move any faster towards the cloud (public) and preferred to stick with local infrastructures, as seen in our previous survey. Let’s see how it looks in the context of business applications.
What the user sees and interacts with is UI, so for the user – UI is the application. They don’t care what the backend is as long as it is fast.
So how hard it is to plan for something to last a few years.
The dominant players are React, Angular and Vue, let’s see which one is the preferred choice.
Oversimplifying, we asked about monoliths, microservices and serverless. I’m quite confident that there will be a few who admit to building new monoliths and microservices as the default choice, with a grain of serverless.
Containerization and fleet management platform
Is everybody using Docker? On the internet it appears so. Is Kubernetes already very popular? Let’s find out.
The results of our survey CIO Insight Applications 2020 can be seen both as confirmation of global trends and the specifics of the ‘sample’ (sorry to describe it to the Dear Participants). Almost 70 CIOs responded to the survey and without further ado, here are the results.
So we have here a clear domination of micro service architecture, but just barely over half of the respondents which is quite surprising (at least for me). Monolith is more than five times less popular.
Docker and Kubernetes together are more popular than Docker alone, which is a sign of growing Kubernetes dominance in the enterprise.
Still 20% use no containerization at all.
Sad against this background is the fate of serverless, which was supposed to be the final answer to problems with containers, that would allow you to forget about the infrastructure as much as possible. And it’s even less popular than local deployments without containers.
Only 1% had other ideas for application deployment.
I was not surprised by the answers in the sometimes embarrassing issue/problem of our huge dependence on Java technology and what Oracle has been doing with it lately. There are no signs of panic or mass escape, but I can see that for all of us, what happened (licensing and versioning) has motivated us to think harder about how it could be different.
Still over 20% plan to move away from Java.
There are other interesting possibilities, without Oracle in the background. Even if the threat is exaggerated, it is worth looking around for the best solution.
Because applications, as seen in our CIO Insight report, are planned for years, they should flexibly change and adapt to changing business realities. This could be explained by the small number of applications being turned off. Complex systems are also a treasury of knowledge about business processes, hence the more difficult it is to decide on an exchange; especially when the operation is still adequate to the needs, and technological updates exist and are applied.
Python has a regular repertoire, not only in the context of data science, but also in the application.
What is surprising or slightly different from the global classics is the high share of Microsoft, both as the producer of the increasingly preferred dotnetcore and the dominant cloud player with its Azure.
With a’propos clouds, we observe here (again), there is a clear dominance of their . . . absence. Personally, I consider only a public cloud as a ‘true cloud.’ By adopting such sharper semantics, we see a fairly low declared level of desire and plans to use the cloud.
There is no more room for deeper analysis here, of where such a picture comes from. Is it economics? Is rising labor costs or rather a fear of loss of control over the environment?
Azure is dominating, followed by ‘the other clouds’ and then GCP on par with AWS. You were probably expecting AWS and Azure to dominate the landscape, yet that’s not the results of this survey.
What is the local specificity to the loyalty to Angular. This is a phenomenon that has been going on for years. The framework has already been mentally erased from consciousness in many other places, but it is still definitely the first choice here. Of course, it is constantly developing, and there are new versions and new possibilities.
This is not a bad choice in itself.
However, it is enough to cross the Oder and we have total dominance of React; which took honorable but second place in our CIO Insight.
→ CIOs share their take on the Future of the Cloud
What we call ‘applications’ keeps on evolving (the “Everything as a code” movement, etc.), but we often even avoid the word altogether, and yet software is a part of everything and everything becomes software.
There is still a long way to go (a much longer way than most prominent AI gurus used to promise) for AI to understand what business and IT are all about and to do this ‘something’ for us, instead of software engineers. The predictions are for 15 to even 50 years ahead of us, so software development is here to stay.
New architectures, design patterns and languages, the improvements and liveness of old languages, ways of working together on requirements and code, all mean that this game of software development will never get boring.
The mode of continuous change has arrived and is here to stay. In relation to our systems and projects this is not surprising, but the natural state of business development is through software.