Skip to content

senthilrch/awesome-cloud-native

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Cloud Native

A curated list of awesome cloud native architectures, tools and softwares. Inspired by awesome-go.

Contributing

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

Contents

AI

API Gateway

Big Data

  • fast-data-dev - Kafka Docker for development. Kafka, Zookeeper, Schema Registry, Kafka-Connect, Landoop Tools, 20+ connectors
  • spark - Apache Spark enhanced with native Kubernetes scheduler back-end
  • wallaroo - Ultrafast and elastic data processing https://www.wallaroolabs.com

Container Runtime

  • clear-containers - OCI (Open Containers Initiative) compatible runtime using Virtual Machines
  • containerd - An open and reliable container runtime https://containerd.io
  • cri-containerd - Containerd-based implementation of Kubernetes Container Runtime Interface
  • cri-o - Lightweight Container Runtime for Kubernetes
  • frakti - The hypervisor-based container runtime for Kubernetes.
  • gvisor - Sandboxed Container Runtime
  • hyperd - HyperContainer Daemon http://www.hypercontainer.io
  • katacontainers - Kata Containers is a new open source project building extremely lightweight virtual machines that seamlessly plug into the containers ecosystem.
  • kubevirt - Kubernetes Virtualization Operator with API and runtime in order to define and manage virtual machines.
  • moby - Moby Project - a collaborative project for the container ecosystem to assemble container-based systemshttps://mobyproject.org/
  • 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.

CI-CD

  • 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
  • concourse - BOSH release and development workspace for Concourse https://concourse.ci
  • 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
  • gitkube - Gitkube: Build and deploy docker images to Kubernetes using git push. https://gitkube.sh
  • hygieia - CapitalOne DevOps Dashboard http://www.capitalone.io/Hygieia
  • jenkins - The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.
  • jx - A command line tool for installing and working with Jenkins X http://jenkins-x.io/
  • kenyata - Automated Canary Service
  • pipeline - REST API to provision or reuse managed Kubernetes clusters in the cloud and deploy cloud native apps
  • skaffold - Easy and Repeatable Kubernetes Development
  • 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

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. 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.
  • mehdb - Educational Kubernetes-native NoSQL datastore using StatefulSet and persistent volumes https://blog.openshift.com/kubernetes…
  • 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
  • sharding-sphere - Distributed database middleware
  • tidb - TiDB is a distributed NewSQL database compatible with MySQL protocol https://pingcap.com

Data Science

DevOps

Fault Tolerant

  • chaosmonkey - Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.
  • 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.

IoT

Logging

Observability

  • istio-ui - Istio config management backend
  • kiali - kiali project to help istio service mesh observability
  • naftis - An excellent dashboard for Istio built with love.
  • vistio - Visualize your Istio mesh using Netflix's Vizceral
  • vizceral - WebGL visualization for displaying animated traffic graphs

Orchestration and Scheduler

PaaS

Proxy and Load Balancer

  • caddy - Fast, cross-platform HTTP/2 web server with automatic HTTPS https://caddyserver.com
  • 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 https://lyft.github.io/envoy
  • 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. https://www.heptio.com
  • 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 https://konghq.com/
  • metallb - A network load-balancer implementation for Kubernetes using standard routing protocols https://metallb.universe.tf
  • 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.
  • skipper - An HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress
  • sofa-mosn - SOFA MOSN is a modular observable smart proxy which can be used in service mesh deployed as a data plane sidecar.
  • traefik - Træfik, a modern reverse proxy https://traefik.io
  • voyager - ✈️️ Secure Ingress Controller for Kubernetes by https://appscode.com

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 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.
  • 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.
  • thrift - Apache thrift

Message Broker

  • 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. https://nats.io
  • jocko - Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native)https://twitter.com/travisjeffery
  • 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
  • rocketmq - Apache RocketMQ is a distributed messaging and streaming platform with low latency, high performance and reliability, trillion-level capacity and flexible scalability.

Miscellaneous

  • ballerina-lang - Ballerina is a new programming language for integration built on a sequence diagram metaphor.
  • harbor - An enterprise-class container registry server based on Docker Distribution http://vmware.github.io/harbor/
  • portainer - Simple management UI for Docker http://portainer.io
  • pulumi - A multi-language, multi-cloud development platform -- your code, your cloud, your team
  • skopeo - Work with remote images registries - retrieving information, images, signing content

Monitoring

Network

  • calico - A Pure Layer 3 Approach to Virtual Networking for Highly Scalable Data Centers
  • cni - Container Network Interface - networking for Linux containers
  • contiv - Container networking for various use cases
  • flannel - flannel is a network fabric for containers, designed 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. https://kube-router.io
  • 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
  • cert-manager - Automatically provision and manage TLS certificates in Kubernetes
  • cilium - Linux Native, HTTP Aware Networking and Security for Containers
  • clair - Vulnerability Static Analysis for Containers
  • 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
  • keycloak - Open Source Identity and Access Management For Modern Applications and Services http://www.keycloak.org
  • kritis - Software supply chain security for #Kubernetes apps https://grafeas.io/docs/concepts/what-is-kritis
  • 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 by https://appscode.com
  • notary - Notary is a Docker project that allows anyone to have trust over arbitrary collections of data https://docker.com
  • opa - An open source project to policy-enable your service. http://openpolicyagent.org
  • openscap - Discover a wide array of tools for managing system security and standards compliance.
  • spiffe - The SPIFFE Project http://spiffe.io
  • vault - A tool for managing secrets. https://www.vaultproject.io

Service Broker

  • open-service-broker-sdk - A starting point for creating service brokers implementing the Open Service Broker API
  • rotor - Rotor is a fast, lightweight bridge between your service discovery and Envoy’s configuration APIs. Rotor supports Kubernetes, Consul, AWS (EC2 and ECS), DC/OS, flat files, and even other EDS/CDS implementations.
  • service-catalog - Consume services in Kubernetes using the Open Service Broker API
  • service-broker - Open Service Broker API Specification https://openservicebrokerapi.org/

Service Mesh

  • 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
  • mesher - A light weight service mesh implementation based on go chassis.
  • 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.
  • sofa-mesh - A solution for large-scale Service Mesh based on Istio. http://www.sofastack.tech/

Service Registry and Discovery

Serverless

Storage

  • ceph - Ceph is a distributed object, block, and file storage platform http://ceph.com
  • 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 https://clusterhq.com
  • 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.
  • 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
  • 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. https://www.openebs.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
  • vitess - Vitess is a database clustering system for horizontal scaling of MySQL. http://vitess.io
  • zenko - Because everyone should be in control of their data. http://zenko.io

Tools

  • 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
  • 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.
  • chaostoolkit - An Open API to Chaos Engineering http://chaostoolkit.org
  • charitify - 📈 Generate Helm Charts from Kubernetes objects by https://appscode.com
  • client-go - Go client for Kubernetes.
  • container-structure-test - validate the structure of your container images
  • container-transform - Transforms docker-compose, ECS, and Marathon configurations
  • crashcart - CrashCart: sideload binaries into a running container
  • cri-tools - CLI and validation tools for Kubelet Container Runtime Interface (CRI) .
  • docker-elk - The ELK stack powered by Docker and Compose.
  • 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 https://dotmesh.com
  • draft - A tool for developers to create cloud-native applications on 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 https://eksctl.io
  • escalator - Escalator is a batch or job optimized horizontal autoscaler for Kubernetes
  • flux - A tool for turning container images into running Kubernetes services
  • freshpod - Restart Pods on Minikube automatically on image rebuilds
  • gardener - Kubernetes API server extension and controller manager providing conformant Kubernetes clusters (Shoots) as a service on AWS, Azure, GCP, and OpenStack.
  • gockerize - Package golang service into minimal docker containers.
  • habitus - A Build Flow Tool for Docker http://www.habitus.io
  • helm - The Kubernetes Package Manager
  • hiboot - hiboot is a high performance web and cli application framework with dependency injection support https://hiboot.hidevops.io
  • istio-pod-network-controller - Controller to manage Istio Pod Network
  • jib - ⛵️ Build container images for your Java applications.
  • jsonnet - Jsonnet - The data templating language http://jsonnet.org
  • kail - kubernetes log viewer
  • kaniko - Build Container Images In Kubernetes
  • 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
  • kompose - Go from Docker Compose to Kubernetes http://kompose.io
  • kops - Kubernetes Operations (kops) - Production Grade K8s Installation, Upgrades, and Management
  • ksonnet-lib - (technical preview) Simplify working with Kubernetes http://ksonnet.heptio.com
  • ksonnet - A CLI-supported framework that streamlines writing and deployment of Kubernetes configurations to multiple clusters.https://ksonnet.io/
  • ksync - Sync files between your local system and a kubernetes cluster. https://vapor-ware.github.io/ksync
  • ktmpl - Parameterized templates for Kubernetes manifests.
  • 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.
  • kubeadm-offline-installer - Setup a cluster with kubeadm, without internet connections.
  • kubeadm - Aggregator for issues filed against kubeadm
  • kubeapps - Discover & launch great Kubernetes-ready apps
  • kubebox - ⎈❏ Terminal console for Kubernetes clusters https://kube.sh
  • kubebuilder - Kubebuilder - SDK for building Kubernetes APIs using CRDs http://book.kubebuilder.io
  • kubecfg - A tool for managing complex enterprise Kubernetes environments as code.
  • kubedb - KubeDB CLI https://kubedb.com 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. https://imti.co/kubernetes-port-forwarding
  • kubegen - kubegen – simple way to describe Kubernetes resources
  • kubehandler - A framework for writing Kubernetes controllers
  • kubeiql - A GraphQL interface for Kubernetes. https://kubeiql.io/
  • 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
  • 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
  • kubeup - Cluster operation the Kubernetes way
  • kustomize - Customization of kubernetes YAML configurations
  • microk8s - A kubernetes cluster in a snap https://microk8s.io
  • minikube - Run Kubernetes locally
  • opencompose - OpenCompose - A higher level abstraction for Kubernetes Resource
  • operator-sdk - SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding. https://coreos.com/operators
  • prometheus-operator - Prometheus Operator creates/configures/manages Prometheus clusters atop Kuberneteshttps://coreos.com/operators/prometheus
  • searchlight - 🔦 Alerts for Kubernetes
  • serving - Kubernetes-based, scale-to-zero, request-driven compute
  • smith - Smith: A microcontainer builder
  • 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
  • squash - The debugger for microservices
  • stash - 🛅 Backup your Kubernetes Volumes by htts://appscode.com
  • 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. http://swagger.io
  • 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
  • terminus - Graceful shutdown and Kubernetes readiness / liveness checks for any Node.js HTTP applications
  • test-infra - Test infrastructure for the Kubernetes project.
  • tor-controller - Run Tor onion services on Kubernetes
  • vagrant - Vagrant is a tool for building and distributing development environments. https://www.vagrantup.com
  • watchtower - Automatically update running Docker containers

Tracing

  • 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/
  • opencensus - A single distribution of libraries that automatically collect traces and metrics from your app, display them locally, and send them to any backend. - https://opencensus.io
  • 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. http://naver.github.io/pinpoint/
  • sentry - Sentry is a cross-platform crash reporting and aggregation platform. https://sentry.io
  • 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 http://zipkin.io

Tutorial

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 75.7%
  • CSS 12.8%
  • Go 7.0%
  • HTML 4.5%