您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 开发技术 > 正文

我们真的需要每个项目的DevOps吗?

发表于:2020-03-05 作者:爱码农 来源:今日头条

开发人员和运营团队之间的DevOps合作使敏捷和有效的部署结构更为合理。但这在现实中是这样工作的吗?

如今,大多数软件开发组织都在采用DevOps文化,并且它有很多好处。其中一些是:

  • 持续交付和持续集成
  • 缩短开发周期
  • 提高质量并降低成本:
  • 稳定的运行环境:
  • 增强的版本控制

上面的每个好处都与多个DevOps工具之一相关联。我们必须了解为什么DevOps是必不可少的。我们真的需要上述功能与我们现有的软件开发生命周期集成吗?

您从使用DevOps Essentials的现有开发生态系统开始,并聘请了一名DevOps工程师,开始在当前项目中实施DevOps工具,但是几周后,您发现项目发布的稳定性和交付情况与以前相同。

这样一来,实施DevOps的成本以及该特定DevOps工具的月度和年度费用都增加了。

在上述情况下缺少某些内容;你知道那是什么吗 可能是项目复杂性,微服务,正确的DevOps工具的选择,容器化,也可能是编排。

DevOps与工具无关

我从一些采用DevOps的客户那里听说。他们开始使用 Jenkins或CircleCI之类的工具进行部署,或者使用Capistrano for Rails应用程序之类的本地工具实现自动化部署。但是,DevOps不是自动化部署。要了解DevOps的核心原则,首先,您必须了解采用DevOps的实际好处。

案例研究:需要使用Docker Orchestration进行POS应用程序的自动化部署。

在过去的三年中,我们的团队之一致力于产品开发。直到今天,开发工作仍在进行中,每天都在进行,该团队每天要进行3到4个部署,有时还会有一些热修复程序。

假设我们在该项目中实现了DevOps,我们开始设计Docke图像并与Kubernetes进行编排,并使用CircleCI集成CI / CD。

  • 使用Capistrano完成部署非常简单
  • 开发人员友好的环境,其中检查日志和调试与开发人员的本地计算机相同
  • 专注于产品开发,无需操作知识

4周后:

  • 部署时间略有减少
  • 更好的性能
  • 调试Docker面临的问题
  • 开发团队正在努力获取日志和修补程序
  • 需要部署权限,已创建依赖项
  • 维修费用增加
  • 要解决使用第三方工具升级的问题,需要具备Docker的知识

在这里,我想澄清一下,我并不是说实现DevOps并不是一件好事,但是如果您打算仅通过阅读Web内容和实现工具来实现DevOps,那么我不建议您选择DevOps。

仅阅读文档和观看教程视频,如何在生产中实现DevOps工具?这将是一场斗争,最终将导致生产力降低而不是生产力提高。

DevOps实施不足之处

知识与准备

DevOps要求很高,因为它有助于消除手动工作,并有助于加快测试和部署操作。因此知识和准备状态起着至关重要的作用。否则,将会有很多挣扎,这将导致生产率降低而不是生产率提高。

专注于产品开发

另一种情况是企业希望团队专注于产品开发。团队遵循的是敏捷方法论,因此他们每隔一周就要在生产中部署代码。在大型组织中,开发新产品而不用担心其他操作是完全可以的。但是,中小企业没有那么多资源,因此频繁发布的应用程序使他们无法专注于DevOps。

确保您计划实施DevOps,以了解其核心原理。DevOps通过自动化基础架构配置帮助节省了大量时间和精力,因此请考虑使DevOps自动化可以节省多少小时。