Skip to content

Latest commit

 

History

History
436 lines (355 loc) · 29.5 KB

devops.md

File metadata and controls

436 lines (355 loc) · 29.5 KB

精心策划的平台、工具、实践和资源清单,用于创建、改善组织中的DevOps文化和SRE团队。

DevOps是文化理念、实践和工具的结合,它提高了组织高速交付应用程序和服务的能力:与使用传统软件开发和基础设施管理流程的组织相比,以更快的速度发展和改进产品。这种速度使组织能够更好地服务于他们的客户并在市场上更有效地竞争。

内容

云平台

  • 公有云和私有云平台 *。
  • 亚马逊网络服务(AWS) - 云计算服务。
  • Google Cloud Platform (GCP) - 云计算服务。
  • Azure - 云计算平台和服务。
  • Alibaba Cloud - 云产品和服务的综合套件。
  • Oracle Cloud - 全面和完全集成的云应用和平台服务堆栈。
  • DigitalOcean - 帮助开发人员轻松构建、测试、管理和扩展任何规模的应用程序。
  • Scaleway - 在云中创建、部署和扩展基础设施的单一方式。
  • Vultr - 在全球范围内轻松地部署云服务器、裸机和存储。
  • VMware Cloud - 在任何云上运行、管理、连接和保护您的所有应用程序。
  • IBM Cloud - 工具、数据和API,使人工智能成为现实。
  • Stackpath - 在云的边缘建立的计算基础设施和服务平台。
  • Linode - 加快云计算的创新,虚拟计算必须更容易获得,更实惠,更简单。
  • Kinsta - 在几分钟内创建和部署网络应用和数据库。

开源云平台

  • 私人、公共和混合开源云平台。*
  • Openstack - 用于创建私有云和公共云的开源软件。
  • Apache CloudStack - 设计用于部署和管理大型虚拟机网络。
  • OpenNebula - 基于KVM、LXD和VMware建立私有云并管理数据中心的虚拟化。
  • Eucalyptus - 建立兼容AWS的私有云和混合云。
  • DC/OS - 基于Apache Mesos分布式系统内核的分布式操作系统。
  • Apache Mesos - 针对你的数据中心编程,就像它是单一的资源池。
  • Localstack - 全功能的本地AWS云堆栈。在离线状态下开发和测试你的云和无服务器应用程序。

操作系统

  • 操作系统--服务器平台。 *
  • Ubuntu - 企业开源和Linux。
  • Rocky Linux - 开源企业操作系统,旨在与Red Hat Enterprise Linux实现100%的错误兼容。
  • CoreOS - 首创的轻型容器主机。
  • OSv - 多功能的模块化单内核,设计用于在云中的微型虚拟机上安全地运行未经修改的Linux应用程序。
  • Atomic - 使用不可变的基础设施来部署和扩展你的容器化应用。
  • Photon - 为云原生应用、云平台和VMware基础设施优化的Linux容器主机。

分布式文件系统

  • 网络分布式文件系统。 *
  • Ceph - 在完整的系统下,高度可扩展的基于对象、块和文件的存储。
  • Gluster - 免费和开放源码软件的可扩展网络文件系统。
  • LINBIT - 为数据中心规模的环境创建、删除和复制块存储设备。
  • XtreemFS - 容错的分布式文件系统,满足所有存储需求。
  • min.io - 高性能、分布式对象存储系统。

应用平台

  • 应用管理平台、容器平台和容器管理。 *
  • Openshift - 大创意的Kubernetes平台。
  • Dokku - 帮助你建立和管理应用程序的生命周期。
  • Flynn - 用于在生产中运行应用程序的开源平台(PaaS)。
  • Docker - 通过使用容器创建、部署和运行应用程序。
  • Docker Compose - 用Docker定义和运行多容器应用程序。
  • Docker Swarm - Docker原生集群系统。
  • Kubernetes - 容器化应用的自动部署、扩展和管理。
  • LXC - 让Linux用户轻松创建和管理系统或应用容器。
  • Rancher - 让你提供Kubernetes-as-a-Service。
  • OpenVz - 基于容器的Linux虚拟化。
  • Singularity - 从本地环境到云端运行应用程序。
  • AppScale - 易于管理的无服务器平台,用于构建和运行可扩展的Web和移动应用程序。
  • Kata Containers - 构建可无缝插入容器生态系统的轻量级虚拟机。
  • K3S - 为物联网和边缘计算构建的认证Kubernetes发行版。
  • Podman - 用于管理OCI容器和pod的工具。
  • Linx - 用于构建和托管后端解决方案的通用低代码平台。

容器镜像注册表

  • Container Image registry. *
  • Quay - 容器镜像注册表,使你能够建立、组织、分发和部署容器。
  • Dockyard - 容器和构件库。
  • Harbor - 开源的可信的云原生注册表项目,可以存储、签署和扫描内容。

自动化和协调

  • 用于自动化、协调、部署、供应和配置管理的工具。 *
  • Ansible - 简单的IT自动化平台,使你的应用程序和系统更容易部署。
  • Salt - 自动管理和配置任何规模的基础设施或应用程序。
  • Puppet - 无与伦比的基础设施自动化和交付。
  • Chef - 基础设施和应用程序的自动化。
  • Juju - 简化您配置、扩展和操作当今复杂软件的方式。
  • Rundeck - 现代化运营的运行手册自动化。
  • StackStorm - 连接你所有的应用程序、服务和工作流程。以你的方式实现DevOps自动化。
  • Bosh - 复杂分布式系统的发布工程、部署和生命周期管理。
  • Cloudify - 从核心到边缘的连接、控制和自动化:无限的地点、云和设备。
  • Tsuru - 一个可扩展的、开源的平台即服务软件。
  • Fabric - 高级别的Python库,旨在通过SSH远程执行shell命令。
  • Capistrano - 远程服务器自动化和部署工具。
  • Mina - 真正快速的部署器和服务器自动化工具。
  • Terraform - 使用基础设施即代码来配置和管理任何云、基础设施或服务。
  • Pulumi - 现代基础设施即代码平台,允许你使用熟悉的编程语言和工具来构建、部署和管理云基础设施。
  • Packer - 建立自动化的机器映像。
  • Vagrant - 开发环境变得简单。
  • Foreman - 物理和虚拟服务器的完整生命周期管理工具。
  • Nomad - 部署和管理任何容器化、传统或批量应用程序。
  • Marathon - 用于DC/OS和Apache Mesos的生产级容器编排平台。
  • OctoDNS - 跨多个供应商管理DNS。DNS作为代码。
  • ManageIQ - 从单一平台管理容器、虚拟机、网络和存储。
  • Ignite - 具有容器用户体验和内置GitOps管理的开源虚拟机(VM)管理器。
  • Spacelift - 用于IaC开发的灵活协调解决方案。
  • Atlantis - Terraform Pull Request Automation
  • KubeVela - 现代应用交付平台,使在当今的混合、多云环境中部署和运行应用更容易、更快、更可靠。
  • Stacktape - 建立在AWS之上的开发者友好型基础设施即代码框架。
  • Score - 以开发人员为中心、与平台无关的开源工作负载规范。

持续集成与交付

  • 持续集成、持续交付和持续交付。GitOps. *
  • 在场所
    • Buildbot - 自动化软件开发周期的所有方面。
    • Gitlab CI - 管道构建、测试、部署和监控你的代码,作为单一、集成工作流程的一部分。
    • Jenkins - 用于构建、部署和自动化任何项目的自动化服务器。
    • Drone - 容器-原生的持续交付平台。
    • Concourse - 基于管道的持续做事器。
    • Spinnaker - 为每个企业提供快速、安全、可重复的部署。
    • goCD - 交付和发布自动化服务器。
    • Teamcity - 企业级CI和CD。
    • Bamboo - 将自动构建、测试和发布结合在一个工作流程中。
    • Integrity - 持续集成服务器。
    • Zuul - 驱动持续集成、交付和部署系统,专注于项目门控。
    • Argo - 开源Kubernetes原生工作流、事件、CI和CD。
    • Strider - 持续部署/持续集成平台。
    • Evergreen - 来自MongoDB的分布式持续集成系统。
    • werf - 开源CI/CD工具,用于构建Docker镜像并使用GitOps方法将其部署到Kubernetes。
    • Flux - 自动确保你的Kubernetes集群的状态与你在Git中提供的配置一致。
    • Flagger - 逐步交付的Kubernetes运营商(金丝雀、A/B测试和蓝色/绿色部署)。
    • Tekton - 用于创建CI/CD系统的强大而灵活的开源框架。
    • PipeCD - 用于声明式Kubernetes、无服务器和基础设施应用的持续交付。
    • Gitploy - 在几分钟内围绕GitHub建立部署系统。
  • 公共服务
    • Travis CI - 轻松同步你的项目,你将在几分钟内测试你的代码。
    • Circle CI - 强大的CI/CD管线,让代码不断前进。
    • Bitrise - 用于移动应用程序的CI/CD。
    • Buildkite - 在你自己的基础设施上运行快速、安全和可扩展的持续集成管道。
    • Cirrus CI - 为云计算时代建立的持续集成系统。
    • Codefresh - Kubernetes应用程序的GitOps自动化平台。
    • Github actions - GitHub Actions使你的所有软件工作流程轻松实现自动化,现在又有了世界级的CI/CD。
    • Kraken CI - 现代CI/CD,开源,内部系统,高度可扩展,专注于测试。
    • Earthly - 在本地开发CI/CD管道,并在任何地方运行它们。

源代码管理

  • 源代码管理,Git-repository管理器,版本控制。其中一些包含在代码审查部分 *。
  • GitHub - 帮助开发人员存储和管理他们的代码,以及跟踪和控制对他们的代码的修改。
  • Gitlab - 整个DevOps生命周期在一个应用程序中。
  • Bitbucket - 为团队提供了一个规划项目、协作编写代码、测试和部署的地方。
  • Phabricator - 一个帮助软件公司建立更好的软件的网络应用程序集合。
  • Gogs - 无痛的自我托管的Git服务。
  • Gitea - 无痛的自我托管的Git服务。
  • Gitblit - 用于管理、查看和服务Git存储库的纯Java Git解决方案。

网络服务器

  • 网络服务器和反向代理 *
  • Nginx - 高性能的负载平衡器、网络服务器和反向代理。
  • Apache - 网络服务器和反向代理。
  • Caddy - 带有自动HTTPS的Web服务器。
  • Cherokee - 高并发的安全网络应用。
  • Lighttpd - 为速度关键型环境进行了优化,同时保持符合标准、安全和灵活。
  • Uwsgi - 应用服务器容器。

SSL

  • 用于自动管理SSL证书的工具。 *
  • Certbot - 在人工管理的网站上自动使用Let's Encrypt证书以启用HTTPS。
  • Let's Encrypt - 免费、自动、开放的证书颁发机构。
  • Cert Manager - K8S插件,可自动管理和签发来自不同签发源的TLS证书。

数据库

  • 关系型(SQL)和非关系型(NoSQL)数据库 *
  • 关系型(SQL)
    • PostgreSQL - 强大的、开放源码的对象关系型数据库系统。
    • MySQL - 开源的关系型数据库管理系统。
    • MariaDB - 快速、可扩展和强大,拥有丰富的存储引擎、插件和许多其他工具的生态系统。
    • SQLite - 小型、快速、独立、高可靠性、功能齐全的SQL数据库引擎。
  • 非关系型(NoSQL)
    • Cassandra - 管理海量数据,速度快。
    • Apache HBase - 分布式、版本化、非关系型数据库。
    • Couchdb - 完全拥抱网络的数据库。
    • Elasticsearch - 分布式、RESTful搜索和分析引擎,能够解决越来越多的用例。
    • MongoDB - 通用的、基于文档的、为现代应用而建立的分布式数据库。
    • Rethinkdb - 用于实时网络的开源数据库。
    • 关键值
      • Couchbase - 分布式多模型NoSQL面向文档的数据库,为交互式应用而优化。
      • Leveldb - 快速键值存储库。
      • Redis - 内存数据结构存储,作为数据库、缓存和消息代理使用。
      • RocksDB - 提供可嵌入的、持久的键值存储的库,用于快速存储。
      • Etcd - 分布式可靠的键值存储,用于分布式系统的最关键数据。

可观察性和监控

  • 可观察性、监控、指标/度量衡收集和警报工具。*
  • Sensu - 简单。可扩展的。多云监控。
  • Alerta - 可扩展、最低配置和可视化的监控系统。
  • Cabot - 自我托管的、易于部署的监控和警报服务。
  • Amon - 现代服务器监控平台。
  • Flapjack - 监控通知路由+事件处理系统。
  • Icinga - 监视可用性和性能,让你简单地访问相关数据并提出警报。
  • Monit - 管理和监控Unix系统。
  • Naemon - 快速、稳定和创新,同时让你清楚地看到你的网络和应用程序的状态。
  • Nagios - 监控系统、网络和基础设施的计算机软件应用。
  • Sentry - 错误监控,帮助所有软件团队实时发现、分流和优先处理错误。
  • Shinken - 监控框架。
  • Zabbix - 用于网络监控和应用监控的成熟和毫不费力的监控解决方案。
  • Glances - 通过curses或基于Web的界面监测信息。
  • Healthchecks - Cron监控工具。
  • Bolo - 建立分布式、可扩展的监控系统。
  • cAdvisor - 分析运行中的容器的资源使用和性能特征。
  • ElastiFlow - 使用Elastic Stack进行网络流量监控(Netflow、sFlow和IPFIX)。
  • Co-Pilot - 系统性能分析工具包。
  • 衡量标准/指标收集
    • Thundra Foresight - 通过迅速发现测试失败来了解CI管道。
    • Prometheus - 利用领先的开源监控解决方案为您的指标和警报提供动力。
    • Collectd - 系统统计收集守护程序。
    • Facette - 时间序列数据可视化软件。
    • Grafana - 每个数据库的分析和监控解决方案。
    • Graphite - 存储数字时间序列数据,并根据需要呈现这些数据的图形。
    • Influxdata - 时间序列数据库。
    • Netdata - 即时诊断你的基础设施中的减速和异常情况。
    • Freeboard - 用于物联网和其他网络混搭的实时仪表板构建器。
  • 日志管理
    • Anthracite - 一个事件/变化记录/管理应用程序。
    • Graylog - 免费和开源的日志管理。
    • Logstash - 收集、解析、转换日志。
    • Fluentd - 统一日志层的数据收集器。
    • Flume - 分布式的、可靠的、可用的服务,用于有效收集、聚合和移动日志。
    • Heka - 流处理软件系统。
    • Kibana - 探索、可视化、发现数据。
    • Loki - 横向可扩展、高可用、多租户的日志聚合系统,灵感来自Prometheus。
  • 状态
    • Cachet - 美丽而强大的开源状态页面系统。
    • StatusPal - 通过一个漂亮的托管状态页面有效地沟通事件和维护。

服务发现与服务网

  • 服务发现、服务网和故障检测工具。 *
  • Consul - 连接和保护任何服务。
  • Serf - 分散的集群成员、故障检测和协调。
  • Doozerd - 一致的分布式数据存储。
  • Zookeeper - 用于配置、命名、提供分布式同步等的集中式服务。
  • Etcd - 分布式的、可靠的键值存储,用于分布式系统中最关键的数据。
  • Istio - 连接、安全、控制和观察服务。
  • Kong - 为微服务、服务网和云本地部署提供所需的性能。
  • Linkerd - 用于Kubernetes及更多的服务网状结构。

混沌工程

  • 在分布式系统上进行实验的学科,以便对系统在生产中承受动荡条件的能力建立信心。*
  • Chaos Toolkit - 混沌工程的开源平台。
  • Chaos Monkey - 帮助应用程序容忍随机实例故障的弹性工具。
  • Toxiproxy - 模拟网络和系统条件,进行混沌和弹性测试。
  • Pumba - 容器的混沌测试、网络仿真和压力测试工具。
  • Chaos Mesh - Kubernetes的混沌工程平台。
  • Litmus - Litmus使团队能够识别基础设施的弱点。

API网关

  • API网关、服务代理和服务管理工具。*
  • API Umbrella - 坐落在你的API前面的代理,API管理平台。
  • Ambassador - 建立在Envoy代理上的Kubernetes-Native API网关。
  • Kong - 用业界最高效、可扩展和灵活的API平台连接你的所有微服务和API。
  • Tyk - API和服务管理平台。
  • Cilium - 使用BPF和XDP的API感知网络和安全。
  • Gloo - 功能丰富的Kubernetes原生入口控制器,以及下一代API网关。
  • Envoy - 云原生高性能边缘/中间/服务代理。
  • Traefik - 面向HTTP和基于TCP的应用的反向代理和负载平衡器。

代码审查

  • 代码审查。一些源代码管理工具有内置的代码审查功能*。 *
  • Gerrit - 基于网络的团队代码协作工具。
  • Review Board - 基于网络的协作式代码审查工具。

分布式消息传递

  • 分布式消息传递平台和队列软件。 *
  • Rabbitmq - 消息代理。
  • Kafka - 建立实时数据管道和流媒体应用程序。
  • Activemq - 多协议消息传递。
  • Beanstalkd - 简单、快速的工作队列。
  • NSQ - 实时分布式消息传递平台。
  • Celery - 基于分布式消息传递的异步任务队列/工作队列。
  • Faktory - 应用程序中后台工作的存储库。
  • Nats - 简单、安全、高性能的开源消息传递系统。
  • RestMQ - 使用HTTP作为传输的消息队列。
  • Dkron - 分布式、容错的工作调度系统。
  • KubeMQ - Kubernetes原生的消息传递平台。

编程语言

  • 编程语言。 *
  • Python - 编程语言,让你快速工作,更有效地整合系统。运维首选语言。
  • Go - 开放源码的编程语言,可以轻松构建简单、可靠、高效的软件。
  • shell

聊天和ChatOps

  • Chat and ChatOps. *
  • Rocket - 开源的团队交流。
  • Mattermost - 实现安全团队协作的消息平台。
  • Zulip - 具有电子邮件线程模型的实时聊天。
  • Riot - 一个完全由你控制的通用安全聊天应用程序。
  • ChatOps。
    • CloudBot - 简单、快速、可扩展、开源的Python IRC Bot。
    • Hubot - 可定制的机器人。

安全管理

  • 安全即代码,敏感的凭证和秘密需要使用自动化来管理、安全、维护和轮换。 *
  • Sops - 用于管理秘密的简单而灵活的工具。
  • Vault - 管理秘密和保护敏感数据。
  • Keybase - 端到端加密聊天和云存储系统。
  • Vault Secrets Operator - 从Vault创建Kubernetes秘密,以实现基于GitOps的安全工作流程。
  • Git Secret - 在git仓库内存储你的私人数据的bash工具。

分享

  • 帮助分享知识和讲述故事的工具集 *
  • Gitbook - 使用Git和Markdown的现代文档格式和工具链。
  • Docusaurus - 易于维护的开源文档网站。
  • Docsify - 一个神奇的文档网站生成器。
  • MkDocs - 使用Markdown的项目文档。

VPN

  • VPN,路由和防火墙。 *
  • OpenVPN - 灵活的VPN解决方案,以确保你的数据通信,无论是互联网隐私。
  • Pritunl - 企业分布式OpenVPN和IPsec服务器。
  • VyOS - 开源网络操作系统,可在各种硬件、虚拟机和云供应商上运行。
  • Algo - 在云中设置个人VPN。
  • Streisand - 几乎自动设置新的VPN服务。
  • Freelan - 一个点对点的、安全的、易于设置的、多平台的、开源的、高度可配置的VPN软件。
  • Sshuttle - 透明的代理服务器,可作为穷人的VPN使用。
  • SoftEther - 一个开源的免费跨平台多协议VPN程序。 作为筑波大学的一个学术项目,采用Apache许可证2.0。
  • Firezone - 使用WireGuard的自我托管的VPN服务器。支持MFA、SSO,并有简单的部署选项。

资源

书籍

  • 专注于DevOps、DevSecOps和网站可靠性工程的书籍 *

访问密码: 2274, 无需注册,点击普通下载即可。如遇失效可加钉或V信 pythontesting获取。

会议

DevOps 路线图

基本了解和成为DevOps工程师应该知道的内容,请查看路线图这里