DevOps主要是关于开发人员和运营人员之间的协作,以提高生产中应用程序的交付和可靠性。最常见的最佳实践旨在用更强大的自动化取代开发和运营团队之间管理的手动、容易出错的程序。这包括使用CI/CD(持续集成和持续交付)自动化交付管道、使用容器进行标准化配置以及将基础架构配置为代码。在操作方面,用于提高应用程序可靠性的DevOps最佳实践包括提高应用程序的可观察性、增加监控以及自动化云和基础架构操作。但是,您如何提高应用程序、数据库、数据管道和云基础设施的性能呢?本文将分享7个会影响性能和用户体验的DevOps实践和方法。1.从一开始就在应用程序中构建安全实践DevOps团队最不需要的就是部署具有安全漏洞的新功能。安全中断或降级会影响用户体验并造成重大业务问题。DevOps最佳实践是通过与信息安全部门就需求进行协作、测试CI/CD管道中的漏洞代码以及在软件开发中实施其他安全实践来实现安全转变。Akamai高级开发倡导者MikeElissen说:“应用程序可靠性的一个关键组成部分是可用性,采取适当的步骤来正确保护应用程序免受Web应用程序攻击、DDoS攻击等可能意味着在两者之间保持在线和离线。”Elissen说,左移是从DevOps到DevSecOps转变的一部分。他继续说,“我们看到在为DevOps增加安全性方面出现了更明显的‘左移’,最终创造了更强大的devsecops文化,并让更多的开发人员意识到并批判他们的应用程序。安全是有责任的。”2.标准化架构和基础设施蓝图Quali产品管理副总裁AmirRozenberg指出了一个影响团队绩效的问题。他说:“许多DevOps团队发现自己组织了早期真诚开发的有机增长的混乱应用程序基础设施定义,以提高团队在软件开发生命周期中的效率。”Rozenberg询问DevOps团队是否应该采用自己动手的方法来创建环境,或者组织是否应该创建标准。“推荐的方法是建立一个中央团队,将环境建模为蓝图,使它们可靠、可重用和合规,”他说。然后,他们需要能够分发这些基础架构定义,以便业务成员可以通过快速自助服务使用它们,无论是集成到自动化管道中还是手动。3.在您的CI/CD管道中构建可观察性和持续测试66degrees的DevOps主管MattSollie认为CI/CD可以做的不仅仅是打包和推送代码。“并非所有DevOps原则都像持续测试,”他说。交付或构建一切都与代码一样迷人或可见,但它们同样重要。持续集成是成熟的DevOps态势不可或缺的一部分,可以大大提高应用程序的可靠性,但需要有目的、远见和时间才能以有意义的方式构建。Sollie承认,实现可靠性和性能目标不仅需要远见,还需要对实践和优化架构进行投资。“可观察性是一门关键且昂贵的学科,因为可靠性不是开或关,它需要细微差别。”数据采集??。与所有云计算服务一样,为工作选择正确的工具或服务会带来内在的可靠性和性能优势。“敏捷开发团队应该在他们的管道中实施什么来提高性能?这里有一些建议:在增加部署频率之前实施持续测试考虑使用服务虚拟化来测试微服务和第三方API确保可观察的CI/CD管道改进故障检测和隔离管道问题4.使用功能标志和金丝雀版本控制进行部署正在迅速成为提高应用程序整体可靠性的关键因素。性能和性能的首选开发实践,同时允许开发人员不断创新。通过使用功能标志,开发人员可以在生产前测试功能更新,以在发布前修复问题。“这些控制改进可靠性和性能,同时也有助于ng开发团队最大限度地减少中断。功能标志提高了性能,同时为开发团队提供了必要的控制权,可以在不中断或中断的情况下更新应用程序,”Kodumal说。关闭。5.建立严格的可观察性和监控标准现在关注DevOps职责的操作方面,团队应该考虑几个最佳实践来提高应用程序性能,包括制定可观察性标准和改进监控。Mindee开发人员关系总监FrédéricHarper表示:“DevOps必须实施严格的监控和可观察性流程,以确保应用程序的每个部分都正常运行,并且服务器进程平稳运行。通过保护这个元素,DevOps团队可以收集有价值的信息,以了解用户如何使用应用程序,潜在地预防未来的问题,更轻松地支持客户,并根据真实数据改进业务或架构决策。”6.使用AIOps和自动化来扩展Web2.0时代的监控,当出现宕机或性能问题时,运维人员只有很少的日志文件和监控工具可以查看,而在微服务、Serverless应用、多云数据库的今天,意味着更多的数据和工具需要查阅在排除故障和确定问题的根本原因时。AIops平台可以集中监控数据,使用机器学习关联警报,并帮助操作员跨多个平台自动响应和恢复,这有助于最大限度地减少性能影响。产品营销副总裁MohanKompellaBigPanda同意:“AIOps平台可以帮助DevOps团队维护工具自主性和灵活性,同时还为集中的事件响应者提供了他们成为中断首选解决方案所需的可见性。第一道防线。”7.定义SLO和错误预算DevOps团队应该在哪些实践产生最大收益和应对风险之间取得平衡。这需要团队衡量、学习DevOps优先级并与之协作,这并不容易,因为在实施实践和工具后可能无法实现收益数月或数年。确定优先级的一种方法是采用站点可靠性工程实践、定义服务级别目标(SLO)并使用错误预算。当应用程序或微服务超出其错误预算时,它会向DevOps团队发出信号,找出原因并专注于解决方案。Nobl9的首席运营官KitMerker说:“服务水平目标为工程团队设定了明确的目标,以更好地决定如何确定工作的优先级。开发人员和ITop不仅可以以技术为中心,还可以转向以服务为中心。”DevOps团队有很多事情要做,DevOps最佳实践帮助团队在加速开发与提高可靠性和性能之间取得平衡。成功的关键可能在于定义问题陈述、讨论方法、迭代解决方案和衡量影响。原标题:提升应用性能的7个devops实践
