5 November 2021

What is Cloud Native?

Mickael Zewde

Mickael Zewde

Head of Business Development

According to the latest Cloud Native in German companies flash survey by techconsult, 55.4 per cent of the companies surveyed are already working with microservices and container technologies as well as agile methods and DevOps concepts. Despite this, even IT-savvy users often don't know exactly what is behind the cloud native development approach.

Of course, almost everyone has a vague idea of the term "cloud native". But even the German Wikipedia does not yet have a corresponding entry. So it's high time to clarify the definition and the most important questions about "cloud native computing":

Cloud native describes an agile design principle in software development for dynamic, scalable and fault-tolerant applications that fully utilises the advantages of cloud computing. Applications developed and provided entirely in the cloud promise more agility, better quality and easy portability to different platforms. The Cloud Native Computing Foundation's charter with its "official" cloud-native definition provides further details on the meaning of cloud-native:

Cloud-native technologies enable companies to implement and operate scalable applications in modern, dynamic environments. These can be public, private and hybrid clouds. Best practices such as containers, service meshes, microservices, immutable infrastructures and declarative APIs support this approach.
These techniques enable the implementation of decoupled systems that are resilient, manageable and observable. In combination with robust automation, software developers can react flexibly and quickly to changes with little effort."


Cloud Native Computing Foundation (CNCF)

What is the Cloud Native Computing Foundation?

The Cloud Native Computing Foundation (CNCF for short) is a subsidiary organisation of the Linux Foundation. The non-profit foundation promotes cloud-native technologies through an open source ecosystem of vendor-neutral projects in order to make their innovations freely accessible. The organisation evaluates all projects in maturity levels - from "Sandbox" (start-up phase) to "Incubating" (development) to "Graduated" for production-ready products with a mature range of functions and corresponding acceptance and reliability. The best-known "Graduated Projects" include the container orchestration Kubernetes, the Kubernetes package manager Helm, the monitoring and alerting tool Prometheus and the layer 7 proxy Envoy.

The CNCF also carries out official certifications for Kubernetes container management. For example, software developers have the opportunity to qualify as a Certified Kubernetes Application Developer (CKAD). Career starters and students gain basic knowledge of Kubernetes setup and administration with the Kubernetes and Cloud Native Associate (KCNA) exam. The two-stage certification for administrators begins with the Certified Kubernetes Administrator (CKA) exam, whose knowledge can be deepened as a Certified Kubernetes Security Specialist (CKS). For companies that want to prove their expertise, there are also certifications as a Kubernetes Certified Service Provider (KCSP) or Kubernetes Training Partner (KTP).

The Cloud Native Computing Foundation was founded in 2015 following the transfer of the Kubernetes open source system originally developed by Google to the Linux Foundation. The CNCF's founding members included AT&T, Box, Cisco, Cloud Foundry Foundation, CoreOS, Cycle Computing, Docker, eBay, Goldman Sachs, Google, Huawei, IBM, Intel, Joyent, Kismatic, Mesosphere, Red Hat, Switch Supernap, Twitter, Univa, VMware and Weaveworks. More than 700 members are now organised in the CNCF (as of October 2021), including the world's largest software manufacturers in the industry, more than 200 start-ups as well as cloud providers and software houses.

What is the cloud-native approach based on?

The cloud-native approach follows the KISS principle: "Keep it simple, stupid" - don't make it unnecessarily complicated, make the code as simple and minimalist as possible. Software developers therefore split complex cloud-native applications into microservices. These microservices only take on small, very limited tasks of the application and exchange their data with each other via lean, well-defined interfaces.

With cloud native, the microservices can be provided via containers on different servers and at different locations, regardless of the platform. Administrators also have the option of scaling individual services to cover increased performance requirements for certain functionalities.

What are the typical features of cloud-native applications?

The modular concept of microservices with clearly defined interfaces and the provision of services via containers including orchestration result in a number of typical features for cloud-native applications:

  • Agility: The modular software architecture supports small, autonomous teams of developers who can work faster independently of each other.
  • Flexibility: Microservices can be realised with different technologies so that the development teams can choose the best tool to solve their problems.
  • Deployment: The cloud-native approach fulfils all the requirements for CI/CD (Continuous Integration/Continuous Delivery). As part of the DevOps strategy, software changes can therefore be tested in a highly automated manner and deployed continuously.
  • Resilience: Microservices increase the resilience of applications. Unexpected errors in one of the microservices impair functionality, but unlike monolithic software architectures, they do not bring down the entire application.
  • Scaling: Microservices make it possible to precisely measure the costs of a function and to scale each service independently via containers running in parallel. With container orchestration such as Kubernetes, this even works automatically.

Cloud Native therefore goes hand in hand with agile methods and DevOps concepts that dovetail IT development and operations in order to enable the rapid and gradual provision and improvement of software away from fixed release cycles.

What is a Cloud Native Architecture?

The Cloud Native Architecture (CNA) forms the basis for the consistent use of cloud services. Frequent and often critical changes to distributed systems require new technologies and software architectures, as well as a new organisational and team culture. The principles of a dynamic cloud-native architecture follow seven maxims:

  • Cloud computing: All IT resources (servers, storage, software, etc.) are not provided on-premise in separate data centres, but via the internet.
  • Microservices: Decoupled services that communicate with each other via APIs perform small tasks and jointly generate complex cloud-native applications.
  • Containerisation: To provide cloud-native applications, their microservices are packaged in containers that allow virtualisation with all resources.
  • Scheduling and orchestration: Container management simplifies and automates the provision, scaling and networking of the various microservices.
  • Clustering: Grouping similar processes together enables automated self-repair processes and needs-based distribution of user requests.
  • Service mesh: An additional infrastructure layer that routes all microservice requests via proxies makes service-to-service communication secure, fast and reliable.
  • CI/CD: Continuous automation and monitoring from the integration and testing phase through to deployment and implementation accelerates software development.

Kubernetes is often regarded as the "operating system for the cloud" and is the preferred orchestration tool for most cloud-native applications. 

What are the benefits of Cloud Native?

The flash survey "Cloud Native in German companies", for which techconsult surveyed more than 200 cloud-native IT decision-makers from companies with over 100 employees in May 2021 about their experiences and assessments, provides practical results. Of those surveyed, 48 per cent saw better scalability of cloud-native applications as the biggest advantage, followed by better process and cost efficiency (45 and 40 per cent respectively).

Shorter release cycles and the ability to update highly complex applications more flexibly, faster and, of course, without downtime also play an important role. Cloud-native pioneers such as Netflix deliver new code up to a hundred times a day. It is therefore hardly surprising that 36 per cent of the IT decision-makers surveyed also expect cloud native to enable faster introduction of new products as well as faster releases and agile application development. A further 32 per cent also see advantages in the increased robustness of applications.