Awesome Cloud Native
A curated list of awesome cloud native architectures, tools and softwares. Inspired by awesome-go.
- Awesome Cloud Native
- API gateway
- Big Data
- Container engine
- Data Science
- Fault tolerant
- Message broker
- Orchestration and scheduler
- Proxy and load balancer
- Security and audit
- Service broker
- Service mesh
- Service registry and discovery
- Caffe2 - Caffe2 is a lightweight, modular, and scalable deep learning framework. https://caffe2.ai
- h2o - 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...) http://h2o.ai
- leaf - Open Machine Intelligence Framework for Hackers. (GPU/CPU) http://autumnai.com/leaf/book
- Predictionio - PredictionIO, a machine learning server for developers and ML engineers. Built on Apache Spark, HBase and Spray.https://predictionio.incubator.apache…
- TensorFlow - Computation using data flow graphs for scalable machine learning http://tensorflow.org
- spark - Apache Spark enhanced with native Kubernetes scheduler back-end
- Containerd - An open and reliable container runtime https://containerd.io
- cri-o - Lightweight Container Runtime for Kubernetes
- hyperd - HyperContainer Daemon http://www.hypercontainer.io
- Kata Containers - 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 systemshttps://mobyproject.org/
- 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.
- argo - Get stuff done with container-native workflows for Kubernetes.
- buddy.works - Build, Test & Deploy Code in Seconds Continuous Delivery, simplified.
- CircleCI - Continuous Integration and Deployment
- cross-cloud - Cross Cloud Continuous Integration https://cncf.io
- Cyclone - A cloud native CI/CD platform built for container workflow
- Drone - Drone is a Continuous Delivery platform built on Docker, written in Go https://drone.io
- GitLab-CI - GitLab has integrated CI/CD pipelines to build, test, deploy, and monitor your code
- Jenkins - The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.
- Travis - Free continuous integration platform for GitHub projects. https://travis-ci.org
- Wercker - The Wercker CLI can be used to execute pipelines locally for both local development and easy introspection. http://wercker.com
- beringei - Beringei is a high performance, in-memory storage engine for time series data.
- CockroachDB - CockroachDB - the open source, cloud-native SQL database. https://www.cockroachlabs.com
- 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 systemhttps://coreos.com/etcd/docs/latest/
- InfluxDB - Scalable datastore for metrics, events, and real-time analytics https://influxdata.com
- LevelDB - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
- MongoDB - MongoDB is an open source database that uses a document-oriented data model.
- OpenTSDB - A scalable, distributed Time Series Database. http://opentsdb.net
- 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. http://redis.io
- RethinkDB - The open-source database for the realtime web. https://rethinkdb.com
- TiDB - TiDB is a distributed NewSQL database compatible with MySQL protocol https://pingcap.com
- ContainerOps - DevOps Orchestration Platform https://cncf.build
- Crane - Yet another control plane based on docker built-in swarmkit https://www.shurenyun.com/product-crane.html
- Fabric8 - fabric8 is an open source microservices platform based on Docker, Kubernetes and Jenkins http://fabric8.io/
- Harbor - An enterprise-class container registry server based on Docker Distribution http://vmware.github.io/harbor/
- Lastbackend - Container orchestration with CI&CD, cli and amazing UI https://lastbackend.com
- Spinnaker - Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence. http://www.spinnaker.io/
- Terraform - Terraform is a tool for building, changing, and combining infrastructure safely and efficiently. https://www.terraform.io/
- Chaosmonkey - Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.
- 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.
- collectbeat - Beats with discovery capabilities for environments like Kubernetes
- Elasticsearch - Open Source, Distributed, RESTful Search Engine https://www.elastic.co/products/elast…
- Fluent-bit - Fast and Lightweight Log/Data Forwarder for Linux, BSD and OSX http://fluentbit.io/
- Fluentd - Fluentd: Unified Logging Layer (project under CNCF) http://www.fluentd.org/
- Flume - Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data.
- Beats - Beats - Lightweight shippers for Elasticsearch & Logstash https://www.elastic.co/products/beats
- Heapster - Compute Resource Usage Analysis and Monitoring of Container Clusters
- Telegraf - The plugin-driven server agent for collecting & reporting metrics.
Orchestration and scheduler
- 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 - https://netflix.github.io/conductor/
- DomeOS - An enterprise application orchestration system based on docker by Sohu.com - http://domeos.org
- Fleet - fleet ties together systemd and etcd into a distributed init system
- Kubernetes - Production-Grade Container Scheduling and Management http://kubernetes.io
- 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.
- Marathon - Deploy and manage containers (including Docker) on top of Apache Mesos at scale.https://mesosphere.github.io/marathon/
- Serf - Service orchestration and management tool by hashicorp. https://www.serf.io/
- Swan - A Distributed, Highly Available Mesos Scheduler, Inspired by the design of Google Borg https://www.shurenyun.com/product-swa…
- Swarm - Swarm: a Docker-native clustering system
- Cloud Foundry - Cloud Foundry is an open source, multi cloud application platform as a service (PaaS) governed by the Cloud Foundry Foundation.
- DC/OS - Datacenter Operating System
- Deis - Deis v1, the CoreOS and Docker PaaS: Your PaaS. Your Rules. https://deis.com/docs/
- OpenDCP - Docker platform developed by weibo.com
- Openshift - Enterprise Kubernetes for Developers http://www.openshift.org
- Rancher - Platform for operating Docker in production http://rancher.com
- Supergiant - Automatically scale hardware and easily run stateful applications using Kubernetes. https://supergiant.io/
- vamp - Vamp - canary releasing and autoscaling for microservice systems http://vamp.io
Proxy and load balancer
- Contour - Contour is a Kubernetes ingress controller for Lyft's Envoy proxy.
- Envoy - C++ front/service proxy https://lyft.github.io/envoy
- Haproxy - HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications.
- Nginx-kubernetes-ingress - NGINX and NGINX Plus Ingress Controllers for Kubernetes
- Nginx - nginx [engine x] 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.
- Traefik - Træfik, a modern reverse proxy https://traefik.io
- voyager - ✈️️ Secure Ingress Controller for Kubernetes by https://appscode.com
- 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 http://twitter.github.io/finagle
- gRPC - A high performance, open source, general-purpose RPC framework
- proxygen - A collection of C++ HTTP libraries including an easy to use HTTP server.
- thrift - Apache thrift
- Flume - Apache Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data.
- Kafka - A distributed streaming platform.
- nsq - A realtime distributed messaging platform http://nsq.io/
- RabbitMQ - RabbitMQ is the most widely deployed open source message broker
- 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 https://grafana.com
- kubernetes-zabbix - Kubernetes Zabbix/Grafana cluster (bare metal, Google Computer Engine - GCE, Google Container Engine - GKE)
- open-falcon - Enterprise Internet monitoring system from Xiaomi http://open-falcon.com/
- owl - Distributed monitoring system from TalkingData
- Prometheus - The Prometheus monitoring system and time series database. https://prometheus.io/
- Scope - Monitoring, visualisation & management for Docker & Kubernetes https://www.weave.works/product/weave-scope
- Kibana - Kibana analytics and search dashboard for Elasticsearch https://www.elastic.co/products/kibana
- CNI - Container Network Interface - networking for Linux containers
- Calico - A Pure Layer 3 Approach to Virtual Networking for Highly Scalable Data Centers
- Contiv - Container networking for various use cases
- Flannel - flannel is a network fabric for containers, designed for Kubernetes
- MatchBox - Network boot and provision Container Linux clusters (e.g. etcd3, Kubernetes, more) https://coreos.com/matchbox/docs/latest/
- Weave - Simple, resilient multi-host Docker networking and more. https://www.weave.works
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
- Cilium - Linux Native, HTTP Aware Networking and Security for Containers
- Clair - Vulnerability Static Analysis for Containers
- OpenSCAP - Discover a wide array of tools for managing system security and standards compliance.
- dex - OpenID Connect Identity (OIDC) and OAuth 2.0 Provider with Pluggable Connectors https://coreos.com/blog/announcing-de…
- 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 https://vault-ui.io
- grafeas - Cloud artifact metadata CRUD API and resource specifications
- guard - Kubernetes Authentication WebHook Server
- k8guard - An auditing system for Kubernetes
- kube2iam - kube2iam provides different AWS IAM roles for pods running on Kubernetes
- kubed - 🛡️ A Kubernetes Cluster Operator Daemon by https://appscode.com
- metallb - A network load-balancer implementation for Kubernetes using BGP
- notary - Notary is a Docker project that allows anyone to have trust over arbitrary collections of data https://docker.com
- vault - A tool for managing secrets. https://www.vaultproject.io
- open-service-broker-sdk - A starting point for creating service brokers implementing the Open Service Broker API
- service-catalog - Consume services in Kubernetes using the Open Service Broker API
- service-broker - Open Service Broker API Specification https://openservicebrokerapi.org/
- Amalgam8 - Content and Version-based Routing Fabric for Polyglot Microservices
- Conduit - The Ultralight Service Mesh for Kubernetes https://conduit.io
- Istio - An open platform to connect, manage, and secure microservices.
- Linkerd - Resilient service mesh for cloud native apps https://linkerd.io
- nginmesh - Service Mesh using Nginx
- nginx-unit - NGINX Unit is a new, lightweight, open source application server built to meet the demands of today’s dynamic and distributed applications.
- ServiceComb - ServiceComb is a microservice framework that provides an easy way to develop and deploy applications in the cloud.
Service registry and discovery
- Confd - Manage local application configuration files using templates and data from etcd or consul
- Consul - Service Discovery and Configuration Made Easy https://www.consul.io/
- CoreDNS - CoreDNS is a DNS server that chains middleware https://coredns.io
- Eureka - AWS Service registry for resilient mid-tier load balancing and failover.
- Registrator - Service registry bridge for Docker with pluggable adapters http://gliderlabs.com/registrator
- SkyDNS - DNS for skynet or any other service discovery
- Steward - The Kubernetes-native Service Broker. https://deis.com/
- Synapse - A transparent service discovery framework for connecting an SOA
- Vulcand - Programmatic load balancer backed by Etcd http://vulcand.readthedocs.io/
- Zookeeper - Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination.
- faas - 🐳 Functions as a Service - a serverless framework for Docker & Kubernetes https://blog.alexellis.io/introducing…
- faas-netes - Enable Kubernetes as a backend for Functions as a Service (OpenFaaS) https://github.com/alexellis/faas
- fn - The container native, cloud agnostic serverless platform. http://fnproject.io
- funktion - a CLI tool for working with funktion https://funktion.fabric8.io/
- fx - Poor man's serverless framework based on Docker, Function as a Service with painless.
- IronFunctions - IronFunctions - the serverless microservices platform. http://iron.io
- kubeless - Kubernetes Native Serverless Framework http://kubeless.io
- OpenWhisk - Apache OpenWhisk (Incubating) is a serverless, open source cloud platform that executes functions in response to events at any scale.
- Ceph - Ceph is a distributed object, block, and file storage platform http://ceph.com
- Convoy - A Docker volume plugin, managing persistent container volumes.
- Flocker - Container data volume manager for your Dockerized application https://clusterhq.com
- GlusterFS - Gluster is a software defined distributed storage that can scale to several petabytes. It provides interfaces for object, block and file storage.
- Heketi - RESTful based volume management framework for GlusterFS
- Infinit - The Infinit policy-based software-defined storage platform. http://infinit.sh
- LeoFS - The LeoFS Storage System https://leo-project.net/leofs/
- 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 https://minio.io
- Rook - File, Block, and Object Storage Services for your Cloud-Native Environment https://rook.io
- StorageOS - Enterprise persistent storage for containers and the cloud
- Torus - Torus Distributed Storage https://coreos.com/blog/torus-distributed-storage-by-cores.html
- Aglio - An API Blueprint renderer with theme support that outputs static HTML
- Ark - Heptio Ark is a utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes. Brought to you by Heptio. http://www.heptio.com
- Draft - A tool for developers to create cloud-native applications on Kubernetes.
- Habitus - A Build Flow Tool for Docker http://www.habitus.io
- Helm - The Kubernetes Package Manager
- Smith - Smith: A microcontainer builder
- Vagrant - Vagrant is a tool for building and distributing development environments. https://www.vagrantup.com
- charitify - 📈 Generate Helm Charts from Kubernetes objects by https://appscode.com
- client-go - Go client for Kubernetes.
- container-transform - Transforms docker-compose, ECS, and Marathon configurations
- crashcart - CrashCart: sideload binaries into a running container
- docker-elk - The ELK stack powered by Docker and Compose.
- dockersh - A shell which places users into individual docker containers
- drakov - Mock Server that implements the API Blueprint specification
- flux - A tool for turning container images into running Kubernetes services
- gockerize - Package golang service into minimal docker containers.
- jsonnet - Jsonnet - The data templating language http://jsonnet.org
- kail - kubernetes log viewer
- kd - Minimalistic kubernetes resources deployment tool with templating
- kedge - Kedge - Concise Application Definition for Kubernetes http://kedgeproject.org
- kismatic - Kismatic Enterprise Toolkit: Fully-Automated, Production-Grade Kubernetes Operations
- kops - Kubernetes Operations (kops) - Production Grade K8s Installation, Upgrades, and Management
- ksonnet-lib - (technical preview) Simplify working with Kubernetes http://ksonnet.heptio.com
- ktmpl - Parameterized templates for Kubernetes manifests.
- kube-shell - Kubernetes shell: An integrated shell for working with the Kubernetes CLI
- kubeadm - Aggregator for issues filed against kubeadm
- kubeadm-offline-installer - Setup a cluster with kubeadm, without internet connections.
- kubeapps - Discover & launch great Kubernetes-ready apps
- kubecfg - A tool for managing complex enterprise Kubernetes environments as code.￼
- kubedb - KubeDB CLI https://kubedb.com to manage kubernetes ready production-grade Databases
- kubegen - kubegen – simple way to describe Kubernetes resources
- kubernetes-client - Java client for Kubernetes & OpenShift 3 http://fabric8.io
- kubernetes-deploy - A command-line tool that helps you ship changes to a Kubernetes namespace and understand the result
- kubespray - Setup a kubernetes cluster also mentioned as kargo
- kubeup - Cluster operation the Kubernetes way
- minikube - Run Kubernetes locally
- opencompose - OpenCompose - A higher level abstraction for Kubernetes Resource
- prometheus-operator - Prometheus Operator creates/configures/manages Prometheus clusters atop Kuberneteshttps://coreos.com/operators/prometheus
- searchlight - 🔦 Alerts for Kubernetes
- 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. Brought to you by Heptio.http://www.heptio.com
- source-to-image - A tool for building/building artifacts from source and injecting into docker images
- stash - 🛅 Backup your Kubernetes Volumes by htts://appscode.com
- stern - Multi pod and container log tailing 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 http://www.telepresence.io
- appdash - Application tracing system for Go, based on Google's Dapper. https://sourcegraph.com
- jaeger - Jaeger, a Distributed Tracing System http://uber.github.io/jaeger/
- OpenTracing - Consistent, expressive, vendor-neutral APIs for distributed tracing and context propagation
- Sentry - Sentry is a cross-platform crash reporting and aggregation platform. https://sentry.io
- Zipkin - Zipkin is a distributed tracing system http://zipkin.io
- aws-workshop-for-kubernetes - AWS Workshop for Kubernetes
- Cloud Native Go - Building Web Applications and Microservices for the Cloud with Go and React written by Kevin Hoffman and Dan Nemeth translated to Chinese by four guys from TalkingData with ❤️
- Istio-ingress-tutorial - How to run the Istio Ingress Controller on Kubernetes
- ks - A series of Kubernetes walk-throughs
- kubeadm-workshop - Showcasing a bare-metal multi-platform kubeadm setup with persistent storage and monitoring
- kubernetes-handbook - kubernetes中文指南/实践手册
- kubernetes-java-simple - Kubernetes Hands-on Workshop for Java Developers
- kubernetes-the-hard-way - Bootstrap Kubernetes the hard way on Google Cloud Platform. No scripts.
- kubicorn - Create, manage, snapshot, and scale Kubernetes infrastructure in the public cloud.
- Migrating to Cloud Native Application Architectures - 《迁移到云原生应用架构》中文版 https://rootsongjc.gitbooks.io/moving-to-cloud-native-architecture