Cloud Native
Cloud native landscape: https://landscape.cncf.io/
Projects
Orchestration
- [CNCF Graduated] Kubernetes
 
Tools
- kubectl
 - kubeadm
 - k9s: https://k9scli.io/
 - kops: https://kops.sigs.k8s.io/
 - kube-ps1: change bash prompt 
export '$(kube-ps1)'$PS1 - krew: a plugin manager, Extend 
kubectlwith plugins. - kuttl: The KUbernetes Test TooL, https://kuttl.dev/
 
kubeadm vs kops:
- Kops creates infrastructure, while Kubeadm does not.
 - Kops manages cluster lifecycle, while Kubeadm does not.
 
Provision Tools
- Metal3 (https://metal3.io/): to provision bare-metal hosts.
    
- Dependencies: Metal3 -> OpenStack Ironic -> PXE
 - Ironic (https://ironicbaremetal.org/) is responsible for provisioning the bare-metal server, Metal3 just provides a k8s API. (similar to ceph vs rook)
 - The Metal3 baremetal operator watches for 
BareMetalHostobjects - PXE (Preboot Execution Environment) boot: to install a fresh OS on new or malfunctioning computers. On the client side it requires only a PXE-capable network interface controller (NIC), for operating system booting, installation and deployment in data centers.
 
 
Artifacts Managments
- [CNCF Graduated] Harbor: container registry. Since version 1.6.0 Harbor is now a composite cloud-native registry which supports both container image management and Helm charts management.
 - [CNCF Graduated] Helm: the package manager for k8s. (similar to npm for node.)
 
Container Runtime
- [CNCF Graduated] containerd
 - [CNCF Graduated] cri-o
 
Storage / Databases
- [CNCF Graduated] etcd: key-value store, used by k8s.
 - [CNCF Graduated] Vitess: horizontally scale MySQL
 - [CNCF Graduated] TiKV: distributed transactional key-value db, in Rust
 - [CNCF Graduated] Rook: orchestrating Ceph on top of k8s; Ceph: a distributed fs.
 
Logging / Monitoring
- [CNCF Graduated] Prometheus: monitoring
 - [CNCF Graduated] Jaeger: tracing
 - [CNCF Incubating] OpenTelemetry: tracing. Merging OpenCensus and OpenTracing.
 - [CNCF Graduated] Fluentd / Fluentbit: push logs
    
- Fluentd: written in Ruby, built as a Rube Gem, uses more memory.
 - Fluent Bit: written in C, 0 dependencies, much smaller. A CNCF Sub-Project Under The Umbrella Of Fluentd.
 
 - Grafana: view logs
 - Grafana Loki: store logs
 
Security
3 areas: image security, runtime security, policy management.
- [CNCF Graduated] TUF: a framework, various tools implement this spec
 - [CNCF Incubating] Notary: an implementation of the TUF spec. Docker uses Notary behind the scenes.
 - [CNCF Graduated] OPA: use the same policy language, model, API for all cloud native projects.
 - [CNCF Incubating] Falco: container runtime security, parses Linux system calls from the kernel.
 
Key Management
- [CNCF Graduated] Spiffe
 - [CNCF Graduated] Spire
 
Networking
- [CNCF Incubating] CNI: the interface
 - Cilium
 - Calico
 - Flannel
 - [CNCF Graduated] CoreDNS
 - [CNCF Incubating] Cilium: eBPF-based Networking, Observability, Security. https://cilium.io/
 - [K8S SIG] External DNS: NOT a DNS server itself, but merely configures other DNS providers accordingly, e.g. AWS Route 53 or Google Cloud DNS.
 
Service Mesh and Proxy
Injects sidecar config into the YAML.
- [CNCF Graduated] Envoy: service proxy, sidecar.
 - [CNCF Graduated] Linkerd
 - [CNCF Incubating] Istio
 
CI / CD
- [CNCF Graduated] Argo
 - Prow: a Kubernetes-native CI/CD system. https://github.com/kubernetes/test-infra/tree/master/prow
 - [CNCF Graduated] flux
 
VM: KubeVirt
Read: kubevirt
Application Frameworks
- Quarkus: an alternative to spring boot. Java based. Better performance, Container First, kubernetes native, microservice first. Quarkus brings immutability to containers, faster startup, and more predictability.
 
Cert
- [CNCF Incubating] cert-manager is the de facto standard for X.509 certificates in Kubernetes environments. 
cert-manageradds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates. https://github.com/cert-manager/cert-manager - step-ca: an online Certificate Authority (CA) for secure, automated X.509 and SSH certificate management.
 
Knative: Serverless
[CNCF Incubating] Knative: https://knative.dev/.
Kubernetes-based platform to deploy and manage modern serverless workloads.
Serverless users are afraid of vendor lock-in, so Knative is created to make serverless standardized and portable.
- Knative is the open source version
 - Google Cloud Run is an internal implementation of the same Knative Serving API, running on Google's internal infrastruction (i.e. on borg, not on k8s).
 - Google Cloud Run for Anthos (now reborn as Knative serving under GKE Enterprise) is using the open source Knative running on k8s (GKE)
 
gRPC: RPC framework
Read more: gRPC
Foundations
The Linux Foundation vs CNCF: The Linux Foundation is the parent of CNCF. CNCF is one of the LF’s largest sub-foundations.
Most of these projects are hosted in CNCF; some are directly under LF; some are independent.