What is Cloud Native Computing?

Applications built in and for the cloud promise increased speed, lower costs, easier management, and a better user experience.

By Michael Brenner

By Michael Brenner March 16, 2021

Even obscure companies can find themselves propelled suddenly into the public’s eye. Overnight, their customer base, transactions and web traffic swell to incredible heights. 

That might sound like a business’s dream come true, but it can unleash an avalanche of demands on the IT team. A spike in demand on data can cripple IT systems and shutdown service.

The need to handle sudden surges in demand drives many businesses to so-called cloud-native technologies, apps, and services born and operate in public, private, and hybrid cloud computing systems. Containers, service meshes, microservices, immutable infrastructure and declarative APIs are examples of this approach, according to the Cloud Native Computing Foundation.

In their survey of 900 executives about how cloud-native applications enable business agility and innovation, Capgemini reports that companies on the leading edge of cloud-native technologies are building more than 20% of their applications in the cloud, driven by the need to improve velocity, collaboration, and customer experience. The “Cloud Native Comes of Age” report stated that the proportion of new cloud-native enterprise apps is expected to double by 2020.

Increasingly, IT organizations see the agility and speed-to-market that containerized applications enable, according to Sean Roth, director of product marketing at Nutanix. One way to demystify the fervor around containers, Kubernetes and cloud-native technologies is to view them as vehicles for freedom and flexibility across the software lifecycle.

“Containers effectively abstract the application from the underlying operating system,” said Roth. 

He said a well-designed containerized application built with microservices design principles can be upgraded without downtime. It can be rapidly scaled up or down and easily ported across disparate Kubernetes environments. 

“But as we well know, that freedom and flexibility often come with the price of a steep learning curve in building cloud-native environments and applications. Global community around Kubernetes is helping make good progress.”

What Is Cloud-Native Application Development?

Cloud native technology empowers organizations to use cloud computing to build and run scalable applications in modern, dynamic IT environments. Containers, service meshes, microservices, immutable infrastructure and declarative APIs exemplify this approach.

RELATED

When Containers Get Complicated, Shift to Kubernetes as a Service

Traditionally, applications were developed and run on a physical server. Then they were modified to migrate them into a public or private cloud. Instead, cloud-native apps are built and deployed in a cloud – with the cloud’s specific architecture in mind.

Plenty of cloud-enabled software exists. Likewise, plenty of software is built in cloud sandboxes simply because it’s more convenient to keep the DevOps team in the loop. However, something developed and deployed on the cloud isn’t necessarily cloud-native unless it takes advantage of distributed systems within its architecture.

As cloud architecture expert Tom Grey wrote, “the cloud offers, and sometimes requires, very different ways to meet non-functional requirements, and imposes very different architectural constraints.”

In other words, cloud-native apps are built on the cloud and meant for the cloud. They’re not designed to run on the server in the office. Therefore, the term refers not just to where an application is built but how. Specific architecture may vary from project to project. 

How Cloud Native Computing Works

DevOps, which blends developers with operations, is a set of practices that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. In DevOps, two primary service models exist: pets and cattle. Cloud-native apps embrace the latter.

RELATED

Putting the Agile Manifesto into DevOps Action

Unlike on-premises applications and servers – where everything is part of a single, monolithic service that gets bigger as it scales up – cloud-native apps leverage the concept of distributed systems to stay quick and agile.

Each part of an app gets packaged into its own container, where it acts like an independent service that runs its own processes. Together, these microservices communicate with one another to form the app’s fabric or mesh.

Any time an app needs to scale, more of these containers are provisioned and deployed automatically. It’s like calling a bunch of temporary helpers. When the need disappears, they automatically de-provision to conserve resources. 

Likewise, if any part of an app “gets sick” or fails to function correctly, it’s easy to simply replace it with a new microservice that’s almost entirely identical. Since it happens automatically and in real time, end users won’t notice this little switch out.

Rather than building a monolithic application that eventually crumbles under its own weight, the infrastructure of the cloud-native app doesn’t fundamentally change – resources of the same type are added instead of getting bigger and (supposedly) better ones. It’s immutable. That’s why scaling in cloud-native applications is sometimes expressed as “out” rather than “up.”

The result is an agile, resilient, highly scalable model. It eliminates many of the problems associated with legacy systems that have become too large, calcified, and so convoluted it’s impossible to tell where something goes wrong.

Rather than becoming large and all-encompassing, “cloud-native architecture focuses on achieving resilience and scale through horizontal scaling, distributed processing, and automating the replacement of failed components,” Grey wrote.

For example, if a web service experiences a usage spike thanks to a Tweet, a cloud-native app can assemble more containers to meet demand – without taking the whole office out by tying up the server.

Cloud-native apps split parts of an app into various microservices that can scale as needed. Source: Microsoft

Other Benefits of Cloud-Native Apps

Containers and microservices are some of the most common features that appear in cloud-native development. However, they’re far from the only features that set cloud-native architecture apart from cloud-enabled or traditional applications.

With a cloud-native application, the typical variables and factors include:

  • Web-centric languages: Rather than C/C++, cloud-native apps more frequently leverage HTML, Java, .Net, PHP or Ruby. 
  • Real-time updating: Like other cloud applications, cloud-native apps leverage real-time updates to maintain availability. Likewise, if a part of the app goes down, it’s far less noticeable because another container will appear to replace it.
  • Multi-tenancy: Cloud-native apps assume multi-tenancy or the presence of multiple apps sharing resources in a single space. This is something traditional applications struggle with even today.
  • Redundancy: If one container goes down, another one can take its place. More redundancy in cloud-native apps means fewer instances of downtime. In contrast, if a server goes down, then everyone will notice.
  • Automation: Cloud-native apps are designed to leverage automation to handle things like dynamic scaling. That’s part of what keeps them so responsive and agile. 
  • Statelessness: Because the state of the cloud-natives app is stored in an external entity, it’s not tied to the infrastructure it runs on, unlike a web service running from a server. That makes it easier to run in a distributed manner and helps keep it available.
  • Defense-in-depth: Perimeter defense doesn’t work with the cloud, requiring more thorough authentication mechanisms and zero trust models to be put in place. Cloud-native app security is simultaneously more lightweight and more effective.

How Cloud Native Technologies Help Businesses

Before the COVID-19 pandemic, cloud-native architecture was rapidly becoming a staple in companies seeking to keep pace with digital reality. Deloitte estimated in 2019 that some three-quarters of businesses were using the cloud for some or all their most critical business functions. That trend only accelerated throughout 2020, becoming even more pronounced.

Research vice president of Gartner, Sid Nag, stated, “the pandemic validated cloud’s value proposition.” For the first time, companies saw how the cloud could provide a lifeline to companies struggling with remote workers, remote operations, and connecting with customers.

Indeed, Deloitte’s 2019 research shows that the market for serverless computing is growing by an astounding 33 percent. It’s expected to become worth an estimated $7.7 billion by the end of 2021. 

The advantages that cloud-native application development delivers to businesses are persuasive. Here are six reasons for enterprises to embrace cloud-native development for their apps or services, even if they don’t consider themselves “tech” companies.

1. Better Customer Experience with Continuous Integration/Continuous Delivery

In DevOps, continuous integration (CI) refers to the automated merging of code changes from multiple developers into a single, central project.

Continuous delivery (CD) refers to delivering new software or software updates in small, frequent batches. It uses short cycles that can take advantage of more robust testing before integrating into the whole application. It’s the second step in the software delivery pipeline.

These concepts are often expressed together with the saying, “fail fast, fix fast.” The idea is that the faster problems get caught, the quicker they get fixed, and the less likely that they’ll keep the app down – if they even make it that far.

Used together, these best practices help support businesses with apps that require frequent updates. It gives them a reliable way to deliver those updates in a seamless, resource-efficient manner. In other words, a DevOps team can spend more time focusing on development and less time worrying about what happens once the update gets pushed live. That’s especially valuable to companies that don’t consider themselves fundamentally “tech” companies.

Businesses also tend to embrace CI/CD because of the impacts it has on customer value. CI/CD can drive up the value of the customer experience through:

  • Faster fixes and new releases of features
  • Little to no disruption of service during updates
  • Improved responsiveness to demands they might have

2. Reduced Development Costs with Increased Reusability

One of the neat things about building apps using containers and microservices is that those pieces can function like building blocks later for other projects. Since developers are using a single platform to build all their apps, cloud-native apps make it easier for developers to access and reuse components created for earlier projects.

That has several advantages that can reduce development costs and make for better apps:

  • Reduced complexity of the development process: Developers get to spend more time on a project’s specifics rather than building the common framework. It also allows for the development of more sophisticated applications in less time.
  • Reduced time to market: Faster delivery means happier customers sooner. It also means the potential to seize a time-sensitive opportunity.
  • Simplified testing: Vetted microservices present fewer problems, lightening the load later in the pipeline. When developers know a service works, all they have to do is design for compatibility.
  • Enhanced UI and UX: Modular design makes it easier to standardize appearance and functionality. Companies with more than one app or service can take advantage of this to lower the learning curve for customers.

3. Improved Business Continuity with Resilient Cloud Architecture

In the 2020s, customer patience for technical troubles lies at an all-time low. Downtime is detrimental to a company’s survival. However, cloud-native computing offers a remedy to downtime and unavailable services – one that companies have noticed. 

According to Nag, “the ability to use on-demand, scalable cloud models to achieve cost efficiency and business continuity is providing the impetus for organizations to accelerate their digital business transformation plans.” 

In short, adopting cloud-native development is becoming less about having a competitive advantage and more about keeping operations lean enough to survive whatever turn the market takes. However, businesses have also discovered that cloud-native architecture can improve business continuity and aid in disaster recovery by:

  • Reducing downtime and increasing resource availability
  • Untethering employees, products, or services from physical locations
  • Enabling integrated and automated backups
  • Improving data security
  • Unifying processes on a single interface and improving visibility

4. More Efficient Budget Use with Streamlined IT Infrastructure

According to IDG’s 2020 cloud computing research report, IT costs associated with the cloud are rising. In 2020, companies spent on average some 32 percent of their IT budget building and managing their cloud resources.

While cloud-native apps have many advantages for development efficiency, the cost reduction benefits go further. In a 2019 study, Deloitte found that cloud-native apps leveraging AI and automation could slash the time and resources required to study customer habits by as much as 90 percent. In all, according to Deloitte, deploying cloud-native apps in a business can slash overall operating costs by as much as 25 percent. (Read Deloitte’s more recent The Future of Cloud-Enabled Work Infrastructure.)

5. Increased Ability to Meet Shifting Market Demands

Imagine having the ability to respond in hours to sudden changes in the market, seizing on the new customer demands and delivering what they need or expect. Imagine spotting an opportunity a moment before a competitor, snagging a key market position in the process.

Cloud-native apps can bring agility and speed, making them an ideal instrument in turbulent or hypercompetitive markets. In the world after COVID-19, that’s most industries. 

Whether the company is undergoing a digital transformation or in need of new ways to connect with customers without a physical presence, cloud-native apps are the key to take advantage of sudden opportunities that might arise. The ability to respond fast is a business imperative.

“Cloud adoption [is] a significant means to stay ahead in a post-COVID-19 world focused on agility and digital touchpoints,” stated Nag. 

6. A Culture of Collaboration with Seamless Processes

Legacy processes and systems have one other major disadvantage that can hamstring a business at a critical moment. When information exists on a physical piece of paper, it’s not just slow – it’s even harder to transmit to those who need it.

Imagine the sales department needing to check with accounting each time they want a customer’s purchase history or marketing having to check with the IT department to learn whether that latest app update has gone live. Both of those things happen more often than anyone might expect.

Deploying cloud-native apps for core business functions eliminate these bottlenecks. That’s because businesses will often use a single, seamless platform to keep their apps and services organized. When all employees can access this, it:

  • Breaks down information silos: Users now have access to what they need when they need it. Everyone exists in an ecosystem rather than their departments.
  • Aligns IT and business goals: IT departments can develop a deeper understanding of what’s important to the business. They can then use their resources more efficiently to meet those goals.
  • Encourages cross-department communication: Expertise is no longer siloed along with the information they’ve hoarded. This helps inject fresh perspectives in unexpected ways.
RELATED

Can Cloud-Connected Devices Keep Wildlife Safe?

Focus on Development, Not Managing Infrastructure

As the world races toward an ever more digitized landscape, businesses are rushing to keep pace. The COVID-19 pandemic accelerated the trend toward digital transformation, making it all but a necessity for survival.

Cloud-native has been something of a buzzword in the mix of all of this, but it’s not just fancy tech jargon. It’s a technology that’s helping businesses design, develop and deploy applications quickly. With the speed, agility, and power of cloud-native apps, many competitive limitations disappear, allowing enterprises of all sizes to innovate more rapidly.

Learn more about cloud native technologies from Nutanix.

Michael Brenner is a keynote speaker, author and CEO of Marketing Insider Group. Michael has written hundreds of articles on sites such as Forbes, Entrepreneur Magazine, and The Guardian and he speaks at dozens of leadership conferences each year covering topics such as marketing, leadership, technology and business strategy. Follow him @BrennerMichael.

© 2021 Nutanix, Inc. All rights reserved. For additional legal information, please go here.

Related Articles