请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
搜索

聊一聊:推荐一些热门的DevOps工具


  作者 | M. Altun译者 | Flora策划 | 田晓旭本文作者使用简单明了的语言介绍了当今使用的一些 DevOps 技术和工具。阅读本文后,您将对这些 DevOps 工具,工作方式、以及如何在软件过程中使用有一个整体的了解。开源软件治理一直是行业的佼佼者,在业内好评如潮,备受大众所青睐。


  最近一段时间,我们见证了 DevOps 技术的飞速发展。当今流行且功能强大的工具可能会成为下一年度的过时工具,甚至可能很快被另一种工具取代。如前所述,作者的目的不是通过这篇文章来评判哪些工具最受欢迎或功能最全,而是让读者全面了解 DevOps 工具的工作方式以及如何在软件过程中使用它们。

  什么是 DevOps?

  DevOps 是开发和 IT 运维工程师一起参与从设计到开发和生产的整个敏捷软件开发生命周期的一种实践。敏捷是软件开发生命周期原则,由 17 名独立软件开发人员在 2001 年宣布。

  我们正在通过自己的实践和帮助别人实践来探索更好的软件开发方法。通过这项工作,我们开始重视:

  个人和互动高于流程和工具

  工作的软件高于详尽的文档

  客户合作高于合同谈判

  响应变化高于遵循计划

  也就是说,尽管右侧的提到的项目有价值,但我们更重视左侧的项目。

  在自敏捷宣言发表以来的最近 20 年中,敏捷组织的理念得到了许多组织的认可,并且一些组织已采用了 Scrum 框架进行项目管理。Sprint 的 Scrum 框架概念和以产品为中心的文化以及快速变化的竞争市场所施加的时间压力迫使许多软件开发人员逐步增量地交付产品。

  持续交付需要持续的集成,CI/CD 迫使生产者采用新的工具和技术,以便可以自动执行许多任务,并且可以同时快速地执行多个流程。新流行的软件开发生命周期文化使开发人员、质量保证、T 运营、产品设计师和产品所有者之间的工作更加紧密。这正是 DevOps 概念不可或缺的地方。

  除了传统的版本控制、协作和部署工具之外,快速的生产和交付迫使软件公司使用更多工具来满足敏捷性期望,例如项目管理、自动化、容器化、编排、监控、分析和可视化技术。

  DevOps 工具版本控制系统

  Git

  Git 是一个开源的分布式版本控制系统。如果您需要更多信息,请参阅

  https://git-scm.com/about。

  GitHub

  GitHub 是一个 Git 存储库托管服务。

  Bitbucket

  Bitbucket 是 Atlassian 提供的基于 Git 的源代码存储库托管服务。

  Apache Subversion(SVN)

  Apache Subversion 是一个软件版本号和版本控制系统,根据 Apache 许可以开源形式分发。

  Azure DevOps 服务器

  Azure DevOps Server 是微软公司提供的版本控制产品。

  还有更多的版本控制技术,例如 Gitlab、Mercurial、Bazaar、AWS CodeCommit、Perforce Helix Core 和 SourceForge。

  容器化

  Docker

  Docker 是执行系统级虚拟化的容器化软件。该软件的开发者是 Docker,Inc。该软件首次发布于 2013 年。它使用 Go 编程语言编写。

  容器:容器是软件的标准单元,它将代码及其所有依赖项打包,使得软件可以从一个环境快速可靠地运行到另一个环境。

  容器映像:Docker 容器映像是一个轻巧、独立的可执行软件包,其中包含运行应用程序所需的一切:代码、运行时、系统工具、系统库和配置。容器映像在运行时成为容器,对于 Docker 容器,映像在容器 Docker 引擎上运行时成为容器。它适用于 Linux 和基于 Windows 的应用程序。不论基础架构如何,容器化软件的运行方式始终相同。容器将软件与环境隔离开来,尽管在开发和模拟阶段之间存在差异,但是容器能确保软件均可一致地工作。

  Docker 引擎:Docker 容器技术于 2013 年作为开源 Docker 引擎的方式发起。Docker 的技术之所以独特是因为它专注于开发人员和系统操作人员的需求,将应用程序依赖项与基础架构分离开来。

  Docker 技术可从 Docker 及其开放源代码获得。所有主要数据中心供应商和云服务提供商都将其集成到云技术中。其中,许多提供商利用 Docker 来提供基于容器的 IaaS 产品。此外,领先的开源无服务器(serverless)框架也利用 Docker 容器技术。

  亚马逊 ECS

  亚马逊公司的弹性容器服务(Elastic Container Service,简称 ECS)是一项编排服务,它支持运行 Docker 容器以在亚马逊 AWS 上执行容器化的应用程序。它消除了对单独的容器编排软件的安装和管理需求。尽管 ESC 是免费的,但亚马逊会对其使用的资源收费。

  AWS Fargate

  AWS Fargate 使您无需管理服务器或集群即可执行容器。亚马逊公司根据运行 Fargate 所使用的内存和虚拟 CPU 资源收取费用。

  谷歌云平台

  谷歌云为您提供了运行容器的不同选项。它们是谷歌 Kubernetes 引擎(用于容器群集管理)、Google 计算引擎(用于虚拟机和 CI/CD 管道)和 Google 应用引擎灵活环境(用于完全托管的 PaaS 上的容器)。谷歌提供了可用于生产的执行容器化应用程序所需的基础架构。谷歌根据所使用的资源收费。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册