devops基础扫盲篇_在2020年取得成功的8篇必读的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命令以及版本控制的基础知识。

Craft.io流程

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

不在生产中测试? 在生产中进行测试! 从历史上看,从安全性,合规性和风险管理的角度来对待开发,测试和生产系统是不同的。 如果生产系统中的数据被破坏,则其风险要比在测试环境中发生的风险高得多。

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

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

  • 在开始进行生产测试之前,请使用自动化测试对所有系统进行全面测试。
  • 复查与错误查找日相关的风险,并从一开始就放置适当的防护栏。
  • 遵循混沌工程学的原则:提前计划; 包含爆炸半径; 鳞或南瓜。

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

实现大规模DevOps的8条原则

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

  • 团队创建孤岛。 与其建立一支DevOps团队,不如创建一支由高技能和多样化成员组成的DevOps工作队。 其目的是帮助其他项目和部门识别缓慢的流程,使流程自动化,提高性能并确保有效性。
  • 减少协作和同步任务时的开销。 公开状态更新和团队可用性,通过将所有内容放入共享的协作工具中使工作可见,并一次处理一项任务,以避免上下文切换。
  • 获得外部帮助; 聘请敏捷教练成为您的倡导者。
  • 安排定期的团队培训,培训所需的工作技能,从软技能到如何使用特定工具。
  • 使团队有权做出自己的决定并从错误中学习。
  • 拥抱不确定性。 失败会发生,因此请进行无可指摘的事后评估,并确定下一次如何提高和减少不确定性。
  • DevOps与人员,流程和工具有关。 这不仅仅是关于产品的技术实施。
  • 一直在学习。 随时了解DevOps空间中的趋势。

小型Scrum与大型Scrum

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

  • 96%的人在分布式团队中工作,他们认为Scrum原则可以帮助他们降低开发复杂性,并相信敏捷有助于他们项目的成功。
  • 冲刺的最受欢迎时长是三周(62%)。
  • 在需要时,参与者可以在他们的项目中扮演其他角色,例如业务分析师,项目经理和质量工程师。 更换角色时,他们平均损失一到两个小时。
  • 大多数团队都没有“就绪”的定义来确保用户故事是可操作的,可测试的和清晰的。
  • 任务复杂时,参与者会寻求帮助和指导。

Scrum与看板:哪种敏捷框架更好?

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

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

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主题? 随时发表评论,或者更好地提交文章建议

翻译自: https://opensource.com/article/19/12/devops-resources

devops基础扫盲篇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值