DevOps 简介:小规模 DevOps
作者:Katy Farmer / 用例, 开发者
2018 年 6 月 18 日
导航至
DevOps 是技术领域中一个非常酷的交叉点,流程、工具和理念在此碰撞。但使其有趣的事物也使其难以理解和采用。DevOps 新手很难——至少对我来说是这样——所以我想尽我所能让其他刚入门的人更容易上手。
第一次在工作中听到 DevOps 时,我像往常一样点了点头,当时我不知道发生了什么,但我很确定我可以谷歌一下。
<figcaption> 关于 DevOps,您需要知道的一切 </figcaption>
事实证明,由于它太广泛了,所以有点“不可谷歌”。我遇到了每个关键字的障碍。我发现更多我从未听说过的词。我分支到数千个较小的搜索,直到我忘记了我最初想查找什么。有太多工具可供选择,而且它们中的每一个似乎都需要我没有的背景知识。
所以我谷歌了 DevOps 最佳实践的每种组合,但即便如此,我仍然感觉好像错过了 DevOps 的魔力。
因为尝试使用针对拥有数百万用户和数千名员工的全球公司的解决方案存在问题,即使它们是最成功的模型。我的公司——像大多数科技公司一样——没有数百万用户和数千名员工,我们需要适合我们的解决方案。
最具创新性的 DevOps 策略令人印象深刻,它们主要源于大公司。大公司拥有数据库团队来构建策略并从数据库收集数据。大公司拥有网络团队来协调和监控他们的网络。大公司几乎可以为每个问题负担得起一个团队。在规模一般的公司,我们没有这些。我们必须拓展我们的专业知识,并做出我们能做出的最佳决策。这几乎总是涉及权衡。
大公司必须解决的问题当然很难,但这并不意味着小公司面临的问题更少或难度更低。我们几乎所有人都在努力优先考虑和妥协,以制定适合我们的 DevOps 解决方案。那么我们从哪里开始呢?
采用 DevOps 不是从采用工具开始——而是从采用 DevOps 社区的潜在价值观开始。
洞察力
技术领域的洞察力可以有很多形式。例如,我们可以从不同的应用程序、基础设施和平台级别监控我们的系统。即使在小型公司中,使用多种工具组合来做到这一点也已成为一种日益增长的趋势。我们可能会使用一种工具来收集日志,一种工具来收集网站流量,另一种工具来管理扩展。然后,我们可能还有最后一个工具来统一所有这些数据源。
<figcaption> 过多的洞察力 </figcaption>
这对我来说已经听起来让人感到不知所措了。在我工作的头两个月里,非常聪明的人向我解释了很多概念,但我感觉自己像是在直视太阳——我的大脑在融化,我的眼睛在流泪。直到我第一个项目中使用我们的工具从我的一个旧 Rails 应用程序中获取一些指标时,我才明白。我不需要精细、细粒度的数据。我需要来自我的应用程序的基本指标,例如响应时间、响应代码和数据库查询时间。即使是少量的数据也足以改进我的代码。
我们用于获得洞察力的工具有一项工作要做,但不应该占用我们的资源。尤其是在 DevOps 中,我们使用的工具应该鼓励我们的协作文化,而不是制造更多障碍。
从您的应用程序中查看指标,即使在最基本的层面上,也远比担心使用哪个工具重要。
沟通
沟通是 DevOps 中最难的部分。这可能是我见过最多演讲的领域,是我们所有人都需要改进的领域,也是我们失败最多的领域。
想想所有层次的沟通:团队成员之间和不同团队之间,我的代码和使用它的人之间。我们必须认识到,即使我们深入了解了应用程序的行为,如果没有沟通,也可能不会有任何进展。
我们应该像考虑我们编写的代码一样考虑我们收集的数据和指标。下一个人会理解我们的意图吗?如果我们不小心,检测我们的应用程序可能会给其他人带来更多工作——即使那个人只是六个月后的您,想知道您当时在想什么)。
假设其他人会知道如何解释指标存在一点风险。例如,当我在我的 InfluxDB Enterprise 集群(无耻推销)中使用超过 60% 的数据节点时,我可能会收到警报。这不一定是因为该数据节点处于危险之中,而是因为我提前考虑了一种情况,即两个数据节点以 60% 的运行率运行,其中一个宕机,然后剩下的节点立即达到 120%,这意味着我那时有零个节点可用。没有我的背景知识的人可能会对该警报做出非常不同的反应,尤其是当他们在凌晨 3:00 被呼叫时。我们的意图没有写入我们正在收集的数据中,因此我们需要确保我们的意图清晰。在这种情况下,可能就像使警报消息直截了当一样简单。
同样重要的是要意识到,沟通策略与采用它们的公司一样多种多样且独一无二。也许您的团队强调代码中的注释或描述性提交消息。也许您的团队想要记录您采用的工具的书面历史。如果您更改成功的沟通工具和模式以适应您的组织,那也没关系。
结论
我们总是比任何外部来源更了解我们自己的团队、数据和代码,因此我们调整适用于那些异常组织的策略是有道理的。它们是成功的和特殊的,但请记住,永远不必担心全球统治的小公司才是大多数。
如果我们拥抱 DevOps,我们就拥抱了我们需要更多沟通和洞察力的想法,因此我们采用的工具和实践绝不应阻止我们共享数据、协作或构建我们的文化。