菜单图标_竞彩篮球

DevOps

通过组合和自动化软件开发和IT运营团队的工作,竞彩篮球速度速度提供更高质量的软件。

什么是devops?

根据定义,竞彩篮球概述了一种软件开发过程和组织文化转变,通过自动化和整合开发和IT运营团队的努力来加速更高质量的软件 - 两组传统上彼此分开或孤岛练习的组织。

在实践中,最好的竞彩篮球进程和文化延伸到发展和操作,以纳入所有申请利益相关者的投入 - 包括平台和基础设施工程,安全,合规性,治理,风险管理,业务范围,最终用户和客户 - 进入软件开发生命周期。 

devops代表了在过去20多年中的软件交付周期演变的当前状态,从巨型应用范围的代码释放每隔几个月甚至几年,迭代较小的特征或功能更新,每天释放,或每天都有几次天。

最终,竞彩篮球是关于满足软件用户对频繁,创新的新功能和不间断性能和可用性的不断增长的需求。

我们如何投入到devops

直到2000年之前,大多数软件都是使用瀑布方法制定和更新的,是大规模开发项目的线性方法。软件开发团队将花几个月开发影响大多数或全部应用程序的大型新代码。因为这些变化是如此广泛,所以他们花了几个月的几个月,将该新代码集成到代码库中。 

接下来,质量保证(QA),安全和运营团队将花费更多几个月的时间测试代码。结果是软件版本之间的几个月甚至几年,并且通常在释放之间通常有几个重要的修补程序或错误修复。这种“Big Bang”功能交付的方法通常是通过复杂和危险的部署计划的特点,难以安排与上游和下游系统的联系,这是“大希望”业务需求在通往的几个月内没有大幅变化生产“去生活”。

快速开发和提高质量,开发团队开始采用敏捷软件开发方法,这些方法迭代而不是线性,并专注于对应用程序代码库进行更小的更新更新。这些方法中的职务是 持续集成连续交货,或ci / cd。在CI / CD中,新代码的较小块每隔一个或两周合并到代码基础上,然后自动集成,测试并准备部署到生产环境。敏捷演变成“大爆炸”方法进入一系列“较小的捕捉”,该系列也是分区的风险。

这些敏捷开发实践越有效地加速了软件开发和交付,更越多,仍然暴露静止静音IT操作 - 系统供应,配置,验收测试,管理,监控 - 作为软件交付生命周期中的下一个瓶颈。  

所以竞彩篮球逃离了敏捷。它添加了新的进程和工具,将CI / CD的连续迭代和自动化扩展到软件交付生命周期的其余部分。它在过程中每一步的开发和操作之间实现了密切的协作。

竞彩篮球如何工作:竞彩篮球生命周期

竞彩篮球生命周期

图1:竞彩篮球 Lifecycle

竞彩篮球生命周期(有时被称为连续交付管道,当以线性方式描绘时)是一系列迭代,自动化开发过程,或 工作流程,在更大,自动化和迭代的开发生命周期内执行,旨在优化高质量软件的快速交付。工作流的名称和数量可能因您提出的谁而异,但通常归结为这六个:

  • 规划(或想象)。 在此工作流程中,团队在下一个版本中将新功能和功能缩放,从优先级最终用户反馈和案例研究中绘制,以及所有内部利益相关者的输入。规划阶段的目标是通过产生当交付时产生具有价值的所需结果的积压来最大化产品的业务价值。
  • 发展。 这是编程步骤,基于用户故事和工作项,开发人员测试,代码和构建新的和增强功能。实践的组合,如测试驱动的开发(TDD),对编程和对等代码审查等,其中包括常见。在将连续交付管道发送之前,开发人员经常使用本地工作站进行写入和测试代码的“内循环”。
  • 集成(或构建,或持续集成和连续交付(CI / CD)。 如上所述,在此工作流程中,新代码已将其集成到现有的代码库中,然后将其进行测试并打包成可执行文件以进行部署。常见的自动化活动包括将代码更改为“主”复制,从源代码存储库中查看代码,并自动化编译,单元测试和打包到可执行文件中。最佳实践是在二进制存储库中将CI相的输出存储在下一个阶段。
  • 部署(通常被称为 连续部署 )。  此处将运行时构建输出(从集成)部署到运行时环境 - 通常是用于对质量,合规性和安全性执行运行时测试的开发环境。如果发现错误或缺陷,开发人员在任何最终用户看到它们之前有机会拦截和修复任何问题。每个环境都需要开发,测试和生产的环境,需要逐步的“更严格”的质量盖茨。部署到生产环境的良好做法通常是将首先部署到最终用户的子集,然后在建立稳定性的情况下最终到所有用户。
  • 操作。 如果将交付给生产环境的功能的特点是“第1天”, 然后,一旦在生产中运行的功能“第2天”操作发生。监视功能性能,行为和可用性可确保功能能够为最终用户提供价值。操作确保功能顺利运行,并且服务中没有中断 - 通过确保网络,存储,平台,计算和安全姿势都保持健康!如果出现问题,则运营确保了已识别事件,警告适当的人员,确定问题,并应用修复。
  • 学习(有时称为连续反馈)。 这是从最终用户和客户的反馈收集功能,功能,性能和业务价值,以重新计划进行增强功能,并具有下一个版本。这也将包括来自运营活动的任何学习和积压项目,这可能会使开发人员能够主动避免未来可能会发生的任何过去的事件。这是将“环绕”对规划阶段发生的重点,我们“不断改进!”

这些工作流程之间发生了三个其他重要的连续工作流程:

连续测试:  古典竞彩篮球生命周期包括在集成和部署之间发生的离散“测试”阶段。然而,竞彩篮球已经前进,使得某些测试元素可能发生在规划(行为驱动的开发),开发(单元测试,合同测试),集成(静态代码扫描,CVE扫描,LINTING),部署(烟雾测试,渗透测试,配置测试),操作(混沌测试,合规性测试)和学习(A / B测试)。测试是一种强大的风险和漏洞识别形式,并为其接受,减轻或修复风险的机会。

安全: 虽然瀑布方法和敏捷实施“在交付或部署之后的安全工作流程”时,竞彩篮球努力从一开始(规划) - 当安全问题最简单而最便宜的情况下,解决 - 并且在整个开发周期中连续地解决方案时 - 而且在整个开发周期中持续连续。这种安全方法被称为 左转 (如果您看起来更容易理解,更容易理解图1)。一些组织的成功减少了左转,它导致了Devsecops的崛起(见下文)。

遵守。 法规 合规(治理和风险)也是最好的早期和整个开发生命周期解决。受监管的行业经常被要求提供一定程度的可观察性,可追溯性和如何在运行时运行环境中提供和管理功能。这需要在连续交付管道和运行时环境中规划,开发,测试和执行政策。遵守措施的审计性对于证明遵守第三方审计师来说非常重要。

竞彩篮球文化

它普遍认为,在没有致力于竞彩篮球文化的情况下,竞彩篮球方法无法工作,这可以总结为软件开发的不同组织和技术方法。

在组织级别,竞彩篮球需要在所有软件交付利益相关者中持续沟通,协作和共享责任 - 软件开发和IT运营团队,但也是安全,合规性,治理,风险和业务范围 - 迅速创新不断,并从一开始就将质量建立在软件中。

在大多数情况下,实现这一目标的最佳方法是分解这些筒仓,并将它们重新组织成跨职能,自主的竞彩篮球团队,可以从开始到完成 - 计划反馈 - 或等待批准或等待批准的代码项目来自其他团队。在敏捷发展的背景下,共享问责制和协作是拥有共享的基岩 产品焦点 这有一个有价值的结果。

在技​​术层面,竞彩篮球需要承诺 自动化 使项目能够在工作流内部和之间移动,以及 回馈  measurement 使团队能够不断加速周期,提高软件质量和性能。

竞彩篮球工具:构建竞彩篮球 Toolchain

竞彩篮球和竞彩篮球 Culture的需求在支持异步协作的工具上提出了溢价,无缝集成竞彩篮球工作流程,并尽可能自动化整个DevOps生命周期。 竞彩篮球工具的类别包括:

  • 项目管理工具 -  使团队能够构建构建构成编码项目的积压的工具(要求),将它们分解为更小的任务并跟踪任务到完成。许多支持敏捷项目管理实践,如Scrum,Lean和Kanban,开发人员带来竞彩篮球。流行的开源选项包括GitHub问题和Jira。
  • 协同源代码存储库 -  版本控制的编码环境,让多个开发人员在相同的代码库上工作。代码存储库应与CI / CD,测试和安全工具集成,以便当代码提交到存储库时,它可以自动移动到下一步。开源代码存储库包括GIHUB和Gitlab。
  • CI / CD管道  - 自动执行代码结帐,构建,测试和部署的工具。 Jenkins是此类别中最受欢迎的开源工具;许多以前的开源替代品,如Circleci,现在只能在商业版本中获得。当涉及连续部署(CD)工具时,Spinnaker在应用程序和基础架构之间作为代码层之间的跨界。 Argocd是Kubernetes Native CI / CD的另一个受欢迎的开源选择。
  • 测试自动化框架  - 这些包括软件工具,库和用于自动化单元,合同,功能,性能,可用性,渗透和安全测试的最佳实践。这些工具中最好的支持多种语言;有些人使用人工智能(AI)以响应代码更改自动重新配置测试。关于测试工具和框架的广泛宽阔!流行的开源测试自动化框架包括Selenium,Appium,Katalon,机器人框架和宁静(以前称为Thucydides)。
  • 配置管理 (基础架构作为代码) 工具   - 这些使竞彩篮球工程师能够通过执行脚本来配置和配置完全版本的和完全记录的基础架构。开源选项包括Ansible(Red Hat),Chef,Puppet和 Terraform.. Kubernetes. 对集装箱应用程序执行相同的功能(请参阅下面的“竞彩篮球和云原生开发”)。
  • 监控工具  - 这些帮助竞彩篮球团队识别和解决系统问题;它们还可以实时收集和分析数据,揭示代码如何发生影响应用程序性能。开源监控工具包括DataDog,Nagios,Prometheus和Splunk。
  • 连续反馈工具  - 通过Heatmapping(在屏幕上记录用户的操作),调查或自助发行票证,从用户收集反馈的工具。

竞彩篮球和云原生发展

云天然 是建立利用基础云计算技术的应用的方法。云原生的目标是在公共,私有和多罩环境中实现一致和最佳的应用程序开发,部署,管理和性能。 

今天,云天然应用通常是

  • 建造使用 微服务 - 松散耦合,独立可部署的组件,具有自己的自包含堆栈,并通过REST API,事件流或消息代理彼此通信。
  • 部署在 容器 - 包含运行应用程序所需的所有代码,运行时和操作系统依赖项的可执行代码单元。 (对于大多数组织而言,'容器'是同义词 Docker. 容器,但存在其他容器类型。)
  • 使用(按比例)使用 Kubernetes.是一个开源容器编排平台,用于调度和自动化集装箱应用程序的部署,管理和缩放。

在许多方面,云原生发展和德国人民互相制作。 

开发和更新微服务 - 即,小单位代码的迭代传送到小型代码基础 - 是一个完美的竞彩篮球快速发布和管理周期。并且很难处理没有竞彩篮球部署和操作的微服务架构的复杂性。 

通过打包和永久修复所有操作系统依赖项,容器使能快速CI / CD和部署周期,因为所有集成,测试和部署都发生在同一环境中。 Kubernetes Orchestration为集装箱应用程序执行相同的连续配置任务,作为Ansible,Puppet和Chef为非集装箱化应用程序执行。

大多数领先的云计算提供商 - 包括AWS,Google,Microsoft Azure和IBM Cloud - 提供某种托管竞彩篮球管道解决方案。

什么是devsecops?

devsecops 竞彩篮球,连续集成并自动化在整个竞彩篮球生命周期中的安全性 - 从开始完成,从计划通过反馈并再次返回规划。

另一种赋予这一点的方法是Devsecops是竞彩篮球应该从一开始就是什么。但是,竞彩篮球采用的早期意义(和一段时间不可逾越)的挑战正在将安全专业知识融入跨职业团队(文化问题),并将安全自动化实施到竞彩篮球生命周期(技术问题)中。安全来被认为是“不,”的“团队”,并作为许多竞彩篮球实践中的昂贵的瓶颈。

Devsecops作为最初预期的完全努力集成和自动化安全性的特定努力。在Devsecops中,安全是一个“第一类”的公民和利益相关者以及开发和运营,并带来安全进入开发过程,并通过产品焦点。

观看'什么是devsecops?'要了解有关Devsecops原则,优惠和用例的更多信息:

竞彩篮球和网站可靠性工程(SRE)

站点可靠性工程(SRE)使用软件工程技术来自动化IT操作任务 - 例如生产系统管理,变更管理,事件响应,即使是紧急响应 - 也可以通过系统管理员手动执行。 SRE寻求将古典系统管理员转换为工程师。

SRE的最终目标与竞彩篮球的目标类似,但更具体:SRE旨在平衡组织对快速应用发展的愿望,以满足与客户的服务水平协议(SLA)中规定的绩效和可用性水平 - 用户。 

站点可靠性工程师通过确定由应用程序造成的可接受的操作风险水平来实现这一余额 - 称为“错误预算” - 以及自动化操作以满足该级别。 

在一个跨职能的竞彩篮球团队中,SRE可以作为开发和运营之间的桥梁,提供指标和自动化,该团队需要尽快通过竞彩篮球管道推送代码变化和新功能,而无需“破坏”条款组织SLA。 

了解有关网站可靠性工程的更多信息

devops和IBM云

竞彩篮球需要在业务,开发和运营利益相关者跨业务,开发和运营利益相关者进行协作,迅速提供和运行可靠的软件。在转换文化的同时使用竞彩篮球工具和实践的组织为数字转型构建强大的基础,以及 现代化他们的应用 在他们的 云之旅.

迈出下一步:

开始使用 IBM Cloud帐户今天.

 

关于作者

Andrea C. Crawford是IBM的杰出工程师,具有古典和现代竞彩篮球的专业知识。她对帮助客户通过人,流程和工具现代化的转换应用程序提供的热情。安德烈享受探索园艺和骑马摩托车等战术的“异常值”。

//twitter.com/acmthinks

//medium.com/@acmThinks