编程语言真的需要每个项目的DevOps吗

    作者:爱码农更新于: 2020-03-09 20:28:43

    大神带你学编程,欢迎选课

    们真的需要每个项目的DevOps吗?高级语言的出现使得计算机程序设计语言不再过度地依赖某种特定的机器或环境。这是因为高级语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。最早出现的编程语言之一FORTRAN的一个主要目标,就是实现平台独立。

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

    编程语言真的需要每个项目的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自动化可以节省多少小时。

    在过去的几十年间,大量的编程语言被发明、被取代、被修改或组合在一起。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之所以有那么多种不同的编程语言存在的原因是,编写程序的初衷其实也各不相同;新手与老手之间技术的差距非常大,而且有许多语言对新手来说太难学;还有,不同程序之间的运行成本(runtime cost)各不相同。

课课家教育

未登录