DevOps 为何有用
身处 Web 开发领域,你不可能没有听说过 DevOps。它就像一个人人皆知,却无人真正理解的概念。希望你读完这篇文章后,能够理解 DevOps 是什么,以及它存在的意义。我花了一段时间才弄清楚它的重要性,但现在我明白了它为何会流行起来。
什么是 DevOps
DevOps 是一种处理应用程序生命周期的方法。它从代码库创建之日起一直贯穿整个项目,直到生产代码的第十次发布。它将两个传统上相互独立的团队整合在一起。开发团队和运维团队合二为一。
通常,这意味着开发人员要学习如何管理他们编写代码的应用程序的构建和部署流程。这意味着要学习如何使用 Azure 或 AWS 等工具来管理负载,并学习如何自动化部署流程。开发人员要负责应用程序的每个部分,从编写代码到部署用户看到的生产版本。
DevOps 存在的原因
每个项目的幕后都有很多流程。你必须处理用户报告的bug,同时又不能制造更多bug。此外,每次部署流程也需要仔细检查。是否有测试来检查代码?你能绝对确保每次都以完全相同的方式进行吗?
有了 DevOps,你就能摆脱很多这样的顾虑。整个流程可以自动化,从而保持构建和部署的一致性。当你知道你的部署流程是一致的,你就能更有信心更频繁地部署。你不必等待漫长的周期结束后才能部署一些小的 bug 修复。
您可以更频繁地进行小型部署,因为您确切地了解每一步的进展。这将使客户在使用您的应用程序时更加满意,因为他们会发现他们提出的请求的响应速度更快了。
大多数 DevOps 工具都强调监控系统统计数据。您可以实时响应突发变化,因为它们会向您报告。如果您的应用程序流量异常高,您可能需要升级服务器资源。DevOps 可以自动完成此操作,只需更改设置即可。
DevOps 使应用程序的服务器端部分更加易于使用。一旦您构建了构建和部署管道,您的代码将自动通过测试并部署到开发或生产环境,您无需执行任何操作或与任何人沟通。这种访问权限改变了公司处理软件的方式。虽然需要一些时间来适应,但值得投入。
DevOps 的工作原理
就像 Web 开发中的其他一切一样,DevOps 也有一些最佳实践。它们概述了全面实施 DevOps 所需实现的事项,但并非每个人都会做到所有的事情。有些人只做持续集成和交付,而另一些人可能也会做这些,并进行一些微服务开发。以下是一些最佳实践。
- 持续集成:这意味着每次您提交代码并合并到主分支时,它都会经过您设置的自动化测试。您编写的所有单元测试都会在这里运行。如果提交通过测试,它将被合并到主分支。如果没有,您会收到一封电子邮件,告知您提交失败。通过测试后,构建将自动为您运行。
- 持续交付:一旦您准备好构建,此部分将采用该构建并自动部署。这通常是持续集成之后的下一步。您可以将其设置为将构建直接部署到开发或生产环境。此部分主要为您自动化部署。
- 监控:应用程序自动部署后,您可能需要关注某些统计数据。内存使用量和访问应用程序的用户数量是主要指标。监控可以确保您能够找到服务器问题和意外行为的根源。
还有一些其他的,但这些是 DevOps 的基本框架。一些开发人员可能会将基础设施即代码和微服务纳入 DevOps 中,这很棒。它能让应用程序变得更好!如果你学会了至少上述三种实践,你就能用 DevOps 处理大多数项目。
我第一次听说 DevOps 的时候觉得很奇怪,但它确实很有道理。为什么不让开发人员也负责部署呢?这是一个严肃的问题。你觉得这有什么大问题吗?还是说它会让事情变得更容易?如果设置正确,事情似乎会变得更容易,但如果设置不正确,就会变成一场噩梦。
嘿!你应该在 Twitter 上关注我,理由如下:https://twitter.com/FlippedCoding
文章来源:https://dev.to/flippedcoding/why-devops-is-useful-4d5k