写点什么

DevOps 和 SRE 的十大开源项目

2021 年 3 月 29 日

DevOps 和SRE 的十大开源项目

构建可扩展的、高可靠性的软件系统是每个 SRE 的终极目标。本文概述了在监控、部署和维护领域中最受欢迎的几个开源项目。


成功的 SRE 之路就在于不断的学习。对于 SRE/DevOps 来说,目前已经有许多优秀的开源项目,每个项目都有新的、激动人心的实现,而且常常会面对独特的挑战。这些开源项目完成了繁重的工作,因此你可以更轻松地完成自己的工作。


在本文中,我们将介绍在监控、部署和维护领域中最受欢迎的几个开源项目。在这些项目中,有一些项目是模拟网络流量的项目,并可以让你为不可预测的(混沌)事件进行建模,从而可以开发出可靠的系统。

Cloudprober


Cloudprober 是一种主动 跟踪 和监控的应用,它能在客户之前发现故障。它采用“主动”监控模型,以检查组件是否按预期运行。例如,它主动运行探针,以确保前端是否可以访问后端。同样,也可以运行探针来验证内部系统是否能够真正访问云内虚拟机。这种跟踪方法使得跟踪应用程序的配置变得非常简单,并且与实现无关,使你能够轻松地确定系统中发生了哪些故障。


特点:


  • 与 Prometheus 和 Grafana 的开源监控栈的原生集成。Cloudprober 也可以导出探测结果。

  • 对于云目标,自动发现目标。对 GCE 和 Kubernetes 提供开箱即用的支持;其他云服务也可以轻松配置。

  • 在易于部署方面作出重大承诺。Cloudprober 完全用 Go 编写,并被编译成静态二进制文件。通过 Docker 容器可以快速部署它。除了大多数更新之外,Cloudprober 通常不需要重新部署或重新配置,因为有自动发现目标。

  • Cloudprober Docker 镜像非常小,并且只包含静态编译的二进制文件,而且即使运行大量的探测,也只需非常少量的 CPU 和内存。


Cloud Operations Sandbox (Alpha)


Cloud Operations Sandbox 是一个开源平台,它让专家们了解谷歌的服务可靠性工程实践,并使用 Ops Management(以前的 Stackdriver)将其调整到他们的云系统中。它基于 Hipster Shop,一个基于云的原生微服务平台。注意:这需要谷歌云服务账户。


特点:


  • 演示服务:一个设计在现代云本微服务架构上的应用程序。

  • 一键部署:一个脚本处理将服务部署到谷歌云平台的工作。

  • 负载生成器:在演示服务上生成模拟流量的部件。


Version Checker for Kubernetes


Kubernetes 实用工具 允许你观察集群中运行的映像的现有版本。该工具还允许你在 Grafana 仪表板上以表格形式查看当前镜像版本。


特点:


  • 可同时设置多个自托管注册中心。

  • 该实用程序允许将版本信息视为 Prometheus 度量。

  • 支持诸如 ACR、DockerHub、ECR 之类的注册中心。


Istio


Istio 是一个开放的框架,用于合并微服务、通过微服务监控流量移动、执行策略以及以标准化的方式聚合遥测数据。Istio 的控制平面在集群管理的底层平台(如 Kubernetes)上提供了一个抽象层。


特点:


  • 对 HTTP、gRPC、WebSocket 和 TCP 流量进行自动负载均衡。

  • 通过丰富的路由规则、重试、故障切换和故障注入对流量行为进行细粒度控制。

  • 支持访问控制、速率限制和配额的可插拔策略层和配置 API。

  • 集群内所有流量的自动度量、日志和跟踪,包括集群入口和出口。

  • 集群中的安全服务到服务通信具有强大的基于身份的身份验证和授权。


Checkov


Checkov 是一个基础设施即代码的静态代码审查工具。它扫描 Terraform、Cloud Details、Cubanet、Serverless 或 ARM 模型云基础设施,并检测安全和合规性配置错误。


特点:


  • 400 多条内置规则涵盖了 AWS、Azure 和谷歌云的最佳保护和安全实践。

  • 评估 Terraform 提供商设置以监视 Terraform 管理的 IaaS、PaaS 或 SaaS 开发、维护和更新。

  • 检测 EC2 用户数据、Lambda 上下文变量和 Terraform 提供商中的 AWS 凭证。


Litmus


Litmus 是一个基于云的混沌建模工具包。Litmus 提供了在 Kubernetes 上编排混沌的工具,以帮助 SRE 发现部署中的漏洞。SRE 使用 Litmus 进行混沌测试,首先在暂存区,最后在开发区中发现故障和漏洞。修复这些缺陷,从而提高系统的弹性。


特点:


  • 开发人员可以在应用开发过程中运行混沌测试,作为单元测试或集成测试的扩展。

  • 对于 CI 管道构建器:当应用程序在管道中遭遇故障路径时,将混沌作为管道阶段运行,以查找错误。


Locust


Locust 是一个简单易用、可编写脚本且灵活的性能测试应用程序。你可以在标准的 Python 代码中定义用户的行为,而不是使用笨重的 UI 或特定领域的语言。这使得 Locust 具有可扩展性和开发者友好性。


特点:


  • Locust 是分布式和可扩展的,可轻松支持数百或数千名用户。

  • 基于 Web 的用户界面,实时显示进度。

  • 只要稍加修整,就能测试任何系统。


Prometheus


云原生计算基础项目 Prometheus 是一个系统和服务监控系统。它在特定时间从配置的目标提取度量,测试规则,并显示结果。如果违反指定的条件,它将触发通知。


特点:


  • 多维数据模型(由度量名称和一组键 / 值维度定义的时间序列)。

  • 通过服务发现或静态配置发现目标。

  • 不依赖于分布式存储;单个服务器节点是自治的。

  • PromQL,一种强大而灵活的查询语言,可以利用这种维度。


Kube-monkey


Kube-monkey 是 Netflix 的 Chaos Monkey 的 Kubernetes 集群实现。Kubernetes POD 的随机删除有助于创建抗故障资源,并同时验证它们。


特点:


  • Kube-monkey 采用的是选择加入模式,并且只针对 Kubernetes 用户的终止,这些用户已经明确接受 Kube-monkey 将终止他们的 pod。

  • 根据你的需求高度定制的调度功能。


PowerfulSeal


PowerfulSeal 将故障注入到 Kubernetes 集群中,帮助尽快识别问题。它使描绘完全混沌实验的场景得以创建。


特点:


  • 兼容 Kubernetes、OpenStack、AWS、Azure、GCP 和本地机器。

  • 与 Prometheus 和 Datadog 连接以收集度量。

  • 自定义用例允许多种模式。


结语


开源技术的最大好处在于它的可扩展性。如果需要,你可以在工具中添加功能,使其更适合你的定制架构。这类开源项目拥有广泛的支持文档和用户社区。由于微服务架构将在云计算领域占据主导地位,用于监控和排除这些实例的可靠工具肯定会成为每个开发人员的必备工具。


作者介绍:


Nir Shrma,Squadcast 技术内容撰稿人。


原文链接:


https://dzone.com/articles/top-open-source-projects-for-sres-and-devops

2021 年 3 月 29 日 17:242750

评论

发布
暂无评论
发现更多内容

性能优化-1-压测

raox

重点人员管控系统开发大数据分析研判平台搭建

t13823115967

微警务

架构师训练营大作业一

吴传禹

架构师训练营第 1 期

元旦首献!腾讯高工甩出的“MyBatis源码解析”传授你年薪百万级干货!

比伯

Java 编程 架构 面试 技术宅

2020年金九银十面试总结,至今最全的Java程序员高频面试知识点解析笔记

Java成神之路

Java 程序员 架构 面试 编程语言

第十周-学习总结

Mr_No爱学习

公安微警务APP开发,移动警务系统建设方案

t13823115967

公安大数据分析系统开发

如何设计一个高性能网关?

程序员小毕

Java GitHub 架构 高性能 网关

架构师系列 12 单向散列加密算法对用户密码加密

桃花原记

國際網路 商業因果-緣起

因田木

架构师训练营大作业一

吴传禹

架构师训练营第 1 期

GitHub标星127K!字节内部必刷“微服务架构设计模式”

Java成神之路

Java 程序员 架构 面试 编程语言

第六周 技术选型(二) 课后作业

简简单单

51 张图助你彻底掌握 HTTP 协议

Java架构师迁哥

三面百度,四面字节跳动。我是怎么被百度吊打,又是怎么拿下字节offer的?(Java开发岗)

Java架构之路

Java 程序员 架构 面试 编程语言

最全总结 | 聊聊 Python 数据处理全家桶(Mysql 篇)

星安果

Python MySQL 数据库 最全总结

AOP的姿势之 简化 MemoryCache 使用方式

八苦-瞿昙

C# aop cache

架构师训练营第十一周作业2

韩儿

十二周作业

solike

UML实践

Iris

架构师训练营 4 期

我花费一年的时间明白大厂面试的残酷!也最终拿到蚂蚁金服offer,定级P7职位。

Java架构之路

Java 程序员 架构 面试 编程语言

架构师训练营第十一周作业1

韩儿

架构训练营第十一周作业

一期一会

高可用架构

智慧平安小区平台开发,大数据分析决策平台建设方案

WX13823153201

智慧平安小区平台开发

架构师训练营第十五周课程笔记及心得

Airs

面试又不会JVM?阿里P8总结出25道JVM面试解析(基础+进阶+实战)

Java架构之路

Java 程序员 架构 面试 编程语言

辞幕2020,前行2021

iHTC

中年危机 程序员赚钱 提升自我 年终总结 技术学习

我把这份“Redis实战文档”扔给我们村口“大黄狗”看,它看完之后竟一去不复返?

Java成神之路

Java 程序员 架构 面试 编程语言

第十周-作业1

Mr_No爱学习

第六周 学习总结

简简单单

架构师训练营大作业二

吴传禹

架构师训练营第 1 期

DevOps 和SRE 的十大开源项目-InfoQ