【云原生】如何有效实施DevOps
1.定义典型的DevOps工作流程
典型的DevOps工作流程可以简化为4个阶段: 版本控制:这是存储和管理源代码的阶段。版本控件包含代码的不同版本。 持续集成:在这一步中,开发人员开始构建组件,并对其进行编译,验证,然后通过代码审查,单元测试和集成测试进行测试。 持续交付:这是持续集成的下一个层次,其中发布和测试过程是完全自动化的。CD确保将新版本快速,可持续地交付给最终用户。 持续部署:应用程序成功通过所有测试要求后,将自动部署到生产服务器上以进行发布,而无需任何人工干预。
2.DevOps的核心操作是什么?
DevOps在开发和基础架构方面的核心运营是Software development: Infrastructure: Provisioning Configuration Orchestration Deployment Code building Code coverage Unit testing Packaging Deployment
3.在实施DevOps之前,团队需要考虑哪些预防措施?
当组织尝试应用这种新方法时,对DevOps做法存在一些误解,有可能导致悲惨的失败: DevOps不仅仅是简单地应用新工具和/或组建新的〃部门〃并期望它能正常工作。实际上,DevOps被认为是一种文化,开发团队和运营团队遵循共同的框架。 企业没有为其DevOps实践定义清晰的愿景。对开发团队和运营团队而言,应用DevOps计划是一项显着的变化。因此,拥有明确的路线图, 将DevOps集成到你的组织中的目标和期望将消除任何混乱,并从早期就提供清晰的指导方针。 在整个组织中应用DevOps做法之后,管理团队需要建立持续的学习和 改进文化。系统中的故障和问题应被视为团队从错误中学习并防止这些错误再次发生的宝贵媒介。
4. SCM团队在DevOps中扮演什么角色?
软件配置管理(SCM)是跟踪和保留开发环境记录的实践,包括在操作系统中 进行的所有更改和调整。 在DevOps中,将SCM作为代码构建在基础架构即代码实践的保护下。 SCM为开发人员简化了任务,因为他们不再需要手动管理配置过程。现在,此过程 以机器可读的形式构建,并且会自动复制和标准化。
5.质量保证(QA)团队在DevOps中扮演什么角色?
随着DevOps实践在创新组织中变得越来越受欢迎,QA团队的职责和相关性 在当今的自动化世界中已显示出下降的迹象。 但是,这可以被认为是神话。DevOps的增加并不等于QA角色的结束。这仅意味 着他们的工作环境和所需的专业知识正在发生变化。因此,他们的主要重点是专业 发展以跟上这种不断变化的趋势。 在DevOps中,质量保证团队在确保连续交付实践的稳定性以及执行自动重复性测 试无法完成的探索性测试任务方面发挥战略作用。他们在评估测试和检测最有价值 的测试方面的见识仍然在缓解发布的最后步骤中的错误方面起着至关重要的作用。
6. DevOps使用哪些工具?描述你使用任何这些工具的经验
在典型的DevOps生命周期中,有不同的工具来支持产品开发的不同阶段。因 此,用于DevOps的最常用工具可以分为6个关键阶段: 持续开发:Git, SVN, Mercurial, CVS, Jira 持续整合:Jenkins, Bamboo, Circled 持续交付:Nexus, Archiva, Tomcat 持续部署:Puppet, Chef, Docker 持续监 控:Splunk, ELK Stack, Nagios 连续测试:Selenium, Kataion Studio
7.如何在DevOps实践中进行变更管理
典型的变更管理方法需要与DevOps的现代实践适当集成。第一步是将变更集 中到一个平台中,以简化变更,问题和事件管理流程。 接下来,企业应建立高透明度标准,以确保每个人都在同一页面上,并确保内部信 息和沟通的准确性。 对即将到来的变更进行分层并建立可靠的策略,将有助于最大程度地降低风险并缩 短变更周期。最后,组织应将自动化应用到其流程中,并与DevOps软件集成。