2021 年最受欢迎的 10 款开源 DevOps 工具
DevOps 不仅仅是一种工作方式的转变--它需要强大的工具来实现。
下面,我们列出了一些当今最受欢迎的 DevOps 工具的清单。
考虑到把大量的钱投入到花哨的 SaaS 解决方案中会很快吞噬掉云的预算,因为,今天介绍的这些 DevOps 工具都是开源的,可以实现从容器构建和协调到微服务网络、配置管理、CI/CD 自动化、全栈监控等一切。
以下就是我认为在 2021 年必须了解的一些开源 DevOps 工具。
1. Kubernetes


随着微服务和基于容器的软件无处不在,Kubernetes 在开源 DevOps 工具列表中名列前茅并不奇怪。
Kubernetes 的采用率在 2020 年上升了 48%,它被用来协调和编排容器。
Kubernetes 可以自动部署、维护和扩展生产中的容器群,而不需要手动发布微服务。
Kubernetes 经常被写成 K8s,由 CNCF 支持。
2. Docker


Docker 这个软件是一个用于构建、行一个轻量级的容器的应用程序。
容器能够将程序运行所需的二进制文件、库、配置文件和依赖关系打包,在过去十年中,容器在敏捷开发中发挥了关键作用,而 Docker 容器引领了这场革命。
其核心是 Docker 引擎。
Docker Hub 也是寻找和分享作为容器的预包装功能的一个优秀资源。另外,为了解决容器漏洞,使用 Docker Bench 或 Anchore 等开源容器审计工具会行之有效。
3. Istio


微服务是一种方便的开发方式,然而它们带来了新的开发和架构问题。
也就是说,我们如何在所有的服务中一致地应用安全、加密、可观察的等网络策略?
那么,服务网格(service mesh)就是一个答案。服务网格在每个容器旁边放置一个 sidecar proxy,并将这些网络功能抽象到控制平面上。
Istio 就是这样一个已经被广泛采用的开源服务网格。Istio 建立在 Envoy 之上,向插件和可扩展性选项开放。
4. GitHub Actions


GitHub 可以说是全球最流行的源码控制和软件协作平台。
基于 Git 的 GitHub 平台本身在过去几年里也有一些重大的更新,其中,最值得注意的就是 GitHub Actions 功能。
GitHub Actions 使托管在 GitHub 上的软件包能够接受输入并触发其他进程,这有助于在 GitHub 中实现一些很酷的开发工作流程的自动化,如代码审查、分支管理或 CI/CD 流程。
从本质上讲,GitHub Actions 是托管在 GitHub 仓库中的 YAML 文件,它利用了 GitHub webhooks
Actions 对公共存储库是免费的,但有 100 个动作的限制。
5. Jenkins


DevOps 理念的一个重要部分是找到更有效地自动化和部署新迭代的方法。
这个目标的一部分是创建一个简化的持续集成和持续交付(CI/CD)流水线。
Jenkins 是一个开源的自动化服务器,拥有数百个插件,可以实现软件项目的自动构建、部署和测试。
虽然 GitHub Actions 理论上可以在未来取代 CI 服务器,但像 Jenkins、CircleCI、TravisCI 和 GitLab 社区版这样的 CI 工具仍然是许多 DevOps 团队的首选。
6. Prometheus


指标和告警系统对于网站可靠性工程师可视化应用和对问题做出反应至关重要。
普罗米修斯,一个已经成熟的 CNCF 项目,是一个广受喜爱的开源监控解决方案。
普罗米修斯服务器通过收集 HTTP 端点来收集时间序列指标,并生成一个与这些数据交互的系统,提供深度查询、可视化、存储和其他功能。
7. Ansible


Ansible 是关于自动化的工具。
Ansible 是红帽公司赞助的一个开源项目,可以用来实现云配置、网络、部署、配置管理和其他任务的自动化。
Ansible 有一个简单而有效的架构,因此,比较容易配置,你只需要一个文本编辑器和命令行即可。
8. Chef
Chef 是另一个基础设施即代码(IaC)解决方案,用于自动化配置管理。
Chef 使用 Ruby 来自动配置服务器,并且与所有主要的云服务提供商(CSP)合作良好。
在创建和配置大量的机器时,这可能非常有用。
像本文介绍的其他自动化工具一样,用户以声明的格式描述他们的组件和它们的状态即可。
9. Terraform


Terraform 是另一个 IaC 工具,可用于启动构建、版本管理和使用配置文件的进一步自动化。
"Terraform 是一个安全、高效地构建、改变和版本化基础设施的工具,"GitHub 上这样描述它。
Terraform 遵循用户用高级语法创建的 "执行计划"。
Terraform 的一个独特之处在于它对版本的重视--这使得你可以像对软件一样对服务蓝图进行版本管理。
10. ELK Stack


ELK Stack 是由 Elastic 维护的三个开源项目 Elasticsearch、Logstash 和 Kibana 组合而成。
有了这三个组件,开发人员可以从任何来源接收和记录数据,并创建有用的可视化。
这种集中的日志记录是通过 NoSQL 数据库实现的,用 Elasticsearch 进行存储,用 Logstash 进行处理和数据收集,用 Kibana 进行可视化。
增加可见性对数据分析至关重要,有助于识别错误以减少平均恢复时间(MTTR)。
结语
编程不仅仅是输出高质量的代码,它还涉及高效的执行,这种全面改善运营的驱动力是真正地将 Ops 纳入一切。
有了令人欣赏的开源 DevOps 工具,这意味着越来越多的架构师可以在他们的部署模式中采用 DevOps 方法。
干货推荐
为了方便大家,我花费了半个月的时间把这几年来收集的各种技术干货整理到一起,其中内容包括但不限于 Python、机器学习、深度学习、计算机视觉、推荐系统、Linux、工程化、Java,内容多达 5T+,我把各个资源下载链接整理到一个文档内,目录如下:


所有干货送给大家,希望能够点赞支持一下!
https://pan.baidu.com/s/1eks7CUyjbWQ3A7O9cmYljA(提取码:0000)
版权声明: 本文为 InfoQ 作者【Jackpop】的原创文章。
原文链接:【http://xie.infoq.cn/article/77ebe8e7dc0fcfd17a8f5638b】。文章转载请联系作者。
评论