The Cloud Native Computing Foundation (CNCF) was founded to advance container technologies and align the technology industry around their evolution. The CNCF began with Kubernetes, an open-source cluster manager Google developed for internal use.
The CNCF Landscape depicts a range of tools that assist with cloud-native development, deployment, and management. The layers include applications, runtime, orchestration and management, observability and analysis, and platforms.
An application is a software program that performs a specific task. It can perform tasks such as calculating, rendering, word processing, and text editing. Application software can be bundled within operating systems such as a software calculator or word processor or purchased separately, for example, as a game or utility. It can also be a stand-alone program, such as a geography application for Windows or an email program. Some applications are available in multiple versions for different platforms, while others are exclusive to one, increasing that platform’s desirability. For example, the first modern spreadsheet software was a popular application that helped propel it to success.
CNCF is a nonprofit that advances open-source technologies for cloud-native computing. It is a diverse community of developers, end users, and IT technology and service providers that collaborate on projects. In addition, the cloud native computing foundation landscape is an interactive map that helps enterprises choose the best tools for their cloud-native journey. The Landscape includes categories for Provisioning– tools that set up the infrastructure on which the cloud environment and its supporting technologies will run. Orchestration and management–tools to automate tasks. Observability and analysis–tools to monitor, log and track application operational data.
A large part of the cloud native ecosystem focuses on the runtime layer. This includes tools that provide cloud-native storage options, standardize container interfaces to interact with them, enable automatic provisioning or monitor applications, and alert stakeholders of any issues. Some platforms bundle together multiple functionalities and tools to solve a more significant problem, such as monitoring or networking.
Enterprises pursuing their cloud-native journey should begin by leveraging containerization. This encapsulates and bundles an application with its dependencies into a container, which can be deployed on a platform to manage deployments in a scalable way. The next step is to use a continuous integration and delivery (CI/CD) pipeline, which automates code rollouts and testing. Finally, enterprises should use a service mesh to connect and communicate with a system’s various components.
Orchestration & Management
As the name implies, cloud-native architectures are designed to run in the cloud. This enables them to be self-healing and highly available, with the ability to scale in or out quickly based on demand. They also use DevOps automation and enable methodologies like blue-green and canary deployments to introduce software changes with zero downtime.
However, managing and deploying a cloud-native app requires a complex infrastructure. This is where the CNCF landscape becomes helpful. This centralized hub hosts projects to help organizations manage their applications.
The Provisioning layer includes tools for creating and hardening the foundation for building cloud-native apps. This includes container registry and runtimes, a high-performance messaging system, and a distribution platform that can scan, sign and store image contents.
The CNCF landscape can feel overwhelming, but viewing it in segments or layers is helpful. This helps break down the complexity and makes it easier for engineers new to this space.
Observability & Analysis
A key feature of cloud-native applications is how they use microservices architecture to enable flexible scalability and self-healing. These services communicate with one another through an event-driven architecture, which allows for more agile development and higher performance.
Observability and analysis tools are vital to help make the most of these benefits. These include logs, metrics, and traces – often called telemetry – that provide a snapshot of the system as it operates. Pioneering engineers are helping to establish open telemetry standards incubated by the CNCF, allowing developers to capture and make sense of this data.
Other observability tools are service proxies to manage communication within service mesh networks. Finally, storage tools are a foundation of cloud-native persistent storage for file, block, and object storage that can support programmatic storage, migration, disaster recovery, monitoring, and more. These are all examples of the rapidly growing open-source technologies that the CNCF promotes, ensuring they get into the hands of developers faster.
The complexity of modern business systems requires agile, scalable architectures that can deliver continuous innovation with unparalleled responsiveness. To accomplish this, developers must build, deploy and manage modern cloud-native applications quickly and easily. Cloud Native Services empower these apps by providing developers with a comprehensive, standards-based platform using technologies
While you could create your cloud-native stack from individual technologies, it’s likely more cost-effective and time-efficient to choose a platform that bundles technologies from each of the four layers—provisioning, runtime, orchestration, and management, as well as observability and analysis. These platforms also simplify and accelerate adoption by eliminating the need for teams to configure and fine-tune individual components manually.
The CNCF recommends that enterprises use distributions, which incorporate other CNCF technologies into a single platform. This enables organizations to benefit from the platform’s preconfigured, secure, reliable, and production-ready capabilities without hiring specialized engineers to configure, fine-tune and maintain individual projects manually. The trail map’s recommended platform provides additional benefits, including a typical CI/CD workflow, software distribution, and an integrated developer experience.