How to explain cloud-native apps in plain English

How to explain cloud-native apps in plain English

What exactly is a cloud-native app? What do people get wrong about the term? We get to the bottom of this

By

on

October 18, 2018

As the phrase “cloud-native” burst onto the scene, it brought with it some confusion about what it actually means.

Is it literal, as in “born in the cloud?” Does cloud-native application development mean you’re using a certain set of tools or methodologies or running those apps only in certain environments? And while we’re at, how do you explain this stuff to everyone else in plain terms that they can understand?

Key facts about cloud-native apps

“Cloud-native is really just a shorthand for modern application and infrastructure practices. It’s the recognition that businesses across essentially all industries are increasingly reliant on software that can be brought online quickly, adapt to changing marketplace requirements, and run on infrastructure that’s attuned to both rapid changes in demand and new workload types. Think of it as the inverse of the big, monolithic application running on a big iron server that evolved on a timescale of years.” (Read also: What are cloud-native applications, by Gordon Haff.)

Glenn Sullivan, co-founder at SnapRoute, shares the pillars of cloud-native development, and clarifies one of the mistaken assumptions about the term:

“Cloud-native does not mean that an application has to reside in the public cloud."

“Cloud native does not mean that an application has to reside in the public cloud. Instead, it is a philosophy of building applications that take advantage of the immutable infrastructure that these environments provide. Microservices, containerization, and well-defined declarative APIs are the hallmarks of a cloud-native application – whether it resides in the public cloud, on-premises in a private cloud, or both as part of a hybrid cloud solution.”

"Instead of being installed on an OS or server, cloud-native applications run on a cloud infrastructure and call the underlying infrastructure as part of its code."

“Cloud-native applications are much more aware and in control of their environment than traditional applications. Traditional applications are installed on an operating system and assume that the server has the correct drivers, system configuration, dependent applications, and necessary resources to run without failure. Conversely, cloud-native applications dictate their environment by interacting directly with the cloud or infrastructure provider, usually via [an] API. Instead of being installed on an OS or server, cloud-native applications run on a cloud infrastructure and call the underlying infrastructure as part of its code.”

Sergey Bobrov, director of engineering at CYBRIC, on one of the reasons for sometimes blurry definitions of “cloud-native,” as well as some of the major benefits of the approach:

“Defining the borders of cloud-native versus non-cloud-native applications gets harder as cloud providers continue to offer more ways to run services in their pursuit of enterprise customers. ‘Cloud-nativeness’ therefore is not simply an ability to run in the cloud from day zero. Instead, it’s an adherence to a set of best practices, or at least some proximity to them, which allows developers to maintain and evolve applications at high velocity. Some of the most important parts of cloud-native applications today are design patterns such as containerization and container orchestration [and the] distributed nature and usage of microservices. Correctly using these design patterns results in the almost unlimited horizontal scalability and high resiliency that cloud-native applications provide.”

Bhanu Singh, VP of engineering at OpsRamp, on the importance of cloud-native in the DevOps age, and the misunderstanding that the term applies to any app that runs in a cloud environment:

"It’s an application that is, and always has been, based in the cloud, as opposed to an application that was re-architected to run in the cloud."

“It’s an application that is, and always has been, based in the cloud, as opposed to an application that was re-architected to run in the cloud. If an application is cloud-native, that means it’s been built with technologies and services that also have been built on the cloud. These technologies and services are infinitely more agile and flexible than traditional ones, meaning that cloud-native applications can be consistently tuned and optimized for speed, security, and performance. Because of their architecture, cloud-native applications allow DevOps teams to deliver new tools and services to employees and customers more rapidly. Cloud-native applications can be realigned, reconfigured, and customized faster and easier than ever, which is crucial in a world in which customer needs change quickly.”

They’re built to run on modern infrastructure, but that’s not limited to public cloud environments.

Building cloud-native apps is as much a practice or philosophy as a technical choice.

Their appeal is tied to the dynamic, distributed nature of computing today, and to intensive business demands for greater speed, agility, scalability, reliability, and security.

Speaking of business demands, let’s go a step further: How do you really explain “cloud-native” to a wider audience, including folks for whom concepts like “immutable infrastructure” or “distributed hyperscale systems” don’t mean a darn thing? Let's talk business value.

Tags:

I am Mihai Corbuleac, Senior

I am Mihai Corbuleac, Senior IT Consultant at https://www.ComputerSupport.com - IT company providing cloud computing and information security services to small and medium businesses across the United States since 2006.

Simply put, a cloud-native app is designed specifically to run in distributed and elastic environments such as modern cloud platforms. These apps are usually developed based on loosely coupled pieces, such as microservices that let you use the cloud resources more efficiently, hence reducing the monthly bill of your cloud provider. Also, each process is packed in its own container and these packages are scheduled and carefully managed for resource optimization purposes.

Submitted by Cassidy Smith (not verified) | October 19, 2018

Exactly, cloud-native apps

Exactly, cloud-native apps are built in a modular manner operating independently, however they use the same OS and host.

Pages

Kevin Casey writes about technology and business for a variety of publications. He won an Azbee Award, given by the American Society of Business Publication Editors, for his InformationWeek.com story, "Are You Too Old For IT?" He's a former community choice honoree in the Small Business Influencer Awards.

Email Capture

Keep up with the latest thoughts, strategies, and insights from CIOs & IT leaders.

About This Site

The Enterprisers Project is an online publication and community focused on connecting CIOs and senior IT leaders with the "who, what, and how" of IT-driven business innovation.

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat. The Enterprisers Project aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. Red Hat and the Red Hat logo are trademarks of Red Hat, Inc., registered in the United States and other countries.

A note on advertising: The Enterprisers Project does not sell advertising on the site or in any of its newsletters.