8 个 DevOps 自动化工具,帮你做出持续改进

简介: DevOps,这个词似乎是过去几年的一个流行语,是 IT 招聘人员、软件公司和代理机构在互联网上搜索得最多的一个词。专业的支持者认为这与工具或自动化无关,但他们忽略了一点,即工具实际上承载了 DevOps 文化。

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

DevOps,这个词似乎是过去几年的一个流行语,是 IT 招聘人员、软件公司和代理机构在互联网上搜索得最多的一个词。专业的支持者认为这与工具或自动化无关,但他们忽略了一点,即工具实际上承载了 DevOps 文化。我们都认同这样的说法,即 DevOps 不只与工具有关,甚至不只与一个单独的角色有关,DevOps 实际上是人、过程和工具的结合体。但是,一个组织想要实施 DevOps,工具在其中扮演了重要的角色。

在这篇文章里,我们将介绍 8 个 DevOps 自动化工具,每一家公司都需要依靠它们来获得持续改进。

Kubernetes
Kubernetes,容器编配平台事实上的标准。它是一个非常流行的开源平台,诞生于谷歌,谷歌于 2014 年将其开源。Kubernetes 用来管理由多个自包含运行时(也就是容器)组成的应用程序。容器近来正在取代虚拟机成为发布应用程序的标准模型。

Kubernetes 集群有一个主节点和多个工作节点,每个工作节点可以处理多个 Pod。Pod 是由多个容器组成的工作单元。开发人员可以从 Pod 开始,准备好 Pod 之后,下一步是向主节点指定 Pod 的定义以及我们希望部署多少个 Pod,剩下的事情由 Kubernetes 负责。它会获取 Pod,并将它们部署到工作节点上。如果有工作节点发生宕机,Kubernetes 会自动在可用的其他工作节点上启动新 Pod。Kubernetes 简化了容器化应用程序的管理过程,让构建和添加更多的特性以及通过改进应用程序来获得更高的客户满意度变得轻而易举。

Rancher
Rancher 是一个容器管理平台,可以轻松地部署容器环境(包括 Kubernetes、Apache Mesos 和 Docker Swarm 完整发行版),并让云端或基础设施平台上的容器集群操作变得更容易。Rancher 2.0 是一个用于管理 Kubernetes 集群的多集群管理工具,它提供的用户界面可以帮助 Kubernetes 团队提高效率。如果你希望获得更高的高可用性和平台可靠性,一般都会使用集群。集群将服务器组合成单个易于管理的计算能力集合,并且通常会使用容器化方法。

让开发人员自己来管理这些东西是很困难的。幸运的是,Rancher 简化了集群的容器管理。截至 2018 年初,Rancher 只用来编配 Kubernetes 集群。

Spinnaker
随着公司的发展,技术、工具以及管理这些工具的人员的数量都有了巨大的增长,这常常会导致公司内部出现混乱,增加了技术栈的复杂性和碎片化程度。对于小公司来说,碎片化的持续交付过程或许没有什么问题,但随着公司的增长,维护和理解这个过程就变得越来越具有挑战性。新来的工程师可能需要很长时间才能理解、发现和整理部署所需的所有工具和流程,即使是为了做出一个最简单的变更。

Netflix 推出的 Spinnaker 就是为了解决这个问题。它是一个通用可扩展的工具,为用户提供了构建块,用以开发自定义持续交付管道,并可以进行有效的扩展。

Spinnaker 被很多现代软件公司视为理想的持续交付工具,它为开发人员提供了软件交付过程的可视性和控制能力,帮助他们更好地了解如何交付软件。

Artifactory
大多数开发人员会通过各种方式访问互联网,并从外部存储库获取依赖项。这严重影响了开发团队之间的沟通,因为我们无法跟踪什么样的依赖包或版本被引入到公司的软件环境中。Artifactory 是一个二进制存储库管理器,可以用来存储二进制文件。它就像是二进制版本的 Git。作为一个 DevOps 工具,Artifactory 的主要目标是帮助开发人员管理第三方依赖包,从而提供持续集成、持续交付和持续部署能力,帮助企业实现 DevOps。

财富 500 强公司,如谷歌、亚马逊、思科等,它们将 Artifact Repository Manager 作为通用的依赖包储库管理器,可以支持所有依赖包,不管它们是用什么语言或工具开发的。Artifactory 提供了一个自动化的端到端解决方案,方便跟踪开发环境和生产环境的依赖包,促进 DevOps 团队的协作,并毫不费力地对任务进行自动化。

Artifactory 为 DevOps 团队提供了所有必需的工具,帮助他们有效地处理不断增长的二进制文件、环境和分布式站点,从而确保应用程序开发工作流程的顺畅。Artifactory 不需要为相同文件创建不同副本,帮助开发人员节省了大量时间。二进制文件都只有一个副本存储在文件系统中,减少了团队内部和团队之间的混乱和干扰。

为什么应该使用依赖包存储库?

1.加快开发速度;
2.提高开发人员的生产力;
3.更快地发布,自动化开发管道;
4.无缝的团队协作;
5.为了节省时间,一遍又一遍地寻找合适的依赖项。

虽然 Artifactory 的主要目标是提供一种整洁和安全的方法来管理第三方依赖包,但也可以用来存储开发团队自己生成的软件包,对它们打标签、版本化,并适时发布,让他们清楚地知道打包了什么东西。

Linkerd
Linkerd 是一个开源的轻量级服务网络,由 Buoyant 公司主导开发。很多成功的大公司,如 PayPal、Expedia 等,将它们用在生产环境中。它为云原生应用程序带来更高的可靠性、安全性和可视性。Buoyant 在 2016 年首次提出了服务网格这个术语,所以 Linkerd 算得上是“服务网格”的鼻祖。

Linkerd 在无需微服务做出任何代码变更的情况下为在集群中运行的微服务提供可观察性、它们之间的通信方式以及其他细微的方面。
服务网格是一个专门的基础设施层,基本功能是用来控制、管理和建立服务之间的联系,让应用程序的各个部分相互通信,使微服务的运行更加高效。服务网格通常被用在云原生应用程序、容器和微服务中,快速打包镜像并交付高质量的软件。

Linkerd 在平台层而不是应用程序层为 SRE 团队提供了可见性、可靠性和安全性以及顶级的服务指标。

Helm
Helm 主要用来帮助 Kubernetes 架构师简化 Kubernetes 应用程序的安装和管理工作。

Helm 使用了一种叫作 chart 的打包格式。chart 是一组描述了一组相关的 Kubernetes 可用资源的文件。一个 chart 可以用来部署一些简单的东西。

从架构方面看,Helm 有两个端,一个是客户端,即 Helm 命令行工具,我们称之为 Helm CLI,另一个是服务端,即 Tiller。Helm CLI 是运行在本地机器上的命令。它使用模板引擎根据 Helm 中定义的源模板生成易于理解的 Kubernetes YAML。

在生成 YAML 之后,它会将请求发送到运行在 Kubernetes 集群中的 Tiller。接下来,Tiller 在 Kubernetes 集群中执行更新,确保它是最新的并被正确发布,然后添加到历史记录中,在后续可以根据需要进行回滚。在已发布的 Helm 3 中,Tiller 被移除掉了。

Sumo Logic
Sumo Logic 平台帮助企业通过分析和预测来做出基于数据驱动的决策,减少用于调研安全性和运维问题的时间,这样就可以根据优先级腾出资源去做更为重要的事项。

Sumo Logic 将计算机生成的数据转换成一个简单的仪表板,通过易于理解的图表、表格和其他可视元素为用户提供操作见解。全球有很多公司都使用 Sumo Logic 来构建、运行和保护应用程序和云基础设施,让 Sumo Logic 成为行业中不可或缺的 DevOps 工具。

Sumo Logic 的预测分析功能非常强大,可以预测异常行为和 KPI 违规,并发送警告,提高了 DevOps 效率,并有助于修复所有的问题。

Slack
团队成员之间发送即时消息、反馈和知识共享非常重要。在实施 DevOps 时,信息的流动、实时交互和高度协作最为重要。难道你不认为 Slack 正是为此而生的吗?金融公司 Capital One 认为 Slack 是最为重要的 DevOps 工具。Capital One 在 2016 年年中部署了 Slack,并很快成为其 IT 部门的首选工具。

现在,你可以通过 Slack 自动化大量的手动和重复性的开发任务,它的消息通知机制可以很容易地让用户看到实时发生的事情。正当很多大公司还在寻找以团队为中心的生产力工具时,Slack 已经在这方面做了大量的工作。

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-04-27
本文作者:Pavan Belagatti
本文来自:“InfoQ”,了解相关信息可以关注“InfoQ

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
弹性计算 运维 安全
云上DevOps自动化的最佳实践
本文介绍了云上DevOps自动化最佳实践,重点探讨了企业在上云过程中面临的成本管理、运维效率和弹性等问题。通过阿里云的产品和服务,企业可以实现自动化的资源管理、成本优化和高效运维。文章详细阐述了如何利用标签进行成本分析、选择合适的付费类型和实例规格、以及通过弹性伸缩降低成本。此外,还介绍了新功能发布,如统一的实例运维通道界面、AI辅助的运维工具等,帮助企业提升云上业务的管理和运营效率。
|
2月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
22天前
|
人工智能 自然语言处理 语音技术
FilmAgent:多智能体共同协作制作电影,哈工大联合清华推出 AI 驱动的自动化电影制作工具
FilmAgent 是由哈工大与清华联合推出的AI电影自动化制作工具,通过多智能体协作实现从剧本生成到虚拟拍摄的全流程自动化。
239 10
FilmAgent:多智能体共同协作制作电影,哈工大联合清华推出 AI 驱动的自动化电影制作工具
|
1月前
|
弹性计算 运维 监控
自动化AutoTalk第十一期-应知必会的自动化工具之阿里云配额中心
本次分享主题为“应知必会的自动化工具之阿里云配额中心”,课程围绕三个方面展开:1) 认识配额及其作用;2) 配额管理的意义与方法;3) 阿里云配额中心的功能和使用场景。通过学习,了解如何有效管理和监控配额,避免资源限制影响业务,并实现自动化集成,提升运维效率。
48 10
|
1月前
|
JavaScript Java 开发工具
AutoTalk第十三期-应知必会的自动化工具-阿里云SDK支持策略(一)
AutoTalk第十三期探讨阿里云SDK支持策略,涵盖四大方面:发布策略、版本规范、更新策略及停止支持策略。重点介绍SDK的及时性、完整性、测试覆盖度和版本命名规范;并以Python部分语言版本停止支持为案例,帮助开发者了解维护策略,确保平稳过渡到新版本。
|
1月前
|
算法 安全 Java
自动化AutoTalk第十期:应知必会的自动化工具-阿里云SDK
本期《自动化AutoTalk》第十期聚焦应知必会的自动化工具——阿里云SDK。主要内容分为三部分:1. 阿里云SDK概述,介绍其支持的300多款云产品和8种主流编程语言;2. 快速生成SDK示例,以Java语言为例展示如何通过OpenAPI门户快速生成并下载SDK工程;3. 进阶特性介绍,涵盖签名算法、Endpoint配置、代理设置、HTTPS请求配置、超时机制及异常处理等重要功能。通过这些内容,帮助开发者更高效、安全地使用阿里云SDK。
|
2月前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
266 17
Selenium:强大的 Web 自动化测试工具
|
2月前
|
运维 监控 Devops
自动化运维实践:打造高效的DevOps流水线
在软件开发的快节奏中,自动化运维成为提升效率、确保质量的关键。本文将引导你理解自动化运维的价值,通过实际案例分享如何构建一个高效、可靠的DevOps流水线。我们将从持续集成(CI)开始,逐步深入到持续部署(CD),并展示代码示例来具体说明。准备好让你的运维工作飞跃式进步了吗?让我们开始吧!
|
2月前
|
运维 Kubernetes Devops
自动化运维:从脚本到工具的演进之旅
在数字化浪潮中,自动化运维成为提升效率、保障系统稳定的关键。本文将探索自动化运维的发展脉络,从基础的Shell脚本编写到复杂的自动化工具应用,揭示这一技术变革如何重塑IT运维领域。我们将通过实际案例,展示自动化运维在简化工作流程、提高响应速度和降低人为错误中的重要作用。无论你是初学者还是资深专家,这篇文章都将为你提供宝贵的洞见和实用的技巧。
|
3月前
|
运维 Devops
自动化运维:从脚本到DevOps的进化之旅
在数字化时代,自动化运维不仅是提高生产效率的关键,更是企业竞争力的象征。本文将带领读者穿越自动化运维的发展历程,从最初的脚本编写到现代DevOps文化的形成,揭示这一演变如何重塑IT行业的工作模式。通过具体案例,我们将展示自动化工具和实践如何简化复杂任务,优化流程,并促进团队协作。你将发现,自动化运维不仅关乎技术的进步,更体现了人、流程和技术三者之间协同增效的深层逻辑。