graphwiz.ai
← Back to DevOps

CNCF Landscape: App Definition & Development

puluminatstektonstrimzikafkaci-cdstreamingmessaging

CNCF Landscape: App Definition & Development

The App Definition & Development category covers the tools that define, build, test, and deploy cloud native applications — from CI/CD pipelines to streaming platforms to infrastructure as code.

Pulumi: Infrastructure as Real Code

Pulumi at 24,928 stars and 1,337 forks takes infrastructure as code beyond YAML templates. With Pulumi, you define infrastructure using real programming languages — TypeScript, Python, Go, C# — with IDE support, testing, and reuse.

Pulumi bridges the gap between software engineering and infrastructure operations. Developers can use familiar patterns (loops, functions, classes, packages) to define infrastructure, then deploy via Pulumi's Cloud API. This approach enables code review, unit testing, and type safety for infrastructure.

Key capabilities: Multi-language SDK (TypeScript, Python, Go, C#), state management, policy packs, Pulumi AI, CrossGuard compliance, and 100+ cloud providers.

NATS: High-Performance Messaging

NATS at 19,443 stars and 1,764 forks (graduated) is a lightweight, high-performance messaging system designed for cloud native workloads. Its JetStream persistence layer provides exactly-once semantics and replay capabilities.

NATS is the messaging backbone of many microservices architectures. Its minimal footprint (a single Go binary), sub-millisecond latency, and wire protocol make it ideal for service-to-service communication where performance matters.

Key capabilities: JetStream persistent messaging, exactly-once delivery, publish-subscribe and request-reply patterns, distributed queue groups, KV store, and wildcard subscriptions.

Tekton: Cloud Native CI/CD

Tekton at 8,921 stars and 1,910 forks (graduated) provides a Kubernetes-native framework for building CI/CD pipelines. Each step in the a pipeline is a Kubernetes resource, giving you full control over the execution environment.

Tekton pipelines run directly on Kubernetes, which means CI/CD workloads get the same resource isolation, scheduling, and scaling as production workloads. No separate CI runners needed — your cluster IS your CI system.

key capabilities: Kubernetes-native execution, CloudEvent triggers, Workspace resources, Task results, PipelineRun status, and catalog-based reusability.

Strimzi: Apache Kafka on Kubernetes

Strimzi at 5,755 stars and 1,471 forks (graduated) deploys and manages Apache Kafka clusters on Kubernetes using Custom Resource Definitions.

Strimzi makes Kafka operations as declarative as any other Kubernetes resource. You define a KafkaTopic or KafkaUser, and Strimzi handles the complex Kafka cluster operations behind the scenes — topic creation, partition assignment, consumer group management, and rolling upgrades.

Key capabilities: Kafka cluster provisioning, topic and user management via CRDs, cruise control for partition rebalancing, Kafka Connect deployment, MirrorMaker 2 for cross-cluster replication, and TLS configuration.

The Development Pipeline

┌─────────────────────────────────────┐
│         Tekton (CI/CD Pipeline)          │ ← Orchestrated on K8s
├─────────────────────────────────────┤
│       Pulumi (IaC as Code)          │ ← Infrastructure definition
├─────────────────────────────────────┤
│         NATS (Event Streaming)         │ ← Service communication
├─────────────────────────────────────┤
│       Strimzi (Kafka Operator)       │ ← Event streaming platform
└─────────────────────────────────────┘

When to Use What

  • Infrastructure with complex logic? Pulumi — real programming beats YAML templates.
  • Lightweight messaging? NATS — minimal footprint, maximal performance.
  • Kubernetes-native CI/CD? Tekton — no separate runners needed.
  • Apache Kafka on K8s? Strimzi — makes Kafka declarative.