We’ve come across a lot of talk about “cloud-native” apps lately. (They even have their own foundation!) Developers build these apps specifically to run on a cloud-based infrastructure, with the kind of user interface we all expect from our apps now. Cloud-native applications are scalable, usable and flexible, usually packaged using containers.
It’s a step further in the cloud computing journey, and a step away from the way we used to conceive of apps. Application development happened for many years inside an IT bubble, with a long development and deployment lifecycle. They were used only in-house, on desktop computers, which were also on a strict, and non-agile, refresh cycle.
Things have changed. Businesses now depend as much, or more, on enterprise-grade applications, but the way apps are developed, deployed and used has changed dramatically. Many of them still accomplish the same goals of workers—Microsoft Word, Office 365 or Google Docs all give me a blank page to work with—but their features have expanded to include sharing, instant edits and updates, notifications, and more. (That’s not to mention the huge demand for mobile-friendly applications.)
Most important, though, these apps are not walled away in an IT bubble, and everything happens much, much faster. Development is faster, and more agile in process and teams. And today’s users respond to a poor experience by not using the app at all.
All Apps Must Fall in Line
The ultimate goal of building cloud-native apps is that every app will be able to run in any cloud and work as a part of a company’s infrastructure. Cloud-native apps cut a lot of waste, as well, from traditional infrastructure, since there’s no excess coding of functions or use of duplicate resources as before. They are built to scale quickly and horizontally, rather than adding capacity to scale. These modern applications also make use of the supporting technologies they interact with, such as new storage tools and methods.
There’s a step further in building true cloud-native apps, too, where the concept of an application reflects the way the cloud works so that the processing and data are separate and the app is based on a collection of services.
Applications are distributed, as is IT, and served up from many different clouds. For IT teams building and using these apps, the sky is the limit. This cloud-native approach will make it easier to connect and manage remote locations, and it will allow cloud computing to do the work of consolidating systems. Cloud-native applications can also help a company scale when it might not be able to scale internally on is own.
We’ve come a long way past those annually updated, slowly evolving on-premises apps into today’s cloud-ready apps. Along the way we’ve seen many attempts to put those on-premises apps in the cloud, with varying degrees of success. Many still sit in the data center, existing as legacy apps for some specific purpose. Even those applications will need to be brought into the fold somehow, whether they’re brought up to cloud standards or you find a new application that can meet the same business need.
Whatever apps you’re providing and supporting, keep your eye on the prize of modern IT: keeping end users happy. That is what these application architectures provide: an easy, simple user experience that doesn’t require much hands-on work of help desk tickets or patches. Ideally, users will interact with the technology they need to do their jobs without confronting any issues that get in the way.
With cloud-native applications expanding, it’ll be essential to consider every app’s purpose and how it’s best deployed, even those clunky ones languishing in the data center. Eventually, all your business applications should meet a few basic goals: positive end-user experience, scalability and flexibility.