/awesome-cloud-native

A curated list for awesome cloud native tools, software and tutorials. - https://jimmysong.io/awesome-cloud-native/

Primary LanguageHTMLCreative Commons Zero v1.0 UniversalCC0-1.0

Awesome Cloud Native Awesome

A curated list of cloud native tools, software, and tutorials.

Cloud Native is a behavior and design philosophy. At its essence, any behavior or approach that improves resource utilization and application delivery efficiency in the cloud is called Cloud Native.

Contents

AI

  • allennlp - An open-source NLP research library, built on PyTorch.
  • caffe2 - Caffe2 is a lightweight, modular, and scalable deep learning framework.
  • elasticdl - Kubernetes-native Deep Learning Framework.
  • h2o-3 - Open Source Fast Scalable Machine Learning API For Smarter Applications (Deep Learning, Gradient Boosting, Random Forest, Generalized Linear Modeling (Logistic Regression, Elastic Net), K-Means, PCA, Stacked Ensembles.)
  • keras - Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano.
  • kubeflow - Machine Learning Toolkit for Kubernetes.
  • leaf - Open Machine Intelligence Framework for Hackers. (GPU/CPU).
  • paddlepaddle - PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署).
  • predictionio - PredictionIO, a machine learning server for developers and ML engineers.
  • pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.
  • seldon-core - A framework to deploy, manage and scale your production machine learning to thousands of models.
  • sqlflow - Brings SQL and AI together.
  • tensorflow - Computation using data flow graphs for scalable machine learning.

API Gateway

  • ambassador - Ambassador: a self-service API gateway for microservices built on Lyft Envoy.
  • express-gateway - A microservices API Gateway built on top of ExpressJS.
  • kong - The Microservice API Gateway.
  • krakend - Ultra performant API Gateway with middlewares.
  • orange - OpenResty/Nginx Gateway for API Monitoring and Management.
  • ocelot - .NET core API Gateway.

Application Delivery

  • argo-cd - Declarative continuous deployment for Kubernetes.
  • argo - Get stuff done with container-native workflows for Kubernetes.
  • arkade - Kubernetes apps for developers.
  • armada - A python orchestrator for a installing, upgrading, and managing a collection of helm charts, dependencies, and values overrides.
  • autoapply - Automatically apply changes from a git repository to Kubernetes.
  • ballerina-lang - Ballerina is a new programming language for integration built on a sequence diagram metaphor.
  • beetle - Kubernetes multi-cluster deployment automation service.
  • binderhub - Run your code in the cloud, with technology so advanced, it feels like magic!
  • build - A Kubernetes-native Build resource.
  • cdk8s - Define Kubernetes native apps and abstractions using object-oriented programming.
  • cds - Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform.
  • charitify - Generate Helm Charts from Kubernetes objects.
  • circleci - Continuous Integration and Deployment.
  • cnab-spec - Cloud Native Application Bundle Specification.
  • commandeer - Cloud management desktop app for macOS, Windows, and Linux.
  • containerops - DevOps Orchestration Platform.
  • couler - Unified Interface for Constructing and Managing Workflows
  • crane - Yet another control plane based on docker built-in swarmkit.
  • cross-cloud - Cross Cloud Continuous Integration.
  • cue - Validate and define text-based and dynamic configuration.
  • cyclone - Powerful workflow engine and end-to-end pipeline solutions implemented with native Kubernetes resources.
  • draft - A tool for developers to create cloud-native applications on Kubernetes.
  • drone - Drone is a Continuous Delivery platform built on Docker, written in Go.
  • fabric8 - fabric8 is an open source microservices platform based on Docker, Kubernetes and Jenkins.
  • flagger - Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments) .
  • flux - A tool for turning container images into running Kubernetes services.
  • gitkube - Gitkube: Build and deploy docker images to Kubernetes using git push.
  • gockerize - Package golang service into minimal docker containers.
  • habitus - A build flow tool for Docker.
  • helm - The Kubernetes Package Manager.
  • helmsman - Helm Charts as Code.
  • hiboot - Hiboot is a high performance web and cli application framework with dependency injection support.
  • hygieia - CapitalOne DevOps Dashboard.
  • hyscale - All things HyScale.
  • jenkins - Jenkins automation server.
  • jib - Build container images for your Java applications.
  • jsonnet - Jsonnet - The data templating language.
  • jx - A command line tool for installing and working with Jenkins X.
  • kaniko - Build Container Images In Kubernetes.
  • kd - Minimalistic kubernetes resources deployment tool with templating.
  • kdo - Deployless Development on Kubernetes.
  • kedge - Kedge - Concise Application Definition for Kubernetes.
  • kenyata - Automated Canary Service.
  • keptn - Keptn is a control-plane for continuous delivery and operations enable cloud-native applications to run autonomously.
  • kismatic - Kismatic Enterprise Toolkit: Fully-Automated, Production-Grade Kubernetes Operations.
  • kompose - Go from Docker Compose to Kubernetes.
  • kpt - Kpt is a toolkit to help you manage, manipulate, customize, and apply Kubernetes Resource configuration data files.
  • kubeapps - A web-based UI for deploying and managing applications in Kubernetes clusters.
  • kubegen - Kubegen – simple way to describe Kubernetes resources.
  • kubernetes-deploy - A command-line tool that helps you ship changes to a Kubernetes namespace and understand the result.
  • kustomize - Customization of kubernetes YAML configurations.
  • lastbackend - Container orchestration with CI&CD, cli and amazing UI.
  • mkit - MKIT is a Managed Kubernetes Inspection Tool that validates several common security-related configuration settings of managed Kubernetes cluster objects and the workloads/resources running inside the cluster.
  • opencompose - OpenCompose - A higher level abstraction for Kubernetes Resource.
  • pipeline - REST API to provision or reuse managed Kubernetes clusters in the cloud and deploy cloud native apps.
  • pipeline - A K8s-native Pipeline resource.
  • pulumi - A multi-language, multi-cloud development platform -- your code, your cloud, your team.
  • rudr - A Kubernetes implementation of the Open Application Model specification.
  • skaffold - Easy and Repeatable Kubernetes Development.
  • smith - Smith: A microcontainer builder.
  • source-to-image - A tool for building/building artifacts from source and injecting into docker images.
  • spec - The Open Application Model specification.
  • spinnaker - Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.
  • terraform - Terraform is a tool for building, changing, and combining infrastructure safely and efficiently.
  • tilt - A multi-service dev environment for teams on Kubernetes.
  • wercker - The Wercker CLI can be used to execute pipelines locally for both local development and easy introspection.
  • woodpecker - Fork of drone.io v0.8 since drone is not fully opensource anymore.

Big Data

  • fast-data-dev - Kafka Docker for development. Kafka, Zookeeper, Schema Registry, Kafka-Connect, Landoop Tools, 20+ connectors.
  • pachyderm - Reproducible Data Science at Scale!
  • spark - Apache Spark enhanced with native Kubernetes scheduler back-end.
  • spark-on-kubernetes-helm - Spark on Kubernetes infrastructure Helm charts repo.
  • wallaroo - Ultrafast and elastic data processing.

Container Runtime

  • clear-containers - OCI (Open Containers Initiative) compatible runtime using Virtual Machines.
  • containerd - An open and reliable container runtime.
  • cri-containerd - Containerd-based implementation of Kubernetes Container Runtime Interface.
  • cri-o - Open Container Initiative-based implementation of Kubernetes Container Runtime Interface.
  • frakti - The hypervisor-based container runtime for Kubernetes.
  • gvisor - Sandboxed Container Runtime.
  • hyperd - HyperContainer Daemon.
  • katacontainers - Kata Containers is a new open source project building extremely lightweight virtual machines that seamlessly plug into the containers ecosystem.
  • moby - Moby Project - a collaborative project for the container ecosystem to assemble container-based systems.
  • pouch - Pouch is an open-source project created to promote the container technology movement.
  • railcar - RailCar: Rust implementation of the Open Containers Initiative oci-runtime.
  • rkt - Rkt is a pod-native container engine for Linux. It is composable, secure, and built on standards.

Database

  • arangodb - ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.
  • beringei - Beringei is a high performance, in-memory storage engine for time series data.
  • cockroachdb - CockroachDB - the open source, cloud-native SQL database.
  • couchdb - Apache CouchDB is one of a new breed of database management systems.
  • etcd - Distributed reliable key-value store for the most critical data of a distributed system.
  • influxdb - Scalable datastore for metrics, events, and real-time analytics.
  • leveldb - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
  • mehdb - Educational Kubernetes-native NoSQL datastore using StatefulSet and persistent volumes.
  • mongodb - MongoDB is an open source database that uses a document-oriented data model.
  • nebula - A distributed, fast open-source graph database featuring horizontal scalability and high availability.
  • opentsdb - A scalable, distributed Time Series Database.
  • redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, HyperLogLogs, Bitmaps.
  • rethinkdb - The open-source database for the realtime web.
  • sharding-sphere - Distributed database middleware.
  • stolon - PostgreSQL cloud native High Availability and more.
  • tidb - TiDB is a distributed NewSQL database compatible with MySQL protocol.

Edge Computing

  • baetyl - Extend cloud computing, data and service seamlessly to edge devices.
  • eliot - Open source system for managing containerized applications in IoT device.
  • iotedge - The IoT Edge OSS project.
  • k3s - Lightweight Kubernetes. 5 less than k8s.
  • kubeedge - Kubernetes Native Edge Computing Framework (project under CNCF).
  • octopus - Lightweight device management system for Kubernetes/k3s.
  • openyurt - Extending your native Kubernetes to the edge.

Fault Tolerant

  • chaosblade - An easy to use and powerful chaos engineering experiment toolkit(阿里巴巴开源的一款简单易用、功能强大的混沌实验注入工具).
  • chaosmonkey - Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.
  • chaos-mesh - A Chaos Engineering Platform for Kubernetes.
  • concurrency-limits - Java Library that implements and integrates concepts from TCP congestion control to auto-detect concurrency limits to achieve optimal throughput with optimal latency.
  • hystrix - Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.
  • ratelimit - Go/gRPC service designed to enable generic rate limit scenarios from different types of applications.
  • sentinel - A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件)

Kubernetes Operators

  • banzaicloud/bank-vaults - A Vault swiss-army knife: a K8s operator, Go client with automatic token renewal, automatic configuration, multiple unseal options and more. A CLI tool to init, unseal and configure Vault (auth methods, secret engines). Direct secret injection into Pods.
  • eunomia - A GitOps Operator for Kubernetes.
  • flagger - Istio progressive delivery Kubernetes operator.
  • keel - Kubernetes Operator to automate Helm, DaemonSet, StatefulSet & Deployment updates.
  • kopf - A Python framework to write Kubernetes operators in just few lines of code.
  • kudo - Kubernetes Universal Declarative Operator (KUDO).
  • kubevirt - Kubernetes Virtualization Operator with API and runtime in order to define and manage virtual machines.
  • operator-lifecycle-manager - A management framework for extending Kubernetes with Operators.
  • operator-sdk - SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.
  • prometheus-operator - Prometheus Operator creates/configures/manages Prometheus clusters atop Kubernetes.
  • spark-on-k8s-operator - Kubernetes operator for managing the lifecycle of Apache Spark applications on Kubernetes.
  • strimzi-kafka-operator - Apache Kafka running on Kubernetes.
  • tidb-operator - TiDB operator creates and manages TiDB clusters running in Kubernetes.

Logging

  • beats - Beats - Lightweight shippers for Elasticsearch & Logstash.
  • collectbeat - Beats with discovery capabilities for environments like Kubernetes.
  • elasticsearch - Open Source, Distributed, RESTful Search Engine.
  • fluent-bit - Fast and Lightweight Log/Data Forwarder for Linux, BSD and macOS.
  • fluentd-pilot - Collect logs in docker containers.
  • fluentd - Fluentd: Unified Logging Layer (project under CNCF).
  • flume - Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data.
  • heapster - Compute Resource Usage Analysis and Monitoring of Container Clusters.
  • log-pilot - Collect logs in docker containers.
  • loki - Like Prometheus, but for logs.
  • telegraf - The plugin-driven server agent for collecting & reporting metrics.

Message Broker

  • emqx - EMQ X Broker - Scalable Distributed MQTT Message Broker for IoT in 5G Era.
  • flume - Apache Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data.
  • gnatsd - High-Performance server for NATS, the cloud native messaging system.
  • jocko - Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native).
  • kafka - A distributed streaming platform.
  • nsq - A realtime distributed messaging platform.
  • rabbitmq - RabbitMQ is the most widely deployed open source message broker.
  • rocketmq - Apache RocketMQ is a distributed messaging and streaming platform with low latency, high performance and reliability, trillion-level capacity and flexible scalability.

Miscellaneous

  • agones - Dedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes.

Monitoring

  • cadvisor - Analyzes resource usage and performance characteristics of running containers.
  • cortex - A multitenant, horizontally scalable Prometheus as a Service.
  • elasticsearch-hq - Monitoring and Management Web Application for ElasticSearch instances and clusters.
  • grafana - The tool for beautiful monitoring and metric analytics & dashboards for Graphite, InfluxDB & Prometheus & More.
  • hawkular-metrics - Time Series Metrics Engine based on Cassandra.
  • kibana - Kibana analytics and search dashboard for Elasticsearch.
  • kubernetes-zabbix - Kubernetes Zabbix/Grafana cluster (bare metal, Google Computer Engine - GCE, Google Container Engine - GKE).
  • nexclipper - An open source software for monitoring Kubernetes and containers.
  • open-falcon - Enterprise Internet monitoring system from Xiaomi.
  • owl - Distributed monitoring system from TalkingData.
  • prometheus - The Prometheus monitoring system and time series database.
  • scope - Monitoring, visualisation & management for Docker & Kubernetes.
  • sofa-lookout - Lookout can help you to measure and monitor the status of the target system with its multi-dimensional metrics.
  • statsd - Daemon for easy but powerful stats aggregation.

Network

  • calico - A Pure Layer 3 Approach to Virtual Networking for Highly Scalable Data Centers.
  • cilium - API-aware Networking and Security using eBPF and XDP.
  • cni - Container Network Interface - networking for Linux containers.
  • cni-genie - CNI-Genie for choosing pod network of your choice during deployment time. Supported pod networks - Calico, Flannel, Romana, Weave.
  • contiv - Container networking for various use cases.
  • flannel - Flannel is a network fabric for containers, designed for Kubernetes.
  • hubble - Hubble - Network, Service & Security Observability for Kubernetes.
  • istio-cni - Istio CNI to setup kubernetes pod namespaces to redirect traffic to sidecar proxy.
  • knitter - Kubernetes network solution.
  • kube-router - Kube-router, a turnkey solution for Kubernetes networking.
  • kube-ovn - Kube-OVN, a Kubernetes network fabric for enterprises that is rich in functions and easy in operations.
  • matchbox - Network boot and provision Container Linux clusters (e.g. etcd3, Kubernetes, more).
  • submariner - Connect all your Kubernetes clusters, no matter where they are in the world.
  • weave - Simple, resilient multi-host Docker networking and more.

Observability

  • envoy-ui - Dead simple server-side UI for Envoy proxy (like HAproxy stats).
  • goldpinger - Debugging tool for Kubernetes which tests and displays connectivity between nodes in the cluster.
  • istio-ui - Istio config management backend.
  • kiali - Kiali project to help istio service mesh observability.
  • konstellate - Free and Open Source GUI to Visualize Kubernetes Applications.
  • kube-ops-view - Kubernetes Operational View - read-only system dashboard for multiple K8s clusters.
  • naftis - An excellent dashboard for Istio built with love.
  • octant - Highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
  • vistio - Visualize your Istio mesh using Netflix's Vizceral.
  • vizceral - WebGL visualization for displaying animated traffic graphs.

Orchestration and Scheduler

  • alameda - Intelligent Resources Orchestrator for Kubernetes by using machine learning.
  • blox - Open source tools for building custom schedulers on Amazon ECS.
  • compose - Define and run multi-container applications with Docker.
  • conductor - Conductor is a microservices orchestration engine.
  • descheduler - Descheduler for Kubernetes.
  • fleet - Fleet ties together systemd and etcd into a distributed init system.
  • kruise - Automate application workloads management on Kubernetes.
  • kubernetes - Production-Grade Container Scheduling and Management.
  • marathon - Deploy and manage containers (including Docker) on top of Apache Mesos at scale.
  • mesos - Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.
  • serf - Service orchestration and management tool by hashicorp.
  • service-fabric - Service Fabric is a distributed systems platform for packaging, deploying, and managing stateless and stateful distributed applications and containers at large scale.
  • swan - A Distributed, Highly Available Mesos Scheduler, Inspired by the design of Google Borg.
  • swarm - Swarm: a Docker-native clustering system.

PaaS Manager

  • breeze - Wise2C ansible playbook for Kubernetes cluster installation.
  • choerodon - The open source PaaS for Kubernetes.
  • cloudfoundry - Cloud Foundry is an open source, multi cloud application platform as a service (PaaS) governed by the Cloud Foundry Foundation.
  • conjure-up - Deploying complex solutions, magically.
  • crossplane - An Open Source Multicloud Control Plane.
  • dc/os - Datacenter Operating System.
  • deis - Deis v1, the CoreOS and Docker PaaS: Your PaaS. Your Rules.
  • flynn - A next generation open source platform as a service (PaaS).
  • kqeen - Kubernetes queen - cluster manager.
  • kubermatic - The Central Kubernetes Management Platform For Any Infrastructure.
  • kubernator - Alternative Kubernetes UI.
  • kubesphere - Enterprise Container Managent Platform.
  • oneinfra - Kubernetes as a Service.
  • opendcp - Docker platform developed by weibo.
  • openshift - Enterprise Kubernetes for Developers.
  • rainbond - Serverless PaaS , A new generation of easy-to-use cloud management platforms based on kubernetes.
  • rancher - Complete container management platform.
  • supergiant - Automatically scale hardware and easily run stateful applications using Kubernetes.
  • wayne - Web UI for Kubernetes multi-clusters.
  • vamp - Vamp - canary releasing and autoscaling for microservice systems.
  • volcano - A Kubernetes Native Batch System (Project under CNCF).

Proxy

  • caddy - Fast, cross-platform HTTP/2 web server with automatic HTTPS.
  • contour - Contour is a Kubernetes ingress controller for Lyft's Envoy proxy.
  • envoy-docker-shim - Run Envoy in place of docker-proxy.
  • envoy - C++ front/service proxy.
  • gimbal - Heptio Gimbal is an ingress load balancing platform capable of routing traffic to multiple Kubernetes and OpenStack clusters. Built by Heptio in partnership with Actapio.
  • gobetween - Modern & minimalistic load balancer for the Сloud era.
  • haproxy - HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications.
  • kEdge - kEdge - Kubernetes Edge Proxy for gRPC and HTTP Microservices.
  • katran - A high performance layer 4 load balancer.
  • kong-ingress - A Kubernetes Ingress for Kong.
  • kong/kubernetes-ingress-controller - Deploy Kong in a native Kubernetes Ingress Controller.
  • metallb - A network load-balancer implementation for Kubernetes using standard routing protocols.
  • mosn - MOSN is a cloud native proxy for edge or service mesh.
  • nginx-kubernetes-ingress - NGINX and NGINX Plus Ingress Controllers for Kubernetes.
  • nginx - Nginx is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev.
  • ribbon - Ribbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers. The primary usage model involves REST calls with various serialization scheme support.
  • skipper - An HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress.
  • traefik - Træfik, a modern reverse proxy.
  • voyager - Secure Ingress Controller for Kubernetes.

RPC

  • brpc - Most common RPC framework used throughout Baidu, with 600,000+ instances and 500+ kinds of services, called "baidu-rpc" inside Baidu.
  • finagle - A fault tolerant, protocol-agnostic RPC system.
  • grpc - A high performance, open source, general-purpose RPC framework.
  • proxygen - A collection of C++ HTTP libraries including an easy to use HTTP server.
  • rsocket - Streaming message protocol with Reactive Extension/Stream semantics.
  • sofa-bolt - SOFABolt is a lightweight, easy to use and high performance remoting framework based on Netty.
  • sofa-rpc - SOFARPC is a high-performance, high-extensibility, production-level Java RPC framework.
  • tars - Tars is a high-performance RPC framework based on name service and Tars protocol, also integrated administration platform, and implemented hosting-service via flexible schedule.
  • thrift - Apache thrift.

Security and Audit

  • apparmor - AppArmor is an effective and easy-to-use Linux application security system.
  • authenticator - A tool for using AWS IAM credentials to authenticate to a Kubernetes cluster.
  • cert-manager - Automatically provision and manage TLS certificates in Kubernetes.
  • checkov - A static analysis tool for infrastructure as code - to prevent misconfigs at build time.
  • clair - Vulnerability Static Analysis for Containers.
  • cost-model - Cross-cloud cost allocation models for workloads running on Kubernetes.
  • dex - OpenID Connect Identity (OIDC) and OAuth 2.0 Provider with Pluggable Connectors.
  • docker-bench-security - The Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production.
  • dockscan - Dockscan is security vulnerability and audit scanner for Docker installations.
  • drydock - Drydock provides a flexible way of assessing the security of your Docker daemon configuration and containers using editable audit templates.
  • falco - Behavioral Activity Monitoring With Container Support.
  • goldfish - A HashiCorp Vault UI panel written with VueJS and Vault native Go API.
  • grafeas - Cloud artifact metadata CRUD API and resource specifications.
  • guard - Kubernetes Authentication WebHook Server.
  • k8guard - An auditing system for Kubernetes.
  • keycloak - Open Source Identity and Access Management For Modern Applications and Services.
  • kritis - Deploy-time Policy Enforcer for Kubernetes applications.
  • kube-bench - The Kubernetes Bench for Security is a Go application that checks whether Kubernetes is deployed according to security best practices.
  • kube-lego - Automatically request certificates for Kubernetes Ingress resources from Let's Encrypt.
  • kube2iam - kube2iam provides different AWS IAM roles for pods running on Kubernetes.
  • kubed - A Kubernetes Cluster Operator Daemon.
  • notary - Notary is a Docker project that allows anyone to have trust over arbitrary collections of data.
  • opa - An open source project to policy-enable your service.
  • pomerium - Pomerium is a zero-trust context and identity aware access gateway inspired by BeyondCorp.
  • spiffe - The SPIFFE Project.
  • trivy - A Simple and Comprehensive Vulnerability Scanner for Containers, Suitable for CI.
  • vault - A tool for managing secrets.

Service Mesh

  • amalgam8 - Content and Version-based Routing Fabric for Polyglot Microservices.
  • consul - Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.
  • istio - Connect, secure, control, and observe services.
  • kuma - Universal Control Plane for your Service Mesh.
  • linkerd - Resilient service mesh for cloud native apps.
  • likerd2 - Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
  • maesh - Simpler Service Mesh.
  • nginmesh - Service Mesh using Nginx.
  • nginx-unit - NGINX Unit is a new, lightweight, open source application server built to meet the demands of dynamic and distributed applications.
  • osm - Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
  • servicecomb - ServiceComb is a microservice framework that provides an easy way to develop and deploy applications in the cloud.
  • supergloo - The Service Mesh Orchestration Platform.

Service Registry and Discovery

  • apollo - Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景.
  • confd - Manage local application configuration files using templates and data from etcd or consul.
  • coredns - CoreDNS is a DNS server that chains middleware.
  • eureka - AWS Service registry for resilient mid-tier load balancing and failover.
  • open-service-broker-sdk - A starting point for creating service brokers implementing the Open Service Broker API.
  • registrator - Service registry bridge for Docker with pluggable adapters.
  • rotor - Rotor is a fast, lightweight bridge between your service discovery and the configuration APIs of Envoy. Rotor supports Kubernetes, Consul, AWS (EC2 and ECS), DC/OS, flat files, and even other EDS/CDS implementations.
  • service-broker - Open Service Broker API Specification.
  • service-catalog - Consume services in Kubernetes using the Open Service Broker API.
  • skydns - DNS for skynet or any other service discovery.
  • steward - The Kubernetes-native Service Broker.
  • synapse - A transparent service discovery framework for connecting an SOA.
  • vulcand - Programmatic load balancer backed by Etcd.
  • zookeeper - Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination.

Serverless

  • dapr - Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
  • dispatch - Dispatch is a framework for deploying and managing serverless style applications.
  • eventing - Open source specification and implementation of Knative event binding and delivery.
  • faas-netes - Enable Kubernetes as a backend for Functions as a Service (OpenFaaS).
  • firecamp - Serverless Platform for the stateful services.
  • firecracker - Secure and fast microVMs for serverless computing.
  • fission - Fast Serverless Functions for Kubernetes.
  • fn - The container native, cloud agnostic serverless platform.
  • funktion - A CLI tool for working with funktion.
  • fx - Poor man's serverless framework based on Docker, Function as a Service with painless.
  • gloo - The Function Gateway built on top of Envoy.
  • ironfunctions - IronFunctions - the serverless microservices platform.
  • keda - KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes.
  • knative-lambda-runtime - Running AWS Lambda Functions on Knative/Kubernetes Clusters.
  • knix - KNIX MicroFunctions is a serverless computing platform that combines container-based resource isolation with a lightweight execution model using processes to significantly improve resource efficiency and decrease the function startup latency. KNIX MicroFunctions works in Knative as well as bare metal or virtual machine-based environments.
  • kubeless - Kubernetes Native Serverless Framework.
  • nuclio - High-Performance Serverless event and data processing platform.
  • openfaas - OpenFaaS - Serverless Functions Made Simple for Docker & Kubernetes.
  • openwhisk - Apache OpenWhisk (Incubating) is a serverless, open source cloud platform that executes functions in response to events at any scale.
  • osiris - A general purpose, scale-to-zero component for Kubernetes.
  • riff - Riff is for functions.
  • serverless - Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more!
  • serving - Kubernetes-based, scale-to-zero, request-driven compute.
  • spec - CloudEvents Specification.
  • sqoop - The GraphQL Engine powered by Gloo.
  • thanos - Highly available Prometheus setup with long term storage capabilities.

Storage

  • ceph - Ceph is a distributed object, block, and file storage platform.
  • chubaofs - A distributed storage system for cloud native applications.
  • convoy - A Docker volume plugin, managing persistent container volumes.
  • fastdfs - FastDFS is an open source high performance distributed file system (DFS). It's major functions include: file storing, file syncing and file accessing, and design for high capacity and load balance.
  • flocker - Container data volume manager for your Dockerized application.
  • glusterd2 - GlusterD-2.0 is the distributed management framework to be used for GlusterFS-4.0.
  • glusterfs - Gluster is a software defined distributed storage that can scale to several petabytes. It provides interfaces for object, block and file storage.
  • harbor - An open source trusted cloud native registry project that stores, signs, and scans content.
  • heketi - RESTful based volume management framework for GlusterFS.
  • kubefs - Mount kubernetes metadata storage as a filesystem.
  • infinit - The Infinit policy-based software-defined storage platform.
  • leofs - The LeoFS Storage System.
  • longhorn - We put storage on cows and move them around from rancher.
  • minio - Minio is an open source object storage server compatible with Amazon S3 APIs.
  • openebs - OpenEBS is containerized block storage written in Go for cloud native and other environments w/ per container (or pod) QoS SLAs, tiering and replica policies across AZs and environments, and predictable and scalable performance.
  • rook - File, Block, and Object Storage Services for your Cloud-Native Environment.
  • storageos - Enterprise persistent storage for containers and the cloud.
  • torus - Torus Distributed Storage.
  • vitess - Vitess is a database clustering system for horizontal scaling of MySQL.
  • zenko - Because everyone should be in control of their data.

Tools

  • aglio - An API Blueprint renderer with theme support that outputs static HTML.
  • ansible - Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications — automate in a language that approaches plain English, using SSH, with no agents to install on remote systems.
  • ark - Heptio Ark is a utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes. Brought to you by Heptio.
  • chaostoolkit - An Open API to Chaos Engineering.
  • che - Eclipse Che: Next-generation Eclipse IDE. Open source workspace server and cloud IDE.
  • client-go - Go client for Kubernetes.
  • cloud-native-sandbox - Cloud Native Sandbox can help you setup a standalone Kubernetes and Istio environment with Docker on you own laptop.
  • cluster-lifecycle-manager - Cluster Lifecycle Manager (CLM) to provision and update multiple Kubernetes clusters.
  • compass - A Debugging Tool for your Kubernetes Deployments.
  • container-structure-test - Validate the structure of your container images.
  • container-transform - Transforms docker-compose, ECS, and Marathon configurations.
  • cost-model - Cross-cloud cost allocation models for workloads running on Kubernetes.
  • crashcart - CrashCart: sideload binaries into a running container.
  • cri-tools - CLI and validation tools for Kubelet Container Runtime Interface (CRI) .
  • devspace - Cloud Native Software Development with Kubernetes and Docker - simply run "devspace up" in any of your projects and start coding directly on top of Kubernetes (works with minikube, self-hosted and cloud-based clusters).
  • docker-elk - The ELK stack powered by Docker and Compose.
  • docker-pushrm - A Docker CLI plugin that that lets you push the README.md file from the current directory to Docker Hub. Also supports Quay and Harbor.
  • docker-wine - Docker image that includes Wine and Winetricks for running Windows applications on Linux and macOS.
  • dockersh - A shell which places users into individual docker containers.
  • dotmesh - Dotmesh (dm) is like git for your data volumes (databases, files etc) in Docker and Kubernetes.
  • dragonfly - Dragonfly is an intelligent P2P based file distribution system.
  • drakov - Mock Server that implements the API Blueprint specification.
  • eksctl - A CLI for Amazon EKS.
  • escalator - Escalator is a batch or job optimized horizontal autoscaler for Kubernetes.
  • fleet - Manage large fleets of Kubernetes clusters.
  • freshpod - Restart Pods on Minikube automatically on image rebuilds.
  • fubectl - Reduces repetitive interactions with kubectl.
  • garden - Development orchestrator for Kubernetes, containers and serverless functions.
  • gardener - Kubernetes API server extension and controller manager providing conformant Kubernetes clusters (a.k.a. (off)shoot clusters) as a service (with day-2 ops) on Alibaba, AWS, Azure, GCP, and OpenStack.
  • go-kubectx - 5x-10x faster alternative to kubectx. Uses client-go.
  • istio-pod-network-controller - Controller to manage Istio Pod Network.
  • k - Exec into kubernetes pod easy (via kubectl).
  • k8s-snapshots - Automatic Volume Snapshots on Kubernetes.
  • kail - Kubernetes log viewer.
  • kcg - Kubernetes config generator.
  • kconmon - A Kubernetes node connectivity monitoring tool.
  • kind - Kubernetes IN Docker - local clusters for testing Kubernetes.
  • kip - Virtual-kubelet provider running pods in cloud instances.
  • kops - Kubernetes Operations (kops) - Production Grade K8s Installation, Upgrades, and Management.
  • krane - A command-line tool that helps you ship changes to a Kubernetes namespace and understand the result.
  • krustlet - Kubernetes Rust Kubelet.
  • ksonnet-lib - (technical preview) Simplify working with Kubernetes.
  • ksonnet - A CLI-supported framework that streamlines writing and deployment of Kubernetes configurations to multiple clusters.
  • ksync - Sync files between your local system and a kubernetes cluster.
  • kt-connect - Manage and Integration with your Kubernetes dev environment more efficient.
  • ktmpl - Parameterized templates for Kubernetes manifests.
  • kube-capacity - A simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster.
  • kube-downscaler - Scale down Kubernetes deployments after work hours.
  • kube-fledged - A kubernetes add-on for creating and managing a cache of container images in a kubernetes cluster.
  • kube-ps1 - Kubernetes prompt info for bash and zsh.
  • kube-shell - Kubernetes shell: An integrated shell for working with the Kubernetes CLI.
  • kube-version-converter - Convert API Object file into specified version.
  • kubeasz - 使用Ansible脚本安装K8S集群,介绍组件交互原理,方便直接,不受国内网络环境影响.
  • kubeadm-offline-installer - Setup a cluster with kubeadm, without internet connections.
  • kubeadm - Aggregator for issues filed against kubeadm.
  • kubebox - Terminal console for Kubernetes clusters.
  • kubebuilder - Kubebuilder - SDK for building Kubernetes APIs using CRDs.
  • kubecarrier - KubeCarrier - Service Management at Scale.
  • kubecdn - Self-hosted CDN based on Kubernetes.
  • kubecfg - A tool for managing complex enterprise Kubernetes environments as code.
  • kubectl-doctor - Kubectl cluster triage plugin for Kubernetes (brew doctor equivalent).
  • kubectl-trace - Schedule bpftrace programs on your kubernetes cluster using the kubectl.
  • kubedb - KubeDB CLI to manage kubernetes ready production-grade Databases.
  • kubedirector - Kubernetes Director (aka KubeDirector) for deploying and managing stateful applications on Kubernetes.
  • kubefwd - Bulk port forwarding Kubernetes services for local development.
  • kubehandler - A framework for writing Kubernetes controllers.
  • kubeiql - A GraphQL interface for Kubernetes.
  • kubeletctl - A client for kubelet.
  • kubeload - Jobs managing K8S operator for IAC-oriented load tests.
  • kubeonoff - A simple web UI for managing Kubernetes deployments.
  • kuberlr - A tool that simplifies the management of multiple versions of kubectl.
  • kubernetes-client - Java client for Kubernetes & OpenShift 3.
  • kubernetes-vagrant-centos-cluster - Setting up a distributed Kubernetes cluster along with Istio service mesh locally with Vagrant and VirtualBox.
  • kubespray - Setup a kubernetes cluster also mentioned as kargo.
  • kubesql - A tool using sql to query the resources of kubernetes, such as pod, node and so on.
  • kubetap - Kubectl plugin to interactively proxy Kubernetes Services with ease.
  • kubeup - Cluster operation the Kubernetes way.
  • kubie - A more powerful alternative to kubectx and kubens.
  • KubiScan - A tool to scan Kubernetes cluster for risky permissions.
  • kuui - UI that can be used to edit configmaps/secrets of your kubernetes cluster.
  • kvdi - A Kubernetes-native Virtual Desktop Infrastructure.
  • microconfig - Modern and simple way of microservice configuration management.
  • microk8s - A kubernetes cluster in a snap.
  • minikube - Run Kubernetes locally.
  • monday - A dev tool for microservice developers that run local applications and/or forward some others from Kubernetes or over SSH.
  • okteto - Local development experience for Kubernetes apps.
  • packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
  • pangolin - An enhanced Horizontal Pod Autoscaler for Kubernetes.
  • pluto - A cli tool to help discover deprecated apiVersions in Kubernetes.
  • podtnl - A Powerful CLI that makes your pod available to online without exposing a Kubernetes service.
  • portainer - Simple management UI for Docker.
  • rback - RBAC in Kubernetes visualizer.
  • reloader - A Kubernetes controller to watch changes in ConfigMap and Secrets and do rolling upgrades on Pods with their associated Deployment, StatefulSet, DaemonSet and DeploymentConfig.
  • searchlight - Alerts for Kubernetes.
  • seaworthy - A CLI to verify Kubernetes resource health.
  • skopeo - Work with remote images registries - retrieving information, images, signing content.
  • sloop - Kubernetes History Visualization.
  • sonobuoy - Heptio Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests in an accessible and non-destructive manner.
  • squash - The debugger for microservices.
  • stash - Backup your Kubernetes Volumes.
  • statusbay - Kubernetes deployment visibility like a pro.
  • stern - Multi pod and container log tailing for Kubernetes.
  • swagger - Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
  • talos - A modern OS for Kubernetes.
  • tectonic-installer - Install a Kubernetes cluster the CoreOS Tectonic Way: HA, self-hosted, RBAC, etcd Operator, and more.
  • telepresence - Local development against a remote Kubernetes or OpenShift cluster.
  • terminus - Graceful shutdown and Kubernetes readiness / liveness checks for any Node.js HTTP applications.
  • test-infra - Test infrastructure for the Kubernetes project.
  • tensile-kube - A Kubernetes Provider.
  • tini - A tiny but valid init for containers.
  • tor-controller - Run Tor onion services on Kubernetes.
  • usernetes - Kubernetes installable under $HOME, without the root privileges.
  • vagrant - Vagrant is a tool for building and distributing development environments.
  • watchtower - Automatically update running Docker containers.
  • wksctl - Open Source Weaveworks Kubernetes System.
  • xlskubectl - A spreadsheet to control your Kubernetes cluster.

Tracing

  • appdash - Application tracing system for Go, based on Google's Dapper.
  • jaeger - Jaeger, a Distributed Tracing System.
  • opencensus - A single distribution of libraries that automatically collect traces and metrics from your app, display them locally, and send them to any backend.
  • opentracing - Consistent, expressive, vendor-neutral APIs for distributed tracing and context propagation.
  • pinpoint - Pinpoint is an open source APM (Application Performance Management) tool for large-scale distributed systems written in Java.
  • sentry - Sentry is a cross-platform crash reporting and aggregation platform.
  • skywalking - An APM system for tracing, monitoring, diagnosing distributed systems, especially based on microservices, cloud native and container.
  • sofa-tracker - SOFATracer is a component for the distributed system call trace. And through a unified traceId logging the logs of various network calls in the invoking link . These logs can be used for quick discovery of faults, service governance, etc.
  • zipkin - Zipkin is a distributed tracing system.

Tutorials

Community

Contribute

This website is hosted on GitHub Pages with rootsongjc/awesome-cloud-native repository.

Please take a quick gander at the contribution guidelines first. Thanks to all contributors, you rock 🤟!