From a3021961e4a80e6d9c72a634bb84d3616066cf73 Mon Sep 17 00:00:00 2001 From: Marius Stanca Date: Wed, 4 Jan 2023 01:46:56 +0200 Subject: [PATCH] Update as awesome requirements --- README.md | 427 ++++++++++++++++++++--------------------- docs/assets/banner.png | Bin 0 -> 36320 bytes docs/index.md | 2 + mkdocs.yml | 2 + 4 files changed, 217 insertions(+), 214 deletions(-) create mode 100644 docs/assets/banner.png diff --git a/README.md b/README.md index bd54d15..b962611 100644 --- a/README.md +++ b/README.md @@ -6,36 +6,35 @@ A curated list of awesome DevOps platforms, tools, practices and resources. -- [Awesome DevOps](#awesome-devops) - - [Cloud Platforms](#cloud-platforms) - - [Open Source Cloud Platforms](#open-source-cloud-platforms) - - [Operating Systems](#operating-systems) - - [Distributed Filesystems](#distributed-filesystems) - - [Applications Platforms](#applications-platforms) - - [Container Image Registry](#container-image-registry) - - [Automation & Orchestration](#automation--orchestration) - - [Continuous Integration & Delivery](#continuous-integration--delivery) - - [Source Code Management](#source-code-management) - - [Web Servers](#web-servers) - - [SSL](#ssl) - - [Databases](#databases) - - [Observability and Monitoring](#observability--monitoring) - - [Service Discovery & Service Mesh](#service-discovery--service-mesh) - - [Chaos Engineering](#chaos-engineering) - - [API Gateway](#api-gateway) - - [Code review](#code-review) - - [Distributed messaging](#distributed-messaging) - - [Programming Languages](#programming-languages) - - [Chat and ChatOps](#chat-and-chatops) - - [Secret Management](#secret-management) - - [Sharing](#sharing) - - [VPN](#vpn) - - [Resources](#resources) - - [Books](#books) - - [Conferences](#conferences) - - [DevOps Roadmap](#devops-roadmap) - - [Contributing](#contributing) - - [Authors](#authors) +## Contents + +- [Cloud Platforms](#cloud-platforms) +- [Open Source Cloud Platforms](#open-source-cloud-platforms) +- [Operating Systems](#operating-systems) +- [Distributed Filesystems](#distributed-filesystems) +- [Applications Platforms](#applications-platforms) +- [Container Image Registry](#container-image-registry) +- [Automation & Orchestration](#automation--orchestration) +- [Continuous Integration & Delivery](#continuous-integration--delivery) +- [Source Code Management](#source-code-management) +- [Web Servers](#web-servers) +- [SSL](#ssl) +- [Databases](#databases) +- [Observability and Monitoring](#observability--monitoring) +- [Service Discovery & Service Mesh](#service-discovery--service-mesh) +- [Chaos Engineering](#chaos-engineering) +- [API Gateway](#api-gateway) +- [Code review](#code-review) +- [Distributed messaging](#distributed-messaging) +- [Programming Languages](#programming-languages) +- [Chat and ChatOps](#chat-and-chatops) +- [Secret Management](#secret-management) +- [Sharing](#sharing) +- [VPN](#vpn) +- [Resources](#resources) + - [Books](#books) + - [Conferences](#conferences) + - [DevOps Roadmap](#devops-roadmap) --- @@ -46,103 +45,103 @@ A curated list of awesome DevOps platforms, tools, practices and resources. - [Amazon Web Services (AWS)](https://aws.amazon.com/) - Cloud Computing Services. - [Google Cloud Platform (GCP)](https://cloud.google.com/) - Cloud Computing Services. - [Azure](https://azure.microsoft.com/) - Cloud Computing Platform & Services. -- [Alibaba Cloud](https://us.alibabacloud.com/) - integrated suite of cloud products and services. -- [Oracle Cloud](https://www.oracle.com/cloud/) - comprehensive and fully integrated stack of cloud applications and platform services. -- [DigitalOcean](https://www.digitalocean.com/) - helping developers easily build, test, manage, and scale applications of any size. -- [Scaleway](https://www.scaleway.com/) - single way to create, deploy and scale your infrastructure in the cloud. -- [Vultr](https://www.vultr.com/) - easily deploy cloud servers, bare metal, and storage worldwide. -- [VMware Cloud](https://cloud.vmware.com/) - run, manage, connect and protect all of your apps on any cloud. -- [IBM Cloud](https://www.ibm.com/cloud) - tools, data & APIs to make AI real now. -- [Stackpath](https://www.stackpath.com/) - platform of computing infrastructure and services built at the edge of the cloud. -- [Linode](https://www.linode.com/) - accelerate innovation in the cloud, virtual computing must be more accessible, affordable, and simple. -- [Kinsta](https://kinsta.com/application-hosting/) - create and deploy web applications and databases in minutes. +- [Alibaba Cloud](https://us.alibabacloud.com/) - Integrated suite of cloud products and services. +- [Oracle Cloud](https://www.oracle.com/cloud/) - Comprehensive and fully integrated stack of cloud applications and platform services. +- [DigitalOcean](https://www.digitalocean.com/) - Helping developers easily build, test, manage, and scale applications of any size. +- [Scaleway](https://www.scaleway.com/) - Single way to create, deploy and scale your infrastructure in the cloud. +- [Vultr](https://www.vultr.com/) - Easily deploy cloud servers, bare metal, and storage worldwide. +- [VMware Cloud](https://cloud.vmware.com/) - Run, manage, connect and protect all of your apps on any cloud. +- [IBM Cloud](https://www.ibm.com/cloud) - Tools, data & APIs to make AI real now. +- [Stackpath](https://www.stackpath.com/) - Platform of computing infrastructure and services built at the edge of the cloud. +- [Linode](https://www.linode.com/) - Accelerate innovation in the cloud, virtual computing must be more accessible, affordable, and simple. +- [Kinsta](https://kinsta.com/application-hosting/) - Create and deploy web applications and databases in minutes. ## Open Source Cloud Platforms *Private, Public and Hybrid open source Cloud Platforms.* -- [Openstack](https://www.openstack.org/) - open source software for creating private and public clouds. -- [Apache CloudStack](https://cloudstack.apache.org/) - designed to deploy and manage large networks of virtual machines. -- [OpenNebula](https://opennebula.org/) - build Private Clouds and manage Data Center virtualization based on KVM, LXD and VMware. -- [Eucalyptus](https://www.eucalyptus.cloud/) - building AWS-compatible private and hybrid clouds. -- [DC/OS](https://dcos.io/) - distributed operating system based on the Apache Mesos distributed systems kernel. -- [Apache Mesos](http://mesos.apache.org/) - program against your datacenter like it’s a single pool of resources. -- [Localstack](https://github.com/localstack/localstack) - fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline. +- [Openstack](https://www.openstack.org/) - Open source software for creating private and public clouds. +- [Apache CloudStack](https://cloudstack.apache.org/) - Designed to deploy and manage large networks of virtual machines. +- [OpenNebula](https://opennebula.org/) - Build Private Clouds and manage Data Center virtualization based on KVM, LXD and VMware. +- [Eucalyptus](https://www.eucalyptus.cloud/) - Building AWS-compatible private and hybrid clouds. +- [DC/OS](https://dcos.io/) - Distributed operating system based on the Apache Mesos distributed systems kernel. +- [Apache Mesos](http://mesos.apache.org/) - Program against your datacenter like it’s a single pool of resources. +- [Localstack](https://github.com/localstack/localstack) - Fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline. ## Operating Systems *Operating Systems - Server Platform.* -- [Ubuntu](https://ubuntu.com/) -- [CentOS](https://www.centos.org/) -- [CoreOS](http://coreos.com/) - the pioneering lightweight container host. -- [OSv](http://osv.io/) - versatile modular unikernel designed to run unmodified Linux applications securely on micro-VMs in the cloud. -- [Atomic](http://www.projectatomic.io/) - use immutable infrastructure to deploy and scale your containerized applications. +- [Ubuntu](https://ubuntu.com/) - Enterprise Open Source and Linux. +- [Rocky Linux](https://rockylinux.org/) - Open-source enterprise operating system designed to be 100% bug-for-bug compatible with Red Hat Enterprise Linux. +- [CoreOS](http://coreos.com/) - The pioneering lightweight container host. +- [OSv](http://osv.io/) - Versatile modular unikernel designed to run unmodified Linux applications securely on micro-VMs in the cloud. +- [Atomic](http://www.projectatomic.io/) - Use immutable infrastructure to deploy and scale your containerized applications. - [Photon](https://github.com/vmware/photon) - Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. ## Distributed Filesystems *Network distributed filesystems.* -- [Ceph](https://ceph.io/en/) - highly scalable object, block and file-based storage under one whole system. -- [Gluster](https://www.gluster.org/) - free and open source software scalable network filesystem. -- [LINBIT](https://www.linbit.com/en/) - create, remove, and replicate block storage devices for datacenter scale environments. -- [XtreemFS](http://www.xtreemfs.org/) - fault-tolerant distributed file system for all storage needs. -- [min.io](https://min.io/) - high performance, distributed object storage system. +- [Ceph](https://ceph.io/en/) - Highly scalable object, block and file-based storage under one whole system. +- [Gluster](https://www.gluster.org/) - Free and open source software scalable network filesystem. +- [LINBIT](https://www.linbit.com/en/) - Create, remove, and replicate block storage devices for datacenter scale environments. +- [XtreemFS](http://www.xtreemfs.org/) - Fault-tolerant distributed file system for all storage needs. +- [min.io](https://min.io/) - High performance, distributed object storage system. ## Applications Platforms *Applications management platforms, Containers platform and Containers management.* -- [Openshift](https://www.openshift.com/) - the Kubernetes platform for big ideas. -- [Dokku](https://dokku.com/) - helps you build and manage the lifecycle of applications. -- [Flynn](https://flynn.io/) - open source platform (PaaS) for running applications in production. -- [Docker](https://www.docker.com/) - create, deploy, and run applications by using containers. -- [Docker Compose](https://github.com/docker/compose) - define and run multi-container applications with Docker. +- [Openshift](https://www.openshift.com/) - The Kubernetes platform for big ideas. +- [Dokku](https://dokku.com/) - Helps you build and manage the lifecycle of applications. +- [Flynn](https://flynn.io/) - Open source platform (PaaS) for running applications in production. +- [Docker](https://www.docker.com/) - Create, deploy, and run applications by using containers. +- [Docker Compose](https://github.com/docker/compose) - Define and run multi-container applications with Docker. - [Docker Swarm](https://github.com/docker/swarm) - Docker-native clustering system. -- [Kubernetes](https://kubernetes.io/) - automating deployment, scaling, and management of containerized applications. -- [LXC](https://linuxcontainers.org/) - lets Linux users easily create and manage system or application containers. -- [Rancher](https://rancher.com/) - lets you deliver Kubernetes-as-a-Service. -- [OpenVz](https://openvz.org/) - container-based virtualization for Linux. -- [Singularity](https://sylabs.io/singularity/) - run the application from the local environment to the cloud. -- [AppScale](https://github.com/AppScale/appscale) - easy-to-manage serverless platform for building and running scalable web and mobile applications. -- [Kata Containers](https://katacontainers.io/) - building lightweight virtual machines that seamlessly plug into the containers ecosystem. +- [Kubernetes](https://kubernetes.io/) - Automating deployment, scaling, and management of containerized applications. +- [LXC](https://linuxcontainers.org/) - Lets Linux users easily create and manage system or application containers. +- [Rancher](https://rancher.com/) - Lets you deliver Kubernetes-as-a-Service. +- [OpenVz](https://openvz.org/) - Container-based virtualization for Linux. +- [Singularity](https://sylabs.io/singularity/) - Run the application from the local environment to the cloud. +- [AppScale](https://github.com/AppScale/appscale) - Easy-to-manage serverless platform for building and running scalable web and mobile applications. +- [Kata Containers](https://katacontainers.io/) - Building lightweight virtual machines that seamlessly plug into the containers ecosystem. - [K3S](https://k3s.io/) - The certified Kubernetes distribution built for IoT and Edge computing. -- [Podman](https://github.com/containers/podman) - a tool for managing OCI containers and pods. +- [Podman](https://github.com/containers/podman) - A tool for managing OCI containers and pods. ## Container Image Registry *Container Image registry.* -- [Quay](https://www.projectquay.io/) - container image registry that enables you to build, organize, distribute, and deploy containers. +- [Quay](https://www.projectquay.io/) - Container image registry that enables you to build, organize, distribute, and deploy containers. - [Dockyard](https://github.com/Huawei/dockyard) - Container & Artifact Repository. -- [Harbor](https://goharbor.io/) - an open source trusted cloud native registry project that stores, signs, and scans content. +- [Harbor](https://goharbor.io/) - An open source trusted cloud native registry project that stores, signs, and scans content. ## Automation & Orchestration *Tools for automation, orchestration, deployment, provisioning and configuration management.* -- [Ansible](https://www.ansible.com/) - simple IT automation platform that makes your applications and systems easier to deploy. -- [Salt](https://www.saltstack.com/) - automate the management and configuration of any infrastructure or application at scale. -- [Puppet](https://puppet.com/) - unparalleled infrastructure automation and delivery. -- [Chef](https://www.chef.io/) - automate infrastructure and applications. -- [Juju](https://jaas.ai/) - simplifies how you configure, scale and operate today's complex software. +- [Ansible](https://www.ansible.com/) - Simple IT automation platform that makes your applications and systems easier to deploy. +- [Salt](https://www.saltstack.com/) - Automate the management and configuration of any infrastructure or application at scale. +- [Puppet](https://puppet.com/) - Unparalleled infrastructure automation and delivery. +- [Chef](https://www.chef.io/) - Automate infrastructure and applications. +- [Juju](https://jaas.ai/) - Simplifies how you configure, scale and operate today's complex software. - [Rundeck](https://www.rundeck.com/) - Runbook Automation For Modernizing Your Operations. -- [StackStorm](https://stackstorm.com/) - connects all your apps, services, and workflows. Automate DevOps your way. -- [Bosh](https://www.cloudfoundry.org/bosh/) - release engineering, deployment, and lifecycle management of complex distributed systems. +- [StackStorm](https://stackstorm.com/) - Connects all your apps, services, and workflows. Automate DevOps your way. +- [Bosh](https://www.cloudfoundry.org/bosh/) - Release engineering, deployment, and lifecycle management of complex distributed systems. - [Cloudify](https://cloudify.co/) - Connect, Control, & Automate from core to edge: unlimited locations, clouds and devices. -- [Tsuru](https://tsuru.io/) - an extensible and open source Platform as a Service software. -- [Fabric](http://www.fabfile.org/) - high level Python library designed to execute shell commands remotely over SSH. +- [Tsuru](https://tsuru.io/) - An extensible and open source Platform as a Service software. +- [Fabric](http://www.fabfile.org/) - High level Python library designed to execute shell commands remotely over SSH. - [Capistrano](https://capistranorb.com/) - A remote server automation and deployment tool. -- [Mina](http://nadarei.co/mina/) - really fast deployer and server automation tool. +- [Mina](http://nadarei.co/mina/) - Really fast deployer and server automation tool. - [Terraform](https://www.terraform.io/) - use Infrastructure as Code to provision and manage any cloud, infrastructure, or service. -- [Pulumi](https://www.pulumi.com/) - modern infrastructure as code platform that allows you to use familiar programming languages and tools to build, deploy, and manage cloud infrastructure. -- [Packer](https://www.packer.io/) - build Automated Machine Images. +- [Pulumi](https://www.pulumi.com/) - Modern infrastructure as code platform that allows you to use familiar programming languages and tools to build, deploy, and manage cloud infrastructure. +- [Packer](https://www.packer.io/) - Build Automated Machine Images. - [Vagrant](https://www.vagrantup.com/) - Development Environments Made Easy. -- [Foreman](https://theforeman.org/) - complete lifecycle management tool for physical and virtual servers. -- [Nomad](https://learn.hashicorp.com/nomad) - deploy and Manage Any Containerized, Legacy, or Batch Application. -- [Marathon](https://mesosphere.github.io/marathon/) - a production-grade container orchestration platform for DC/OS and Apache Mesos. -- [OctoDNS](https://github.com/github/octodns) - managing DNS across multiple providers. DNS as code. +- [Foreman](https://theforeman.org/) - Complete lifecycle management tool for physical and virtual servers. +- [Nomad](https://learn.hashicorp.com/nomad) - Deploy and Manage Any Containerized, Legacy, or Batch Application. +- [Marathon](https://mesosphere.github.io/marathon/) - A production-grade container orchestration platform for DC/OS and Apache Mesos. +- [OctoDNS](https://github.com/github/octodns) - Managing DNS across multiple providers. DNS as code. - [ManageIQ](https://www.manageiq.org/) - Manage containers, virtual machines, networks, and storage from a single platform. - [Ignite](https://github.com/weaveworks/ignite) - Open Source Virtual Machine (VM) manager with a container UX and built-in GitOps management. - [Spacelift](https://spacelift.io/) - Flexible orchestration solution for IaC development. @@ -153,7 +152,7 @@ A curated list of awesome DevOps platforms, tools, practices and resources. ## Continuous Integration & Delivery -*Continuous Integration, Continuous Delivery and Continuous Delivery. GitOps* +*Continuous Integration, Continuous Delivery and Continuous Delivery. GitOps.* - On premises - [Buildbot](http://buildbot.net/) - automate all aspects of the software development cycle. @@ -184,38 +183,38 @@ A curated list of awesome DevOps platforms, tools, practices and resources. - [Cirrus CI](https://cirrus-ci.org/) - continuous integration system built for the era of cloud computing. - [Codefresh](https://codefresh.io/) - GitOps automation platform for Kubernetes apps. - [Github actions](https://github.com/features/actions) - GitHub Actions makes it easy to automate all your software workflows, now with world-class CI/CD. - - [Kraken CI](https://kraken.ci/) - modern CI/CD, open-source, on-premise system that is highly scalable and focused on testing. + - [Kraken CI](https://kraken.ci/) - Modern CI/CD, open-source, on-premise system that is highly scalable and focused on testing. - [Earthly](https://earthly.dev/) - Develop CI/CD pipelines locally and run them anywhere. ## Source Code Management -*Source Code management, Git-repository manager, Version Control. Some of them include [Code review](#code-review).* +*Source Code management, Git-repository manager, Version Control. Some of them are included in Code review section.* -- [Github](https://github.com/) - helps developers store and manage their code, as well as track and control changes to their code. -- [Gitlab](https://gitlab.com/) - entire DevOps lifecycle in one application. -- [Bitbucket](https://bitbucket.org/product/) - gives teams one place to plan projects, collaborate on code, test, and deploy -- [Phabricator](https://github.com/phacility/phabricator/) - a collection of web applications which help software companies build better software. -- [Gogs](https://gogs.io/) - a painless self-hosted Git service. -- [Gitea](https://gitea.io/) - a painless self-hosted Git service. -- [Gitblit](https://github.com/gitblit/gitblit) - pure Java Git solution for managing, viewing, and serving Git repositories. +- [Github](https://github.com/) - Helps developers store and manage their code, as well as track and control changes to their code. +- [Gitlab](https://gitlab.com/) - Entire DevOps lifecycle in one application. +- [Bitbucket](https://bitbucket.org/product/) - Gives teams one place to plan projects, collaborate on code, test, and deploy +- [Phabricator](https://github.com/phacility/phabricator/) - A collection of web applications which help software companies build better software. +- [Gogs](https://gogs.io/) - A painless self-hosted Git service. +- [Gitea](https://gitea.io/) - A painless self-hosted Git service. +- [Gitblit](https://github.com/gitblit/gitblit) - Pure Java Git solution for managing, viewing, and serving Git repositories. ## Web Servers *Web servers and reverse proxy.* -- [Nginx](http://nginx.org/) - high performance load balancer, web server and reverse proxy. -- [Apache](http://httpd.apache.org/) - web server and reverse proxy. -- [Caddy](https://caddyserver.com/) - web server with automatic HTTPS. -- [Cherokee](http://cherokee-project.com/) - highly concurrent secured web applications. -- [Lighttpd](http://www.lighttpd.net/) - optimized for speed-critical environments while remaining standards-compliant, secure and flexible. -- [Uwsgi](https://github.com/unbit/uwsgi/) - application server container. +- [Nginx](http://nginx.org/) - High performance load balancer, web server and reverse proxy. +- [Apache](http://httpd.apache.org/) - Web server and reverse proxy. +- [Caddy](https://caddyserver.com/) - Web server with automatic HTTPS. +- [Cherokee](http://cherokee-project.com/) - Highly concurrent secured web applications. +- [Lighttpd](http://www.lighttpd.net/) - Optimized for speed-critical environments while remaining standards-compliant, secure and flexible. +- [Uwsgi](https://github.com/unbit/uwsgi/) - Application server container. ## SSL *Tools for automating the management of SSL certificates.* -- [Certbot](https://github.com/certbot/certbot) - automate using Let’s Encrypt certificates on manually-managed websites to enable HTTPS. -- [Let’s Encrypt](https://letsencrypt.org/) - free, automated, and open Certificate Authority. +- [Certbot](https://github.com/certbot/certbot) - Automate using Let’s Encrypt certificates on manually-managed websites to enable HTTPS. +- [Let’s Encrypt](https://letsencrypt.org/) - Free, automated, and open Certificate Authority. - [Cert Manager](https://github.com/jetstack/cert-manager) - K8S add-on to automate the management and issuance of TLS certificates from various issuing sources. ## Databases @@ -223,90 +222,90 @@ A curated list of awesome DevOps platforms, tools, practices and resources. *Relational (SQL) and non-relational (NoSQL) databases.* - Relational (SQL) - - [PostgreSQL](https://www.postgresql.org/) - powerful, open source object-relational database system. - - [MySQL](https://www.mysql.com/) - open-source relational database management system. - - [MariaDB](https://mariadb.org/) - fast, scalable and robust, with a rich ecosystem of storage engines, plugins and many other tools. - - [SQLite](https://sqlite.org/) - small, fast, self-contained, high-reliability, full-featured, SQL database engine. + - [PostgreSQL](https://www.postgresql.org/) - Powerful, open source object-relational database system. + - [MySQL](https://www.mysql.com/) - Open-source relational database management system. + - [MariaDB](https://mariadb.org/) - Fast, scalable and robust, with a rich ecosystem of storage engines, plugins and many other tools. + - [SQLite](https://sqlite.org/) - Small, fast, self-contained, high-reliability, full-featured, SQL database engine. - Non-relational (NoSQL) - - [Cassandra](http://cassandra.apache.org/) - manage massive amounts of data, fast, without losing sleep. - - [Apache HBase](http://hbase.apache.org/) - distributed, versioned, non-relational database. - - [Couchdb](https://couchdb.apache.org/) - database that completely embraces the web. - - [Elasticsearch](https://www.elastic.co/products/elasticsearch) - distributed, RESTful search and analytics engine capable of addressing a growing number of use cases. - - [MongoDB](https://www.mongodb.com/) - general purpose, document-based, distributed database built for modern applications. - - [Rethinkdb](https://github.com/rethinkdb/rethinkdb) - open-source database for the realtime web. + - [Cassandra](http://cassandra.apache.org/) - Manage massive amounts of data, fast, without losing sleep. + - [Apache HBase](http://hbase.apache.org/) - Distributed, versioned, non-relational database. + - [Couchdb](https://couchdb.apache.org/) - Database that completely embraces the web. + - [Elasticsearch](https://www.elastic.co/products/elasticsearch) - Distributed, RESTful search and analytics engine capable of addressing a growing number of use cases. + - [MongoDB](https://www.mongodb.com/) - General purpose, document-based, distributed database built for modern applications. + - [Rethinkdb](https://github.com/rethinkdb/rethinkdb) - Open-source database for the realtime web. - Key-Value - - [Couchbase](https://www.couchbase.com/) - distributed multi-model NoSQL document-oriented database that is optimized for interactive applications. - - [Leveldb](https://github.com/google/leveldb) - fast key-value storage library. - - [Redis](https://redis.io/) - in-memory data structure store, used as a database, cache and message broker. - - [RocksDB](https://rocksdb.org/) - a library that provides an embeddable, persistent key-value store for fast storage. - - [Etcd](https://github.com/etcd-io/etcd) - distributed reliable key-value store for the most critical data of a distributed system. + - [Couchbase](https://www.couchbase.com/) - Distributed multi-model NoSQL document-oriented database that is optimized for interactive applications. + - [Leveldb](https://github.com/google/leveldb) - Fast key-value storage library. + - [Redis](https://redis.io/) - In-memory data structure store, used as a database, cache and message broker. + - [RocksDB](https://rocksdb.org/) - A library that provides an embeddable, persistent key-value store for fast storage. + - [Etcd](https://github.com/etcd-io/etcd) - Distributed reliable key-value store for the most critical data of a distributed system. ## Observability & Monitoring *Observability, Monitoring, Metrics/Metrics collection and Alerting tools.* - [Sensu](https://sensu.io/) - Simple. Scalable. Multi-cloud monitoring. -- [Alerta](https://github.com/alerta/alerta) - scalable, minimal configuration and visualization monitoring system. -- [Cabot](https://github.com/arachnys/cabot) - self-hosted, easily-deployable monitoring and alerts service. -- [Amon](https://github.com/amonapp/amon) - modern server monitoring platform. -- [Flapjack](https://flapjack.io/) - monitoring notification routing + event processing system. -- [Icinga](https://icinga.com/) - monitors availability and performance, gives you simple access to relevant data and raises alerts. -- [Monit](https://mmonit.com/monit/#home) - managing and monitoring Unix systems. -- [Naemon](http://www.naemon.org/) - fast, stable and innovative while giving you a clear view of the state of your network and applications. -- [Nagios](https://www.nagios.org/) - computer-software application that monitors systems, networks and infrastructure. -- [Sentry](https://sentry.io/welcome/) - error monitoring that helps all software teams discover, triage, and prioritize errors in real-time. -- [Shinken](http://www.shinken-monitoring.org/) - monitoring framework. -- [Zabbix](https://www.zabbix.com/) - mature and effortless monitoring solution for network monitoring and application monitoring. -- [Glances](https://github.com/nicolargo/glances) - monitoring information through a curses or Web based interface. -- [Healthchecks](https://github.com/healthchecks/healthchecks) - cron monitoring tool. -- [Bolo](http://bolo.niftylogic.com/) - building distributed, scalable monitoring systems. -- [cAdvisor](https://github.com/google/cadvisor) - analyzes resource usage and performance characteristics of running containers. -- [ElastiFlow](https://github.com/robcowart/elastiflow) - network flow monitoring (Netflow, sFlow and IPFIX) with the Elastic Stack. -- [Co-Pilot](https://pcp.io/) - system performance analysis toolkit. +- [Alerta](https://github.com/alerta/alerta) - Scalable, minimal configuration and visualization monitoring system. +- [Cabot](https://github.com/arachnys/cabot) - Self-hosted, easily-deployable monitoring and alerts service. +- [Amon](https://github.com/amonapp/amon) - Modern server monitoring platform. +- [Flapjack](https://flapjack.io/) - Monitoring notification routing + event processing system. +- [Icinga](https://icinga.com/) - Monitors availability and performance, gives you simple access to relevant data and raises alerts. +- [Monit](https://mmonit.com/monit/#home) - Managing and monitoring Unix systems. +- [Naemon](http://www.naemon.org/) - Fast, stable and innovative while giving you a clear view of the state of your network and applications. +- [Nagios](https://www.nagios.org/) - Computer-software application that monitors systems, networks and infrastructure. +- [Sentry](https://sentry.io/welcome/) - Error monitoring that helps all software teams discover, triage, and prioritize errors in real-time. +- [Shinken](http://www.shinken-monitoring.org/) - Monitoring framework. +- [Zabbix](https://www.zabbix.com/) - Mature and effortless monitoring solution for network monitoring and application monitoring. +- [Glances](https://github.com/nicolargo/glances) - Monitoring information through a curses or Web based interface. +- [Healthchecks](https://github.com/healthchecks/healthchecks) - Cron monitoring tool. +- [Bolo](http://bolo.niftylogic.com/) - Building distributed, scalable monitoring systems. +- [cAdvisor](https://github.com/google/cadvisor) - Analyzes resource usage and performance characteristics of running containers. +- [ElastiFlow](https://github.com/robcowart/elastiflow) - Network flow monitoring (Netflow, sFlow and IPFIX) with the Elastic Stack. +- [Co-Pilot](https://pcp.io/) - System performance analysis toolkit. - Metrics/Metrics collection - - [Thundra Foresight](https://www.thundra.io/foresight) - visibility into CI pipeline by spotting test failures in no time. - - [Prometheus](https://prometheus.io/) - power your metrics and alerting with a leading open-source monitoring solution. - - [Collectd](https://github.com/collectd/collectd) - the system statistics collection daemon. - - [Facette](https://github.com/facette/facette) - time series data visualization software. - - [Grafana](https://grafana.com/) - analytics & monitoring solution for every database. - - [Graphite](https://graphite.readthedocs.io/en/latest/) - store numeric time-series data and render graphs of this data on demand. - - [Influxdata](https://www.influxdata.com/) - time series database. - - [Netdata](https://www.netdata.cloud/) - instantly diagnose slowdowns and anomalies in your infrastructure. - - [Freeboard](https://github.com/Freeboard/freeboard) - real-time dashboard builder for IOT and other web mashups. + - [Thundra Foresight](https://www.thundra.io/foresight) - Visibility into CI pipeline by spotting test failures in no time. + - [Prometheus](https://prometheus.io/) - Power your metrics and alerting with a leading open-source monitoring solution. + - [Collectd](https://github.com/collectd/collectd) - The system statistics collection daemon. + - [Facette](https://github.com/facette/facette) - Time series data visualization software. + - [Grafana](https://grafana.com/) - Analytics & monitoring solution for every database. + - [Graphite](https://graphite.readthedocs.io/en/latest/) - Store numeric time-series data and render graphs of this data on demand. + - [Influxdata](https://www.influxdata.com/) - Time series database. + - [Netdata](https://www.netdata.cloud/) - Instantly diagnose slowdowns and anomalies in your infrastructure. + - [Freeboard](https://github.com/Freeboard/freeboard) - Real-time dashboard builder for IOT and other web mashups. - Logs Management - - [Anthracite](https://github.com/Dieterbe/anthracite) - an event/change logging/management app. - - [Graylog](https://github.com/Graylog2/graylog2-server) - free and open source log management. - - [Logstash](https://www.elastic.co/products/logstash#) - collect, parse, transform logs. - - [Fluentd](https://www.fluentd.org/) - data collector for unified logging layer. - - [Flume](https://flume.apache.org/) - distributed, reliable, and available service for efficiently collecting, aggregating, and moving logs. - - [Heka](https://hekad.readthedocs.io/en/latest/#) - stream processing software system. - - [Kibana](https://www.elastic.co/products/kibana) - explore, visualize, discover data. - - [Loki](https://github.com/grafana/loki) - horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. + - [Anthracite](https://github.com/Dieterbe/anthracite) - An event/change logging/management app. + - [Graylog](https://github.com/Graylog2/graylog2-server) - Free and open source log management. + - [Logstash](https://www.elastic.co/products/logstash#) - Collect, parse, transform logs. + - [Fluentd](https://www.fluentd.org/) - Data collector for unified logging layer. + - [Flume](https://flume.apache.org/) - Distributed, reliable, and available service for efficiently collecting, aggregating, and moving logs. + - [Heka](https://hekad.readthedocs.io/en/latest/#) - Stream processing software system. + - [Kibana](https://www.elastic.co/products/kibana) - Explore, visualize, discover data. + - [Loki](https://github.com/grafana/loki) - Horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. - Status - - [Cachet](https://github.com/CachetHQ/Cachet) - beautiful and powerful open source status page system. - - [StatusPal](https://statuspal.io/?utm_source=github.com&utm_medium=referral&utm_campaign=awesome-devops) - communicate incidents and maintenance effectively with a beautiful hosted status page. + - [Cachet](https://github.com/CachetHQ/Cachet) - Beautiful and powerful open source status page system. + - [StatusPal](https://statuspal.io/?utm_source=github.com&utm_medium=referral&utm_campaign=awesome-devops) - Communicate incidents and maintenance effectively with a beautiful hosted status page. ## Service Discovery & Service Mesh *Service Discovery, Service Mesh and Failure detection tools.* -- [Consul](https://www.hashicorp.com/products/consul/) - connect and secure any service. -- [Serf](https://www.serf.io/) - decentralized cluster membership, failure detection, and orchestration. -- [Doozerd](https://github.com/ha/doozerd) - a consistent distributed data store. -- [Zookeeper](http://zookeeper.apache.org/) - centralized service for configuration, naming, providing distributed synchronization, and more. -- [Etcd](https://etcd.io/) - distributed, reliable key-value store for the most critical data of a distributed system. -- [Istio](https://istio.io/) - connect, secure, control, and observe services. -- [Kong](https://konghq.com/) - deliver performance needed for microservices, service mesh, and cloud native deployments. -- [Linkerd](https://github.com/linkerd/linkerd2) - service mesh for Kubernetes and beyond. +- [Consul](https://www.hashicorp.com/products/consul/) - Connect and secure any service. +- [Serf](https://www.serf.io/) - Decentralized cluster membership, failure detection, and orchestration. +- [Doozerd](https://github.com/ha/doozerd) - A consistent distributed data store. +- [Zookeeper](http://zookeeper.apache.org/) - Centralized service for configuration, naming, providing distributed synchronization, and more. +- [Etcd](https://etcd.io/) - Distributed, reliable key-value store for the most critical data of a distributed system. +- [Istio](https://istio.io/) - Connect, secure, control, and observe services. +- [Kong](https://konghq.com/) - Deliver performance needed for microservices, service mesh, and cloud native deployments. +- [Linkerd](https://github.com/linkerd/linkerd2) - Service mesh for Kubernetes and beyond. ## Chaos Engineering *The discipline of experimenting on a distributed system in order to build confidence in the system's capability to withstand turbulent conditions in production.* -- [Chaos Toolkit](https://github.com/chaostoolkit) - the Open Source Platform for Chaos Engineering. -- [Chaos Monkey](https://github.com/Netflix/chaosmonkey) - a resiliency tool that helps applications tolerate random instance failures. -- [Toxiproxy](https://github.com/Shopify/toxiproxy) - simulate network and system conditions for chaos and resiliency testing. -- [Pumba](https://github.com/alexei-led/pumba) - chaos testing, network emulation and stress testing tool for containers. +- [Chaos Toolkit](https://github.com/chaostoolkit) - The Open Source Platform for Chaos Engineering. +- [Chaos Monkey](https://github.com/Netflix/chaosmonkey) - A resiliency tool that helps applications tolerate random instance failures. +- [Toxiproxy](https://github.com/Shopify/toxiproxy) - Simulate network and system conditions for chaos and resiliency testing. +- [Pumba](https://github.com/alexei-led/pumba) - Chaos testing, network emulation and stress testing tool for containers. - [Chaos Mesh](https://github.com/chaos-mesh/chaos-mesh) - A Chaos Engineering Platform for Kubernetes. - [Litmus](https://github.com/litmuschaos/litmus) - Litmus enables teams to identify weaknesses in infrastructures. @@ -314,90 +313,90 @@ A curated list of awesome DevOps platforms, tools, practices and resources. *API Gateway, Service Proxy and Service Management tools.* -- [API Umbrella](https://github.com/NREL/api-umbrella) - proxy that sits in front of your APIs, API management platform. +- [API Umbrella](https://github.com/NREL/api-umbrella) - Proxy that sits in front of your APIs, API management platform. - [Ambassador](https://www.getambassador.io/) - Kubernetes-Native API Gateway built on the Envoy Proxy. -- [Kong](https://konghq.com/) - connect all your microservices and APIs with the industry’s most performant, scalable and flexible API platform. +- [Kong](https://konghq.com/) - Connect all your microservices and APIs with the industry’s most performant, scalable and flexible API platform. - [Tyk](https://tyk.io/) - API and service management platform. - [Cilium](https://github.com/cilium/cilium) - API aware networking and security using BPF and XDP. -- [Gloo](https://github.com/solo-io/gloo) - feature-rich, Kubernetes-native ingress controller, and next-generation API gateway. -- [Envoy](https://www.envoyproxy.io/) - cloud-native high-performance edge/middle/service proxy. -- [Traefik](https://traefik.io/) - reverse proxy and load balancer for HTTP and TCP-based applications. -- [Nginx](https://nginx.org/) - high performance reverse proxy. +- [Gloo](https://github.com/solo-io/gloo) - Feature-rich, Kubernetes-native ingress controller, and next-generation API gateway. +- [Envoy](https://www.envoyproxy.io/) - Cloud-native high-performance edge/middle/service proxy. +- [Traefik](https://traefik.io/) - Reverse proxy and load balancer for HTTP and TCP-based applications. +- [Nginx](https://nginx.org/) - High performance reverse proxy. ## Code review -*Code review. A few of the [Source Code Management](#source-code-management) tools have built-in code review features.* +*Code review. A few of the Source Code Management tools have built-in code review features.* -- [Gerrit](https://www.gerritcodereview.com/) - web-based team code collaboration tool. -- [Review Board](https://www.reviewboard.org/) - web-based collaborative code review tool. +- [Gerrit](https://www.gerritcodereview.com/) - Web-based team code collaboration tool. +- [Review Board](https://www.reviewboard.org/) - Web-based collaborative code review tool. ## Distributed messaging *Distributed messaging platforms and Queues software.* -- [Rabbitmq](https://www.rabbitmq.com/) - message broker. -- [Kafka](http://kafka.apache.org/) - building real-time data pipelines and streaming apps. +- [Rabbitmq](https://www.rabbitmq.com/) - Message broker. +- [Kafka](http://kafka.apache.org/) - Building real-time data pipelines and streaming apps. - [Activemq](http://activemq.apache.org/) - Multi-Protocol messaging. -- [Beanstalkd](https://beanstalkd.github.io/) - simple, fast work queue. -- [NSQ](https://nsq.io/) - realtime distributed messaging platform. -- [Celery](http://www.celeryproject.org/) - asynchronous task queue/job queue based on distributed message passing. -- [Faktory](https://github.com/contribsys/faktory) - repository for background jobs within your application. -- [Nats](https://nats.io/) - simple, secure and high performance open source messaging system. -- [RestMQ](http://restmq.com/) - message queue which uses HTTP as transport. -- [Dkron](https://github.com/distribworks/dkron) - distributed, fault tolerant job scheduling system. +- [Beanstalkd](https://beanstalkd.github.io/) - Simple, fast work queue. +- [NSQ](https://nsq.io/) - Realtime distributed messaging platform. +- [Celery](http://www.celeryproject.org/) - Asynchronous task queue/job queue based on distributed message passing. +- [Faktory](https://github.com/contribsys/faktory) - Repository for background jobs within your application. +- [Nats](https://nats.io/) - Simple, secure and high performance open source messaging system. +- [RestMQ](http://restmq.com/) - Message queue which uses HTTP as transport. +- [Dkron](https://github.com/distribworks/dkron) - Distributed, fault tolerant job scheduling system. - [KubeMQ](https://kubemq.io/) - Kubernetes-native messaging platform. ## Programming Languages *Programming languages.* -- [Python](https://www.python.org/) - programming language that lets you work quickly and integrate systems more effectively. -- [Ruby](https://www.ruby-lang.org/) - a dynamic, open source programming language with a focus on simplicity and productivity. -- [Go](https://golang.org/) - an open source programming language that makes it easy to build simple, reliable, and efficient software. +- [Python](https://www.python.org/) - Programming language that lets you work quickly and integrate systems more effectively. +- [Ruby](https://www.ruby-lang.org/) - A dynamic, open source programming language with a focus on simplicity and productivity. +- [Go](https://golang.org/) - An open source programming language that makes it easy to build simple, reliable, and efficient software. ## Chat and ChatOps *Chat and ChatOps.* -- [Rocket](https://rocket.chat/) - open source team communication. -- [Mattermost](https://mattermost.com/) - messaging platform that enables secure team collaboration. -- [Zulip](https://zulipchat.com/) - real-time chat with an email threading model. -- [Riot](https://about.riot.im/) - a universal secure chat app entirely under your control. +- [Rocket](https://rocket.chat/) - Open source team communication. +- [Mattermost](https://mattermost.com/) - Messaging platform that enables secure team collaboration. +- [Zulip](https://zulipchat.com/) - Real-time chat with an email threading model. +- [Riot](https://about.riot.im/) - A universal secure chat app entirely under your control. - ChatOps: - - [CloudBot](https://github.com/CloudBotIRC/CloudBot) - simple, fast, expandable, open-source Python IRC Bot. - - [Hubot](https://hubot.github.com/) - a customizable life embetterment robot. + - [CloudBot](https://github.com/CloudBotIRC/CloudBot) - Simple, fast, expandable, open-source Python IRC Bot. + - [Hubot](https://hubot.github.com/) - A customizable life embetterment robot. ## Secret Management *Security as code, sensitive credentials and secrets need to be managed, security, maintained and rotated using automation.* -- [Sops](https://github.com/mozilla/sops) - simple and flexible tool for managing secrets. -- [Vault](https://www.hashicorp.com/products/vault/) - manage secrets and protect sensitive data. -- [Keybase](https://keybase.io/) - end-to-end encrypted chat and cloud storage system. -- [Vault Secrets Operator](https://github.com/ricoberger/vault-secrets-operator) - create Kubernetes secrets from Vault for a secure GitOps based workflow. -- [Git Secret](https://github.com/sobolevn/git-secret) - a bash-tool to store your private data inside a git repository. +- [Sops](https://github.com/mozilla/sops) - Simple and flexible tool for managing secrets. +- [Vault](https://www.hashicorp.com/products/vault/) - Manage secrets and protect sensitive data. +- [Keybase](https://keybase.io/) - End-to-end encrypted chat and cloud storage system. +- [Vault Secrets Operator](https://github.com/ricoberger/vault-secrets-operator) - Create Kubernetes secrets from Vault for a secure GitOps based workflow. +- [Git Secret](https://github.com/sobolevn/git-secret) - A bash-tool to store your private data inside a git repository. ## Sharing *A collection of tools to help with sharing knowledge and telling the story.* -- [Gitbook](https://github.com/GitbookIO/gitbook) - modern documentation format and toolchain using Git and Markdown. -- [Docusaurus](https://github.com/facebook/docusaurus) - easy to maintain open source documentation websites. -- [Docsify](https://github.com/docsifyjs/docsify/) - a magical documentation site generator. -- [MkDocs](https://github.com/mkdocs/mkdocs/) - project documentation with Markdown. +- [Gitbook](https://github.com/GitbookIO/gitbook) - Modern documentation format and toolchain using Git and Markdown. +- [Docusaurus](https://github.com/facebook/docusaurus) - Easy to maintain open source documentation websites. +- [Docsify](https://github.com/docsifyjs/docsify/) - A magical documentation site generator. +- [MkDocs](https://github.com/mkdocs/mkdocs/) - Project documentation with Markdown. ## VPN *VPN, routing and firewall.* -- [OpenVPN](https://openvpn.net/) - flexible VPN solutions to secure your data communications, whether it's for Internet privacy, -- [Pritunl](https://pritunl.com/) - enterprise Distributed OpenVPN and IPsec Server. -- [VyOS](https://vyos.io/) - open source network OS that runs on a wide range of hardware, virtual machines, and cloud providers. -- [Algo](https://github.com/trailofbits/algo) - set up a personal VPN in the cloud. -- [Streisand](https://github.com/StreisandEffect/streisand) - sets up a new VPN service nearly automatically. -- [Freelan](https://github.com/freelan-developers/freelan) - a peer-to-peer, secure, easy-to-setup, multi-platform, open-source, highly-configurable VPN software. -- [Sshuttle](https://github.com/sshuttle/sshuttle) - transparent proxy server that works as a poor man's VPN. -- [SoftEther](https://www.softether.org/) - An Open-Source Free Cross-platform Multi-protocol VPN Program, +- [OpenVPN](https://openvpn.net/) - Flexible VPN solutions to secure your data communications, whether it's for Internet privacy. +- [Pritunl](https://pritunl.com/) - Enterprise Distributed OpenVPN and IPsec Server. +- [VyOS](https://vyos.io/) - Open source network OS that runs on a wide range of hardware, virtual machines, and cloud providers. +- [Algo](https://github.com/trailofbits/algo) - Set up a personal VPN in the cloud. +- [Streisand](https://github.com/StreisandEffect/streisand) - Sets up a new VPN service nearly automatically. +- [Freelan](https://github.com/freelan-developers/freelan) - A peer-to-peer, secure, easy-to-setup, multi-platform, open-source, highly-configurable VPN software. +- [Sshuttle](https://github.com/sshuttle/sshuttle) - Transparent proxy server that works as a poor man's VPN. +- [SoftEther](https://www.softether.org/) - An Open-Source Free Cross-platform Multi-protocol VPN Program. as an academic project from University of Tsukuba, under the Apache License 2.0. - [Firezone](https://www.firezone.dev/) - Self-hosted VPN server using WireGuard. Supports MFA, SSO, and has easy deployment options. @@ -426,7 +425,7 @@ as an academic project from University of Tsukuba, under the Apache License 2.0. - [devopsdays](https://devopsdays.org/) - [DevOps Enterprise Summit](https://events.itrevolution.com/) -## DevOps Roadmap +### DevOps Roadmap Basic understanding and what you should know to become a *DevOps* Engineer, check the roadmap [here](https://roadmap.sh/devops). diff --git a/docs/assets/banner.png b/docs/assets/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..ea39dace5e8c5143eb3692091bb07b6d27483d36 GIT binary patch literal 36320 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