标题 | 8个DevOps自动化工具 |
范文 | 陆静 DevOps,这个词似乎是过去几年的一个流行语,是IT招聘人员、软件公司和代理机构在互联网上搜索得最多的一个词。专业的支持者认为这与工具或自动化无关,但他们忽略了一点,即工具实际上承载了DevOps文化。我们都认同这样的说法,即DevOps不只与工具有关,甚至不只与一个单独的角色有关,DevOps实际上是人、过程和工具的结合体。但是,一个组织想要实施DevOps,工具在其中扮演了重要的角色。 这里将介绍8个DevOps自动化工具,每一家公司都需要依靠它们来获得持续改进。 1. Kubernetes Kubernetes,容器编排平台事实上的标准。它是一个非常流行的开源平台,谷歌于2014年将其开源。Kubernetes用来管理由多个自包含运行时(也就是容器)组成的应用程序。容器近来正在取代虚拟机成为发布应用程序的标准模型。 Kubernetes集群有一个主节点和多个工作节点,每个工作节点可以处理多个Pod。Pod是由多个容器组成的工作单元。开发人员可以从Pod开始,准备好Pod之后,下一步是向主节点指定Pod的定义以及希望部署多少个Pod,剩下的事情由Kubernetes负责。它会获取Pod,并将它们部署到工作节点上。如果有工作节点发生宕机,Kubernetes会自动在可用的其他工作節点上启动新Pod。Kubernetes简化了容器化应用程序的管理过程,让构建和添加更多的特性以及通过改进应用程序来获得更高的客户满意度变得轻而易举。 2. Rancher Rancher是一个容器管理平台,可以轻松地部署容器环境(包括Kubernetes,Apache Mesos,Docker Swarm完整发行版),并让云端或基础设施平台上的容器集群操作变得更容易。Rancher 2.0是一个用于管理Kubernetes集群的多集群管理工具,它提供的用户界面可以帮助Kubernetes团队提高效率。如果希望获得更高的高可用性和平台可靠性,一般都会使用集群。集群将服务器组合成单个易于管理的计算能力集合,并且通常会使用容器化方法。 让开发人员自己来管理这些东西是很困难的,幸运的是,Rancher简化了集群的容器管理,截至2018年初,Rancher只用来编排Kubernetes集群。 3. Spinnaker 随着公司的发展,技术、工具以及管理这些工具的人员数量有了巨大的增长,这常常会导致公司内部出现混乱,增加了技术栈的复杂性和碎片化程度。对于小公司来说,碎片化的持续交付过程或许没有什么问题,但随着公司的增长,维护和理解这个过程就变得越来越具有挑战性。新来的工程师可能需要很长时间才能理解、发现和整理部署所需的所有工具和流程,即使是为了做出一个最简单的变更。 Netflix推出的Spinnaker就是为了解决这个问题。它是一个通用可扩展的工具,为用户提供了构建块,用以开发自定义持续交付管道,并进行有效扩展。 Spinnaker被很多现代软件公司视为理想的持续交付工具,它为开发人员提供了软件交付过程的可视性和控制能力,帮助他们更好地了解如何交付软件。 4. Artifactory 大多数开发人员会通过各种方式访问互联网,并从外部存储库获取依赖项。这严重影响了开发团队之间的沟通,因为我们无法跟踪什么样的依赖包或版本被引入到公司的软件环境中。Artifactory是一个二进制存储库管理器,可以用来存储二进制文件。它就像是二进制版本的Git。作为一个DevOps工具,Artifactory的主要目标是帮助开发人员管理第三方依赖包,从而提供持续集成、持续交付和持续部署能力,帮助企业实现DevOps。 财富500强公司,如谷歌、亚马逊、思科等,它们将Artifact Repository Manager作为通用的依赖包储库管理器,可以支持所有依赖包,不管它们用什么语言或工具开发的。Artifactory提供了一个自动化的端到端解决方案,方便跟踪开发环境和生产环境的依赖包,促进DevOps团队的协作,并毫不费力地对任务进行自动化。 Artifactory为DevOps团队提供了所有必需的工具,帮助他们有效处理不断增长的二进制文件、环境和分布式站点,从而确保应用程序开发工作流程的顺畅。Artifactory不需要为相同文件创建不同副本,帮助开发人员节省了大量时间。二进制文件都只有一个副本存储在文件系统中,减少了团队内部和团队之间的混乱和干扰。 那么,为什么应该使用依赖包存储库: 加快开发速度; 提高开发人员的生产力; 更快地发布,自动化开发管道; 无缝的团队协作。 虽然Artifactory的主要目标是提供一种整洁和安全的方法来管理第三方依赖包,但也可以用来存储开发团队自己生成的软件包,对它们打标签、版本化,并适时发布,让他们清楚地知道打包了什么东西。 5. Linkerd Linkerd是一个开源的轻量级服务网络,由Buoyant公司主导开发。很多成功的大公司,如PayPal,Expedia等,将它们用在生产环境中。它为云原生应用程序带来更高的可靠性、安全性和可视性。Buoyant在2016年首次提出了服务网格这个术语,所以Linkerd算得上是服务网格的鼻祖。 Linkerd在无需微服务做出任何代码变更的情况下,为在集群中运行的微服务提供可观察性、通信方式以及其他细微的方面。 服务网格是一个专门的基础设施层,基本功能是用来控制、管理和建立服务之间的联系,让应用程序的各个部分相互通信,使微服务的运行更加高效。服务网格通常被用在云原生应用程序、容器以及微服务中,快速打包镜像并交付高质量的软件。 Linkerd在平台层而不是应用程序层,为SRE团队提供可见性、可靠性和安全性以及顶级的服务指标。 6. Helm Helm主要用来帮助Kubernetes架构师简化Kubernetes应用程序的安装和管理工作。 Helm使用了一种叫作chart的打包格式。chart是一组描述了一组相关Kubernetes可用资源的文件。一个chart可以用来部署一些简单的东西。 从架构方面看,Helm有2个端,一个是客户端,即Helm命令行工具,我們称之为Helm CLI;另一个是服务端,即 Tiller。Helm CLI是运行在本地机器上的命令,它使用模板引擎根据Helm定义的源模板生成易于理解的Kubernetes YAML。在生成YAML之后,它会将请求发送到运行在Kubernetes集群中的Tiller。接下来,Tiller在Kubernetes集群中执行更新,确保它是最新的并被正确发布,然后添加到历史记录中,在后续可以根据需要进行回滚。 7. Sumo Logic Sumo Logic平台帮助企业通过分析和预测来做出基于数据驱动的决策,减少用于调研安全性和运维问题的时间,这样就可以根据优先级腾出资源去做更为重要的事项。 Sumo Logic将计算机生成的数据转换成一个简单的仪表板,通过易于理解的图表、表格和其他可视元素为用户提供操作见解。全球有很多公司都使用Sumo Logic来构建、运行和保护应用程序和云基础设施,让Sumo Logic成为行业中不可或缺的DevOps工具。 Sumo Logic的预测分析功能非常强大,可以预测异常行为和KPI违规,并发送警告,提高了DevOps效率,并有助于修复所有的问题。 8. Slack 团队成员之间发送即时消息、反馈和知识共享非常重要。在实施DevOps时,信息的流动、实时交互和高度协作最为重要,Slack正是为此而生。金融公司Capital One认为Slack是最为重要的DevOps工具。Capital One在2016年年中部署了Slack,并很快成为其IT部门的首选工具。 现在可以通过Slack自动化大量的手动和重复性的开发任务,它的消息通知机制可以很容易地让用户看到实时发生的事情。正当很多大公司还在寻找以团队为中心的生产力工具时,Slack已经在这方面做了大量的工作。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。