The "modern application" is so modern it doesn't yet have a common definition and may never. That's because the term intrinsically means many things to many people.
Unchained from monolithic infrastructure and capable of incorporating different elements of IT, a modern app can accomplish a wide range of goals. Whether it aims to boost employee productivity, better serve customers or give developers a means to release software faster, modern applications can satisfy many ambitions of modern organizations. If there is a common denominator to modern apps, it's this: They are the antidote to legacy applications that work only in isolation and prevent businesses from pursuing meaningful technological and operational change.
Indeed, a modern application represents freedom. It can tether to the cloud, physical hardware or both. Modern applications can also work together, forming an ecosystem of like-minded apps. And whether working in concert or individually, they are designed to open the vault door to data that can be analyzed and acted on in real time. When built and supported effectively, a modern app shouldn't confound or frustrate, but should instead make things clear for and engender further use.
"The modern application leaves behind the old application framework of finite computing," said Holger Mueller, a vice president and principal analyst for Constellation Research. "With the old way, you had to find a server to run an app, and the app had to be not too big or not too fast. The modern app will scale up as you need it; that's what the cloud will help do. You don't need hardware and you don't even need software. It's SaaS and PaaS."
Technological liberty also brings financial flexibility. Organizations can shed the capital costs of fixed IT assets by moving to cloud-based applications to build and manage their operations, Mueller said, citing the example of a restaurant business run entirely by apps. Internal apps can streamline the restaurant's back-end operations -- purchasing, payroll and scheduling -- while the external front-facing apps can get a rapid read on the needs of digitally inclined and hungry customers. "Your Capex can now go into the restaurant," he said.
Sturdy, flexible bridge to digital transformation
In an environment defined by near-constant technology upheaval, only the nimble survive. The onset of a global pandemic has underscored the business requirement to be agile and adaptive. Amid the turmoil, companies must provide their B2C and B2B customers a sturdy but flexible bridge to products and services. In its broadest scope, that type of bridge is often what companies mean when they refer to digital transformation -- the organizational push to retool business for a 21st-century economy. The modern app is a foundational piece of that effort.
For a modern app to reach its potential, the IT professionals who create and manage its guts probably should, but don't necessarily have to, rely on a cloud-based foundation. Cloud offers flexibility and scalability, and it's a gateway to machine learning, IoT, as well as containers, the vehicle of choice to agilely build and deploy software. Still, many in technology are quick to note that if an on-premises system functions well and stores critical data, it can also contribute to the application.
Case in point: The IT services consultancy Infosys works with an insurance company that runs its many customer-facing applications off 450 cloud-based containers. But back-end operations, according to Infosys Senior Vice President Anant Adya, still operate on premises.
"Most of our customers fall into that category," he said. "Cloud and container for the client-facing end so you can phase fast and learn fast, whereas the client server handles the internal approach."
Speed, connectivity and universality are some of the buzzwords that describe the modern application's potential. But beneath that excitement, it is the capacity for renewal that is the modern application's fundamental attribute. Modern apps can be easily updated, tweaked and refined -- unlike traditional apps, which were seemingly built to operate ad infinitum on their own terms.
In many ways, the flexibility of the modern application always keeps it modern. "When you think about what's modern and what makes a modern application . . . people should think about technologies and systems of operations that will be resilient and affordable and think about it being inclusive to all users," said Forrester Research Principal Analyst Chris Condo. "The modern application should be not only written for today but also for the future."
But not too far in the future, as you'll see.
Principles of modern application development
First things first: When creating an application for the workplace, don't design it from the perspective of the enterprise. Building apps around business functions and processes is antithetical to how modern apps should be made, according to Nicole France, vice president and principal analyst at Constellation Research. Instead, think of the user first and always. The form and function of consumer apps should carry over into workforce apps, she added -- a best practice that is taking hold.
"You can't overexaggerate this fundamental shift in the design of business applications," France said. "If you don't channel the mentality and approach of ordinary people -- how consumers use it -- the app isn't going to work."
Reducing complexity is key, and to do that, developers must create an app that provides clear context. That comes after anticipating what the user wants to do, said Szymon Rozga, the head of emerging technologies at Insight Enterprises, an IT services company. Most users want to switch devices and expect an app to behave as if it's still open on the initial device. The functions of an app, he said, should work seamlessly across all relevant channels so that the app responds and looks the same on any device.
"I should be able to interact with the app in whichever manner I prefer, and it should be able to access my data quickly. That's the experience I want," said Rozga, who specializes in desktop, mobile and web applications. He said Google and Microsoft have perfected identity and authorization on their apps, which are sometimes a painful first step in application use, by keeping those functions separate from the features that are particular to each application.
While it's easy to get caught up in what an app should do today, it's also easy to lose sight of what it should do tomorrow, said Forrester Research's Condo. "It may be great to design it for 5G now, but what about when it's gone or is knocked out? Will the app function properly?"
Condo said it is possible to construct an app that meets today and tomorrow's needs. "Some small pieces of functionality will be swept out for new ones, but it will last if it's designed for downtime, is resilient, adaptable and marketable," he said. As an example, he points to Zoom and how what was designed to be a business meeting app has become an invaluable resource for homebound educators and students during the COVID-19 pandemic.
Anytime, anyplace computing: The new mobility
Even before social distancing made working from home a norm, many businesses recognized that their apps had to meet employees wherever they got their work done. With mobility also comes empowerment, and that's why an app should also enable employees to deliver what customers want on the spot, and without needing instruction or approval from above, France said. It is, she said, ultimately all about workflow.
The struggles that salespeople have had with Salesforce is a good example, France said. Salesforce had for years been a "glorified database," designed more for sales managers and executives than for sales staff, according to France. Because it has become "a sort of Frankenstein with things added" over time, she said, "even today, it's difficult to get regular people to use its tools." Some of the smaller CRM application platforms understand the need to be user-friendly and are created with a focus on the ease of workflow; they also focus on "actual selling," whereas Salesforce encompasses the work that's behind selling, she said.
Of course, the same anytime, anyplace computing requirements for internal business applications apply to customer-facing apps. Briana Frank, the director of product management for IBM Cloud, remembers having to manually enter her family's passport information near the end of their vacation because an airline didn't have automated passport screening built into its mobile app.
"I'm sitting in the hotel room entering all this personal data while they're still on the beach," Frank said of her family.
"The big impact for me was I questioned my loyalty to the airline," she added. "It makes you ask, 'Are they modern enough?' Every company in every industry is now having to keep up with customers. It could be even a small feature in an app that makes customers question their loyalty. One single delay can make a customer question loyalty."
Before helping its clients establish an infrastructure for application development, Infosys asks clients how their customers use the organization's IT services, and then they develop personas, Adya said. "Say one is a tech-savvy user and the other is a businessperson. We create key models for both. Take a financial analyst who's not tech savvy. His or her job is a book closure every month or quarter. How can we make sure he or she has everything they need to deliver the book?"
Constellation Research's Mueller recommends a close study of market competition before building an app. Modern apps are purpose-built -- that is, they must be very good at what they're intended to do. "You have to recognize if your app can create legitimate value. If it does, don't hesitate to act if the conditions are right," Mueller said, adding that the top three companies in a digital space take 67% of market share. Joining that select crowd enables "you to create more apps," while those outside the circle struggle to make theirs stick.
A (mostly) cloud-based framework made for AI
Older applications, as noted earlier, rely on the relatively limited computing infrastructure of in-house servers and thus have to be designed within a narrow construct. If that wasn't confining enough, companies then must sink money into the upkeep of physical hardware that often can't meet the changing digital demands of customers and clients.
A modern application framework can be supported by the cloud, which isn't cheap to be sure, but the trade-off is that cloud vendors face market pressure to more frequently update their technologies. Granted, on-premises vendors are also responding to that pressure and are now assuming a proactive position by promising to update hardware. But, as Mueller observes, there's a difference between the "rental" spending of the cloud and the capital expenditure costs of owned servers and mainframes.
"Why have this large mainframe that you'll end up not using?" Mueller said. "Take advantage of the simplicity of cloud. Next-generation use cases require access to big data. Before, with servers, you had to estimate how much data you had to store on site. Now, cloud technology stores everything, even stuff that's garbage."
Data storage, data management and access to data improves tenfold with cloud, Mueller said, and properly harnessing data is a critical step in supporting applications and the mobile people who use them. This approach builds resiliency in the app, and not in the infrastructure. Rozga of Insight Enterprises agrees: "You won't have data going the right way if the database is not architected the right way." He recently helped a client shift its applications to the cloud so that if anything happens to the physical database, the company is confident the cloud would continue storing and managing its data. "You need something in the middle," he said.
Another big selling point of cloud is it opens the door to machine learning, deep learning and the other building blocks of AI -- not to mention IoT, if relying solely on 5G seems risky. Much is known about the possible ways that AI can benefit applications, for instance. Machine learning can review consumers' spending habits and make automated decisions on their behalf through a banking app. Or a department store could combine consumer shopping history with the latest weather data to send customers a notification suggesting they should soon buy umbrellas.
But AI can accelerate the performance of the modern application on the back end, too, according to Forrester's Condo. "AI could inform an early-warning system that could help developers in calling out bad patterns," he said. "You could combine [the open source development tool] GitHub and [analytical] patterns to look at your code, notice that it was fixed in other applications and consider fixing yours -- solving a problem somebody saw somewhere else. AI and machine learning can go through a lot of data."
Hybrid cloud strategy works for some
Still, the agility and flexibility of cloud doesn't mean organizations should entirely abandon physical hardware that support applications. Some old systems still work fine. "It's really hard to say one solution is going to meet it all," Condo said of application infrastructure. Banks and insurance companies continue to rely on mainframes to process data and manage applications and don't always have widescale problems, he added. "The most important thing is how it will be resilient and how it will anticipate downtime. How will it anticipate customers' needs?"
O.C. Tanner, a company that helps organizations build an employee-centric culture, had known only one way to build an application: as monolithic creations that required millions of lines of custom code. It was hardly a strategy for innovation. In fact, "it was a nightmare," said the company's Senior Vice President and CIO, Niel Nickolaisen. "A lot of times we would fear having a conversation with clients."
Applications are a central part of O.C. Tanner's offerings. Its Culture Cloud apps let organizations engage, appreciate and motivate their employees. Rebuilding O.C. Tanner's IT architecture slowly but surely, so that customers wouldn't notice upgrade work, Nickolaisen and his staff shifted to a platform that embraces common, shared services as well as an app stack that is API-centric. This ensures applications can integrate with those inside and outside the company. They also installed a software-defined network to support the infrastructure and make it agile.
Clients now see an "intuitive user experience" with Culture Cloud apps, Nickolaisen said. Clients can easily update their employees' records and other information instead of focusing on the technology, he added. "We stopped losing in the marketplace because of our software being that way. Before, the No. 1 reason for not choosing us was our software."
Microservices, containers, open source propel modern apps
Techies admire how a modern application philosophy fosters constant modernization. Companies are now expected to consistently deliver new applications. Even monthly updates that offer new features and functions are sometimes not fast enough. Whereas reusing apps used to be a standard, today it's all about how effectively an app can be replaced without destroying the other apps in the ecosystem. And it's not just techies who should be involved. IBM's Frank says employees across the enterprise are becoming technologists and are expected to help create customer- and client-facing apps.
Establishing the necessary IT foundation for modern apps is easier said than done, but it's not impossible if you take it one project at a time, Frank said. "Start with one new application, say a feature you're trying to solve. Have a hackathon (among employees) and decide which parts need to extend into the data center and which ones are on premises. That will help you decide and architect what should go to the cloud."
The cloud, as noted, supports the use of containers and a microservices architecture, which arranges an application as a suite of loosely coupled services, which, in turn, make an app easier to develop and manage. With microservices and containers, developers rely on open source tools and practices, as they share development methodologies and collectively approve and disapprove code. Not to mention, for many organizations, cloud-based APIs are the best way to integrate applications.
IBM's Frank, O.C. Tanner's Nickolaisen and others recommend building off a common, open source cloud-based platform, for the ability to freely choose app development tools and to build off coding best practices.
"One of our first use cases internally was Watson," Frank said. IBM built its AI computing system using Kubernetes, the open source container orchestration system, on a bare-metal server so that Watson could have the necessary isolation to meet performance demands. IBM became such a believer in open source that in 2019 it purchased Red Hat, an open source cloud provider, and the two now offer a hybrid multi-cloud platform that encourages organizations to use cloud and open source as a springboard to application development.
Again, relying solely on cloud isn't the only way to break free of monolithic applications. Organizations can link virtualized physical servers and cloud platforms so they don't have to completely give up the shop and still ensure that app modernization efforts are coordinated and seamless, said Craig Muzilla, the senior vice president of Red Hat's Core Products and Cloud Services division.
"The way Red Hat looks at it, cloud is a big part of it," Muzilla said. "Hybrid cloud is a big part of this, but you might have a traditional virtualized environment as part of a public cloud. No matter what, you need to link all of that together. It's very important to make sure it's connected and operational. If you have everything in sync, the developers don't have to worry about DevOps and the operational teams are not worrying about code being written in many places."
Closing the tech skills gap
No matter the efficacy of the technology, organizations still need skilled developers to build modern applications. Companies can contract out the work or hire a service, Constellation Research's Mueller said. And if the developers are to work in-house, organizations have to make the work appealing; their capabilities and interests will determine what kind of apps should be made. "You have to figure out how you can be attractive to them, and then determine what you can build," Mueller said.
There is a pronounced tech skills gap, though. Companies have to work hard to attract and retain talent, and, according to those interviewed, give developers the projects they want to pursue. Developers aren't afraid of automation -- which eliminates pesky documentation tasks, freeing up time to develop and modify applications -- but companies first need to get them in the door.
Consultancy Infosys attempts to close the skills gap and keep its employees happy by rotating them among three job buckets: core IT services, cloud security and new technologies such as APIs and blockchain. "It's generating talent and reskilling them," Adya said.
Similarly, Red Hat's Muzilla recommends not pigeonholing developers to one line of work. "You can't take their skills and say, 'Everyone now needs to learn cloud.' That will be an inhibitor." The micro nature of modern application development means small teams can tackle small projects and make use of diverse skills for that kind of work. "If there are small projects and small pieces, you can have various contributors and include various skill sets," he said.
Conclusion: Modern apps are transformational and adaptable
Few will refute the idea that, if done right, modern applications can transform development, production, sales, customer service, HR -- and just about every function that makes an organization modern.
A modern application shakes the cobwebs off traditional and increasingly moribund ways of application use by pulling data out of isolated, monolithic systems and extracting value from areas that seemed to have no value. It makes use of machine learning and other AI technologies, as well as blockchain and IoT. And the very act of making such an app seems to be strong enough reason to pursue a "modern" way of development: an automated process that includes open source, microservices, containerization and a democratization of tasks among developers.
As Constellation Research's France notes, once a development process is in place, a modern app needs to be built like the most intuitive consumer-facing apps -- for customers and clients on the outside and for employees on the inside. Not doing so will squander the potential benefits of a modern app and instead result in a stale enterprise-centric tool.
"Does it have a direct impact on customer and employee experiences? These two connect," France said. "Studies have shown when employees are satisfied, they are more likely to provide better customer service."
In the end, modern applications can be whatever an organization needs them to be in the moment. And if the apps cease to do the job at hand, the organization should, and most importantly, can simply change them, literally overnight.
"Let's not get so married to it that you don't want to throw it away," Forrester's Condo said of the modern app. "Why write something for 10 years when it will be improved in three years or even sooner?"