前 13 名站点可靠性工程师 (SRE) 工具

站点可靠性工程师 (SRE)的角色和职责可能因组织规模而异,因此,站点可靠性工程师工具也随之变化。 在大多数情况下,站点可靠性工程师同时专注于多个任务和项目,因此对于大多数 SRE 来说,他们使用的各种工具反映了他们前夜不断演变的责任。 典型的 SRE 是忙着自动化、清理代码、升级服务器以及持续监控仪表板以获得性能等,因此他们会在工具带中看到更多的工具。 因此,SRE 使用的工具和平台可能因组织而异。

例如,在较小的组织或初创公司中,人员往往比较有限,因此站点可靠性工程师可能需要精通多种工具,如戈朗、Terraform、Docker、CircleCI 和木偶,仅举几例。 在较大的组织中,站点可靠性工程师可能更专注或更孤立于特定职责中,因此,他们的工具集中可能更加有限。 在某些情况下,SRE 可能只是专注于或负责日复一日地在詹金斯工作。 这完全取决于情况。 让我们看看一些最常见和流行的站点可靠性工程师工具。 这显然不是一个全面的列表,但让您对 SRE 可能需要利用的知识和经验的广度有了一般的想法。

 

编程语言

站点可靠性工程师需要具备各种编程语言的经验,但更重要的是,需要知道如何使用这些语言来自动化任何和所有任务。 让我们看看 SRE 小组将遇到的一些最常见的编程语言,如 Python、戈朗和 Ruby。

 

1. Python

Python 是那里最常见和最流行的编程语言之一。 它是一种通用语言,这意味着它有广泛的用途,如网站或 网络应用程序的骨干、自动化任务,甚至测试。 事实上,它被像Netflix、Venmo和Dropbox这样的公司使用,仅举几例。 Python 很容易学习,所以它对刚起步的人来说是有好处的,但对 Python 专家来说也是多才多艺和广泛的。 最重要的是,它是开源的,背后有一个庞大的支持社区。

 

2. 戈朗

Golang,或Go,是谷歌在2009年创建的一种开源编程语言,用于创建软件程序。 与其他语言相比,围棋很容易学习,特别是如果你已经知道C或Java,也可以扩展得很好。 它也非常快,因为它是一个汇编的语言,这意味着编写的代码会立即自动转换为机器代码。 戈朗也是 SREs 使用的其他服务背后的力量,如多克、泰拉形式和库伯内特。 与 Python 相比,Go 没有描述性,因此在某些情况下,程序员可能需要编写更多的代码行才能执行与使用 Python 相比的特定功能。

 

3. 红宝石

Ruby 是一种开源服务器侧编程语言,如 Python 或 PERL 语言。 Ruby 是一种动态编程语言,因此在构建功能时没有硬性规定,主要用于开发 网络应用程序。 虽然 Ruby 本身有很大的好处,但与铁路网络框架相结合时,它就被称为铁路上的红宝石 (RoR)。 其他编程语言(如 HTML(超文本标记语言)、JavaScript 和 CSS(级联样式表)(级联样式表)不包括前端和后端服务的各个方面,这使得 Ruby 在铁路上与其他语言不同。 由于红宝石在铁轨上的灵活性,它被用于各种行业和组织,如Airbnb,Shopify,GitHub,和五r。

 

容器/微型服务

容器化和微服务已迅速成为一项关键技术,使组织能够更快地开发和发布应用程序,并在不同的环境中扩展应用。 像多克、库伯涅茨和游牧的平台是支持在不断增长的云原生环境中支持现代应用的领先解决方案。

 

4. 码头

Docker 是一个流行的开源容器化平台,允许用户将应用程序源代码和依赖性包包装在单个容器或 Docker 容器中。 Docker 以及其他容器化解决方案使得在各种环境中打包和运行应用程序成为可能,而无需考虑操作系统或其他特定系统配置等因素。 由于这种灵活性,应用程序变得更加便携,可以在任何地方运行,而不必担心外部因素。 此外,容器化技术还支持 CI/CD,使开发人员能够持续更新代码并更快、更高效地部署应用程序。

 

5. 库伯内茨

Kubernetes 是一种开源容器编排系统,用于协助部署、缩放和管理集装箱化应用。 环境可能很复杂,由多个平台或多个云环境组成。 库伯内茨是用来管理这一切为你。 虽然这看起来对多克非常熟悉,但库伯内茨并不是多克的直接竞争对手,因为除了多克平台之外,库伯内特还可以使用。 然而,多克确实有自己的编排解决方案,称为多克沼泽。 Kubernetes 用于同时管理多个容器,帮助在不中断用户服务的情况下升级应用程序,并监控应用程序的整体健康状况。 Kubernetes 还有助于实现负载平衡,帮助确保应用程序大规模执行,并为基础设施层面的身份验证和安全提供支持。

 

6. 游牧

游牧是另一个集装箱编排平台。 游牧和库伯内茨的主要区别在于游牧为 Unix 操作系统设计。 另一方面,库伯内茨专为基于 Linux 的容器应用而设计。 与库伯内茨相比,游牧节在它所依赖的服务数量上要简单得多。 库伯内特依靠各种其他服务来提供功能。 游牧节不需要或依赖任何外部服务。 因此,库伯内茨在设置和配置方面可以更加资源密集。 已知使用或使用游牧虫的公司包括云火焰、潘多拉、罗布洛克斯和许多其他公司。

 

配置管理

配置管理工具允许站点可靠性工程师管理、跟踪、控制,最重要的是,可自动执行各种任务,如软件升级和修补程序、安全性、用户管理等。 这些工具还帮助 SREs 大规模地自动化这些各种任务。 让我们看看一些最常见的配置工具,如Terraform,安西布尔和厨师。

 

7. 地形

Terraform 是哈希公司的开源软件,被视为 IaC 或”基础设施即代码”解决方案。 Terraform 和 Ansible 是现场可靠性工程师和 DevOps 团队最常用的两种工具,接下来我们将讨论更多。 Terraform 用于提供、管理和协调基础设施,无论该基础设施是在本地、云中还是两者的组合中,就像在混合环境中一样。 使用 Terraform 这样的解决方案比尝试提供和管理基础设施(尤其是与多个提供商相比)更有效率。 过去,这个过程需要整个个人团队。 现在,开发人员和 SREs 可以按需提供基础设施。 拥有一个可以在一个地方管理所有这些的平台也有利于一致性和协作性。

 

8. 安西布尔

与 Terraform 一样,安塞布尔是一种开源配置管理工具。 它们确实有很多相似之处,在某些情况下用作互补的解决方案,但两种解决方案之间存在一些关键区别。 例如,Ansible 的剧本说明基于 YAML,但以 Python 语言编写,该语言提供可扩展性以及处理各种角色和脚本。 Terraform 使用自己的配置语言,称为 HCL。

如果我们在两者之间深入挖掘,Ansible 将更专注于可变性,这是开发人员熟悉的概念。 可变性围绕着这样一种想法,即某种东西,在这种情况下是一种资源,可以改变。 要更改资源,您可以修改资源(可变),或完全重创建(不可变)。 安西布尔专注于可变性,或试图改变资源的状态,而不是破坏它,这是更传统的IT环境更好。 另一方面,Terraform 专注于不可变性,这可能更适合云或混合环境。

 

9. 厨师

Chef 是另一个开源配置管理工具,更像 Ansible 或木偶,这是 SREs 和 DevOps 团队常用的另一种工具。 厨师支持多个平台,如视窗、乌本图、索拉里斯、利努克斯、免费BSD等。 它还可与基于云的提供商(如亚马逊、谷歌云平台、Azure 等)集成。 然而,与 Ansible 不同,它基于 Ruby 编程语言,这使得它对于熟悉使用此语言的开发人员和团队来说是一个轻松的选择。 与我们讨论过的其他工具一样,这些工具中的任何一个的目标是尽可能多地删除手动工作。 环境可能变得复杂,甚至更难管理日常,这就是为什么像厨师这样的工具可以是一个祝福的 SREs 和 DevOps 团队。

 

监控与分析

最后,站点可靠性工程师需要能够监控其应用程序并完成 IT 堆叠,以确保持续的功能、性能和可用性。 如果任何应用程序出现故障或这些性能指标未能达到预定阈值,这些监控和分析工具还需要能够立即发送警报。 SREs 拥有各种监控解决方案和工具,以确保 SLA(服务级别协议)和 SLO(服务级别目标)始终在适当范围内。 让我们看看流行的工具和解决方案,如普罗米修斯,格拉法纳,基巴纳和Dotcom-Monitor。

 

10. 普罗米修斯

与此列表中的许多工具一样,Prometheus 是站点可靠性工程师使用的另一个开源软件。 它是 SREs 最流行的工具之一,因为它与 Kubernetes 配合良好,并具有一系列广泛的功能和插件。 Prometheus 用于监控和收集有关您的基础设施、应用程序和输出的指标,这些指标以仪表板和可视化的形式提供数据。 普罗米修斯和其他监测工具之间的主要区别之一是普罗米修斯使用自己的数据商店收集有关它可以监测的指标的数据。 其他工具依靠单独的数据库来拉取监测数据和指标;但是,Prometheus 可以与其他数据库和第三方解决方案的大量列表集成。

 

11. 格拉法纳

格拉法纳是 SREs 用于可视化数据和指标的开源分析和监控工具。 Grafana 还可以配置各种警报,因此当问题发生时,可以立即通知正确的团队或个人。 仪表板面板可以配置为最重要的指标。 格拉法纳支持的数据来源包括普罗米修斯、MySQL、弹性搜索、SQL、AWS(亚马逊网络服务)等。 这些仪表板还可以通过链接甚至快速快照轻松与其他团队成员共享。 最后,Grafana 支持 SREs 及其团队每天通过插件使用的许多工具,如斯普伦克、蒙古DB、吉拉、Cloudflare 等。

 

12. 基巴纳

Kibana 是另一个仪表板可视化软件,在 SRES 中很受欢迎。 Kibana 是一个可自由使用的前端应用程序,但它是弹性搜索的专有应用程序,与弹性堆栈(以前为 ELK 堆栈)配合使用。 Kibana 拥有多种功能和可视化类型,如热图、饼图、时间系列图等。 这些数据也可以通过地理地图查看。 与其他工具一样,这些可视化可以与团队成员、客户、利益相关者等安全共享。 Kibana 支持许多其他工具、第三方集成,并且在技术问题和支持需求方面拥有强大的用户群。

 

13. 网络监控器

Dotcom-Monitor 是一个全面的监控平台,组织用于监控从网站、网络应用程序和 网络服务到 IT 基础设施的端到端全面可见性等各种内容。 该平台为站点可靠性工程师提供设置和定制其特定监控要求所需的 功能 。 团队可以运行各种点播 SLA 和性能报告,以及查看实时仪表板以确保整个堆栈的持续性能。 Dotcom-Monitor 还集成了 DevOps 团队正在使用的第三方通信平台和提醒工具,例如 Azure、Slack、寻呼机、VictorOps 等。

查看 Dotcom-Monitor 与市场上其他监控平台(如上升趋势、Site24x7、Datadog 等)的比较情况。

 

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on email
电子邮件
Share on print
打印