在2020年取得成功的8篇必读DevOps文章[DevOps]

2020-01-16 17:58:05 浏览数 (1)

今年将发布八篇最受欢迎的DevOps文章,以帮助快速掌握DevOps。

我是一个狂热的读者,但经历了非常忙碌的时期,很难找到时间跟上自己的阅读清单。即使在最忙的时候,也尽量保持关注DevOps新闻,因为这是关注的领域之一。

在这里,总结了Opensource.com今年出版的前八篇DevOps文章的主要内容,因此即使没有时间阅读所有这些文章,也可以提高知识水平。由于DevOps是关于人员,流程和工具的,因此围绕这些主题对前八篇文章进行了分类。

DevOps心态的5个基本价值

有关IT问题和解决方案的讨论通常集中在技术或工具上。但是通常,人员和流程比技术和工具更难,更重要。布伦特·亚伦·里德(Brent Aaron Reed)和威利·彼得·绍布(Willy-Peter Schaub)在DevOps思维方式的5个基本价值中,概述了建立正确流程和雇用合适人员的基础。

与利益相关者(客户,业务团队,合作伙伴等)创建一个连续的反馈循环。确保出于正确的原因进行更改,并使所有利益相关者受益。

流程应不断改进。拥有可重复的框架和流程是好的,但是要寻找使之更好的方法。

不要用新的筒仓替换现有的筒仓。团队合作是必不可少的;更改团队名称或创建新团队都无济于事。应该努力打破筒仓,而不是使用新名称创建新筒仓。

主要利益相关者是客户。组织中的每个部门都需要共同努力,以确保满足客户的需求。

学习是有感染力的。当您学习新东西时,与他人分享。

从sysadmin过渡到DevOps工程师的案例

要从系统管理员(sysadmin)过渡到DevOps工程师,需要转变思维方式,并学习新的工具和技术。在从sysadmin过渡到DevOps工程师的案例中,通讯员Taz Brown介绍了这种经验,以及考虑考虑担任DevOps工程师角色时应做的事情。

学习脚本语言,例如Python,Perl,Bash或Powershell。不需要成为专家;学习基础知识,并逐步建立自己的技能。

从战略角度进行思考,并考虑日常任务对业务的影响。

学习诸如Ruby,Go或Python之类的编程语言。

了解CI / CD管道以及如何以及在何处自动执行任务。

熟悉配置和编排工具。

了解常见的Git命令以及版本控制的基础知识。

过程

不在生产中测试?在生产中进行测试!

在生产中进行测试的概念是一个棘手的话题,但是Ann Marie Fred在《不要在生产中进行测试?在生产中进行测试!从历史上看,从安全性,合规性和风险管理的角度来对待开发,测试和生产系统是不同的。如果生产系统中的数据遭到破坏,则风险要比在测试环境中发生的风险高得多。

在生产中进行测试有优点也有缺点。大多数缺点归结为风险和合规性问题,例如数据损坏或泄漏,意外副作用和系统过载。许多专家可以归为两类:改善用户体验(UX)和获得有关体系结构的新知识。改善用户体验包括可用性测试,用户体验研究,实际用户监控,金丝雀测试和回归测试。生产中的测试还使能够通过运行A / B测试,实验,混乱的工程和故障转移测试来了解有关环境的更多信息。

通过在生产中进行测试,可以获得反馈,否则将无法获得质量,性能,可用性,弹性,用户体验和更改。对真实数据进行测试可以揭示模拟或测试数据看不到的东西。应该在生产中进行测试,但是在开始之前,请建立适当的机制以确保系统安全并最大程度地降低风险。

在开始进行生产测试之前,请使用自动化测试对所有系统进行全面测试。

复查与错误查找日相关的风险,并从一开始就设置适当的防护栏。

遵循混沌工程学的原则:提前计划;包含爆炸半径。

是的,生产中存在与测试相关的风险,但可以通过适当的防护措施将其最小化。

实现大规模DevOps的8条原则

流程是成功的DevOps计划的重要方面。最重要的部分是建立适合组织的流程,而不是复制在其他地方有用的流程。 Matthieu Fronton指南列出了8条原则,以实现大规模DevOps,以确保您将实施针对业务需求的战略。

团队创建孤岛。与其建立一支DevOps团队,不如创建一支由高技能和多样化成员组成的DevOps工作队。其目的是帮助其他项目和部门识别缓慢的流程,使流程自动化,提高性能并确保有效性。

减少协作和同步任务时的开销。公开状态更新和团队可用性,通过将所有内容放入共享的协作工具中使工作可见,并一次处理一项任务,以避免上下文切换。

获得外部帮助;聘请敏捷教练成为您的拥护者。

安排定期的团队培训,培训所需的工作技能,从软技能到如何使用特定工具。

使团队能够做出自己的决定并从错误中学习。

拥抱不确定性。失败会发生,因此请进行无可指摘的事后评估,并确定下一次如何提高和减少不确定性。

DevOps与人员,流程和工具有关。这不仅仅是关于产品的技术实施。

一直在学习。随时了解DevOps空间中的趋势。

小型Scrum与大型Scrum

在小型和大型Scrum中,Agnieszka Gancarczyk分享了她对敏捷采用调查的54个早期响应的分析。

96%的人在分布式团队中工作,他们认为Scrum原则可以帮助他们降低开发复杂性,并相信敏捷有助于他们项目的成功。

冲刺的最受欢迎时间是三周(62%)。

在需要时,参与者可以在他们的项目中扮演其他角色,例如业务分析师,项目经理和质量工程师。更换角色时,他们平均损失一到两个小时。

大多数团队都没有“就绪”的定义来确保用户故事是可操作的,可测试的和清晰的。

任务复杂时,参与者会寻求帮助和指导。

Scrum vs.看板:哪种agile框架更好?

agile是迭代开发和不断反馈的过程。尽管scrum和看板都被归为agile框架,但不是同一回事。在Scrum与看板中:哪个agile框架更好?塔兹·布朗(Taz Brown)探索了差异。

看板是一种agile框架,它利用可视化方法通过设定的步骤来管理项目的创建,并且重点在于步骤的连续流。可以对任务进行颜色编码以识别不同类型的任务。进行中的工作限制可用于限制单个阶段中允许的最大工作项目数。目的是一目了然地看到进度和瓶颈。任何团队(不仅仅是软件开发人员)都可以使用看板方法。

Scrum的目标是创建可运输的产品。 Scrum涉及日常站立,计划,审查,回顾以及两到四周的节奏。由于Scrum的目标是交付产品,因此主要由软件开发团队使用。

选择哪种方法最适合您,取决于组织,团队,团队中的人员以及最终产品或服务的状态。

工具类

使用DevOps管道自动化用户验收测试

用户验收测试(UAT)确定系统是否满足用户需求,业务需求和授权实体需求。每当应用程序中有新设计时,都必须运行这些测试,这就是自动化它们如此有价值的原因。在使用DevOps管道自动执行用户验收测试中,Daniel Oh分享了如何跳过手动验证测试用例并使用Selenium将其自动化的方法。

可以使用Selenium构建WebDriver脚本,以编程方式执行测试用例,然后通过将Selenium工具与DevOps管道集成来使它们自动化。

使用开源工具构建DevOps管道的初学者指南

尽一切可能,Bryant Son的《用开源工具构建DevOps管道的初学者指南》全面概述了DevOps工具的一个关键类别:持续集成/连续部署(CI / CD)管道。 CI / CD管道是从存储库中获取代码和配置并将其移至生产环境的过程。

布莱恩特描述了典型CI / CD管道中的一些工具。

像詹金斯(Jenkins)这样的CI / CD工具与许多不同的服务和工具进行对话,以对其进行配置和编排。

源代码管理管理(SCM)将代码存储在存储库,版本代码中,并促进与项目成员的协作。 (CI / CD可以自动检查团队成员之间的源代码。)

生成自动化工具根据源代码编译并创建可部署的程序包格式。

Web应用程序服务器是将部署可执行文件以便可以使用该应用程序的位置。

代码测试覆盖率可及早发现错误,并确保用户对应用程序感到满意。代码测试框架有助于编写测试,而代码质量建议工具则有助于提高代码质量。

2020年更多

Opensource.com在2019年阅读最广泛的DevOps文章涵盖了人员,流程和工具的广泛主题。感谢这些作家分享他们的知识,期待在2020年从他们那里读到更多。

希望我们在接下来的几个月中涵盖哪些DevOps主题?随时发表评论,或者更好地提交文章建议。

0 人点赞