《VMware开发测试云(DevOps)》解决方案建议书.docx
《《VMware开发测试云(DevOps)》解决方案建议书.docx》由会员分享,可在线阅读,更多相关《《VMware开发测试云(DevOps)》解决方案建议书.docx(142页珍藏版)》请在课桌文档上搜索。
1、VMWare开发测试云(DeVoPS)解决方案建议书文档信息与变更记录文档名称VMWare开发测试云(DeVoPS)解决方案建议书作者周晶邮箱jingz版本V1.0变更记录2023.07.17V1.0初稿文档描述VMWare开发测试云(DevOPS)解决方案建议书,包括产品:vRealizeCodeStreamvRealizeAutomationnVSAN和NSXo目录1 开发测试行业现状及需求分析41.1 开发测试现状41.2 传统开发测试架构和流程61.3 开发测试新需求72 VMWare开发测试云(DeVOPS)解决方案概述92.1 方案概览92.1.1 平台架构102.1.2 功能特性
2、132.2 产品组件152.2.1 持续交付vRealizeCodeStream162.2.2 服务调配vRealizeAutomation172.2.3 软件定义的存储VSAN232.2.4 软件定义的网络NSX283 VMWare开发测试云(DeVOPS)解决方案技术详解343.1 持续交付vRealizeCodeStream343.2 服务调配vRealizeAutomation373.2.1 业务组成元素373.2.2 构成组件413.2.3 主要功能433.3 软件定义的存储VSAN733.3.1 体系结构743.3.2 基于存储策略的管理753.4 软件定义的网络NSX803.4.
3、1 基本组件803.4.2 工作原理823.4.3 主要功能834 VMwareDevOps方法论954.1 总体指导原则954.2 服务调配方法论964.2.1 关于服务964.2.2 服务的调配管理984.2.3 服务设计和开发管理1005 VMWareDeVoPS部署建议1045.1 服务调配部署建议1045.1.1 基础架构服务调配规划1045.1.2 应用服务调配规划1175.2 软件定义存储部署建议1185.2.1 部署要求1185.2.2 规划设计细则1205.2.3 部署最佳实践1245.3 软件定义网络部署建议1255.3.1 逻辑交换1255.3.2 逻辑路由1275.3.
4、3 逻辑负载均衡1296方案优势总结1327 DeVOPS实施步骤与成功案例1367.1 实施步骤1367.2 成功案例1368 缩略语解释.1381开发测试行业现状及需求分析1.1 开发测试现状现在,人们越来越多的意识到传统意义上的开发行为和运维行为存在脱节现象,从而导致冲突和低效,正如李汤普森(LeeThompson)和安德鲁谢福尔(AndreWShafer)所言,在开发和运维之间存在一面“混乱之墙”。相互冲突的动机、流程和工具导致了这面“墙”的存在。DevelopmentOperations图:开发与运维之间的“混乱之墙”以开发为中心的人通常认为,变化会带来回报,企业依靠他们来应对不断变
5、化的需求,因此他们被鼓励尽可能进行变革。而运维人员则往往视变化为敌人,企业依靠他们维持正常业务运维和实施让企业赚钱的服务。由于变化会影响稳定性和可靠性,运维业务有理由对它说不。我们多次听到过如下统计数字:在所有宕机事件中有80%情况是源于自杀式的改变。更糟糕的是,开发和运维团队通常处于公司组织架构的不同部分,通常具有不同的管理者和竞争关系,而且通常工作在不同的地点。图:开发与运维通常工作在不同的地点此外,让混乱之墙更坚固的还包括开发和运维工具之间的错位。开发者要求和日常使用的常见工具与系统管理员所使用的工具存在很大不同,开发人员没有兴趣使用运维人员的工具,反之亦然。而且两部分工具之间也不存在重
6、要的集成,即使在某些工具类型上有一些重叠之处,使用方式也完全不同。图:开发与运维常用工具的不集成当应用程序变动需要从开发团队推向运维团队时,混乱之墙的存在将变得更加明显,如下图所示。图:应用程序变动从开发到运维开发人员把一个软件版本“扔”给墙对面的运维人员,后者拿到该版本产品后开始准备将其部署。运维人员手动修改由开发者提供的部署脚本或创建自己的脚本,他们还需要修改配置文件来适应与开发环境大不相同的真实生产环境。最完美的情况是,他们重复在此前环境中已完成的工作,而糟糕的情况却是,他们将引入或发现新的漏洞。运维人员然后开始进行他们自认为正确的部署过程,但是由于开发和运维之间的脚本、配置、过程和环境
7、存在差别,这一部署过程实际上也是首次被执行。这一期间如果产生一个问题,开发人员会被要求来帮助进行排障。运维人员会说开发团队给的产品存在问题,而开发人员则会回应称该产品在他们的环境下运行良好,因此一定是运维人员在部署的过程中做错了什么。由于配置、文件存储位置和过程的不同,开发人员诊断问题也并非一件易事。可见,由于没有一个可靠的方式来把环境回滚到此前已知的正常状态,本来应该一帆风顺的部署过程最后变成一场救火行动,经过反复测试之后才让生产环境恢复到正常状态。上述这些状况在目前的开发测试行业极其普遍。可见,部署阶段已经非常明显的需要开发和运维之间的协作来解决问题,但需要这种协作的绝不仅仅是这一阶段。正
8、如约翰阿尔斯帕瓦(JohnAllspaw)所指出的那样,开发和运维之间的协作需求在部署之前就已存在,同时也会在部署之后的长时间之内继续存在。1.2 传统开发测试架构和流程传统开发测试架构和流程是导致上述状况的主要原因。传统的开发测试中,由于组织结构、文化以及技术局限性的多种原因,开发、测试和运维各自相互独立,每个阶段都需要一套复杂繁琐的流程,如下图所示。图:传统开发、测试与生产开发人员用务HH网络*(数器阵H中1可件I垄碳环境H4Iar代科1r构Sl)屈名注JI名裂、一L/JJ在组织中,开发测试和运维管理往往属于不同的部门。开发测试部门的驱动力通常是“频繁交付新特性”,而运维部门则更关注IT服
9、务的可靠性和IT成本投入的效率。两者目标的不匹配,就在开发测试与运维部门之间造成了鸿沟,从而减慢了IT交付业务价值的速度,如下图所示。业务 需求采购 审批软件 开发图:各部门之间的鸿沟上述开发测试架构和流程会在开发测试与系统运维中制造诸多的不协调与矛盾。 开发人员经常不考虑自己写的代码会对运营造成什么影响,他们在交付代码之前,并不邀请运营人员参与架构决策或代码评审。 开发人员对配置或环境进行修改之后,经常没有及时与运营人员沟通,导致新的代码不能运行。 开发人员在自己的机器上手工修改配置,而没有记录所有需要的步骤。想找到必要的配置参数,通常需要尝试很多不同的参数,在得到一个可工作的状态后,往往很
10、难识别出通过哪些最小步骤就能到达该状态。 开发人员倾向于使用有利于快速开发的工具:对代码修改更快的反馈,更低的内存消耗,等等。这样的工具集与运营人员面对的目标运行时环境非常不同:后者对稳定性和性能的要求远胜于灵活性。 由于开发人员平时使用桌面电脑,他们倾向于使用为桌面用户优化的操作系统。生产环境的运行时系统通常都运行服务器操作系统上。 在开发过程中,系统在开发者的本地机器上运行。在运营过程中,系统经常分布在多台服务器上,例如Web服务器、应用服务器、数据库服务器等等。 开发是由功能性需求(通常与业务需求直接相关)驱动的。而运营是由非功能性需求(例如可获得性、可靠性、性能等)驱动的。 运营人员希
11、望尽量避免修改功能,从而降低满足非功能性需求的风险 如果拒绝了小的修改,但给定时间段内需要修改的总量不变,那么每次变更的规模就会变大 变更规模越大,风险也越大,因为其中涉及的区域越多 由于运营人员尝试避免变更,新功能流入生产环境的速度因此被延缓,从而延缓了开发人员将特性交付给用户使用的速度。 运营人员可能对应用程序内部缺乏了解,从而难以正确地选择运行时环境和发布流程。 开发人员可能对运行时环境缺乏了解,从而难以正确地对代码进行调整。由于上述这些不协调与矛盾,现有开发测试架构存在如下问题。 研发效率低,应用上线速度慢 开发测试环境搭建从资源申请、购买到使用手工配置需时较长,影响进度 开发测试所需
12、的IT资源管理不灵活,申请分配环节多,且使用率不高 开发测试资源申请周期长,影响工作效率 大型软件企业各部门独立开发环境易形成孤岛,管理成本较高 开发测试所需的硬件和软件环境对初创软件企业来说成本过高,使用开源软件的配置和掌握需时较多影响效率1.3开发测试新需求基于上述当前开发测试架构存在的诸多问题,开发测试行业的新需求如下所示。业务层面 如何快速业务创新 如何快速占领市场 如何获得竞争优势产品研发层面 如何快速交付应用 如何让研发人员更专注于产品 如何提高产品质量架构和运维层面 如何更好支撑应用 如何提高运维效率 如何降低IT成本 如何维护统一的IT运维流程上述三方面的新需求是为了让企业在市
13、场、成本与风险层面达到最大程度的协调与统一,如下图所示。如何快速业务创新?如何快速占领市场?如何获得竞争优势?如何更好支撑应用? 如何提高运维效率? 如何降低IT成本? 如何维护统一的IT运场本险市成风如何快速交付应用? 如何让研发人员更 专注于产品? 如何提高产品质量?图:开发测试新需求2VMware开发测试云(DeVoPS)解决方案概述本章将对VMware开发测试云(DeVoPS)解决方案进行概述。2.1 方案概览从应用架构与基础架构的角度看,VMWare开发测试云(DeVoPS)解决方案属于第三代开发测试平台,不同于以ERP等传统应用为代表的第二代平台,第三代平台以社交、移动和云为特点。
14、VMware开发测试云平台基于软件定义的基础架构,并采用自动化的方式进行交付。同时,应用的开发和部署也通过自动化的方式来完成,如下图所示。图:VMWareDeVoPS属于第三代平台VMware开发测试云(DeVOPS)平台通过如下方式实现。 从应用开发与基础架构两个层面面向DeVoPS进行转型 打通研发与生产运维体系,逐步推进构建DeVOPS团队 采用统一的工具VReaIizeCodeStream自动化管理整个软件研发周期 采用VReaIizeAutomation进行研发,预生产,生产环境的资源自动化部署 采用NSX进行网络微分段,同时提供多个相同环境(含网络)并行开发测试进程,加快软件发布
15、采用VRealiZeAUtOmatiOrl跨开发、测试、生产进行应用平台的自动化部署 通过部署VSAN作为研发平台的后端存储 包含的产品: VRealizeCodeStream vRealizeAutomation VSAN NSXDevOps平台在构建过程中的要点如下所示。 协作:开发运维共同定义环境并共享 定义:端到端的交付生产线,整合的自动化流程(集成,发布,部署,测试) 执行:在与生产环境一致的测试环境自动化部署和测试 报告:按照实例报告代码变更,软件发布和测试结果 持续集成:持续集成代码,持续发布应用 持续部署:弹性云服务平台管理,保证开发、测试、准生产、生产的环境完全一致,持续部署
16、新发布的应用及其底层环境,包含监控部分 持续测试:持续自动化测试 持续监控:持续对测试,准生产和生产环境提供自动化的监控和性能评估,并反馈给开发该平台彻底将开发、测试、试运行和生产打通,如下图所示。持续集成代码持续发布应用开发测试试运行 生产弹性云服务平台管理,保证 开发、测试、准生产、生产的 环境完全一致,持续部署新发 布的应用及其底层环境,包含 监控部分-持续自动化测试O持续监控-持续对产利生产环_并反馈给开发图:VMWare平台彻底打通各个阶段2.1.1平台架构VMware开发测试云(DeVOPS)平台架构如下图所示。应用持续交付(VReaIiZe CodeStream)应用发布管道Re
17、IeaSe Pipeline站部 多点署Virtual SAN 共享 Datastore图:开发测试云平台架构该平台通过VSAN作为后端存储,利用NSX网络微分段促进软件并行开发。上层使用vRealizeAutomation来完成自动化部署。同时,DevOps平台通过vRealizeCodeStream提供应用持续交付以实现频繁、可靠的软件发布,同时还能降低运维风险。VMWareDeVoPS通过构建统一云平台,将所有的阶段进行整合,实现系统管理、开发人员、测试人员在同一的门户下进行操作,真正的实现资源的统一整合,如下图所示。图:资源统一整合DeVOPS平台使用VSAN作为开发测试云的后端存储,
18、如下图所示。vSphere+VirtualSANHBdlkVirtualSANSharedDatastore图:VSAN该方式具有如下价值应用感知的性能控制部署简单,管理方便与vSphere紧密集成-基于策略驱动经济高效的存储-运行于标准X86服务器-容易纵向,横向扩展,无需初次采购大存储同时,该平台还利用NSX网络微分段促进软件并行开发,如下图所示。测试组1测试组2测试组3VirtualSAN共享Datastore图:NSX微,分段该方法将一套物理网络虚拟成多套相同配置逻辑网络,实现自动化部署和并行测试。2.1.2功能特性VMWare开发测试云平台(DeVOPS)具有如下功能特性。图:功能特
19、性提供个性化的自助式体验 通过统一的IT服务目录交付基础架构、应用和自定义服务 凭借基于策略的个性化行政管理满足适当服务级别的特定业务需求 自动执行和加速IT服务交付自动化管理开发、测试与生产部署整个软件生命周期一次应用建模,随地部署 使用具有拖放界面的可视画布将预构建的组件组合为各种应用,从而简化设计流程 凭借跨混合云的标准化且一致的配置,快速部署基础架构和应用服务 通过利用一系列即时可用的内容和对现有配置管理工具(例如Chef、Puppet和SaItStack)的投资,加速工作负载部署并行开发与测试,加速开发进度 利用NSX的Micro-segmentation功能自动化交付多套相同网络配
20、置的研发环境 并行项目测试与开发通过可延展的自动化平台实现最短的价值实现时间 内置全面的专门构建的功能和广泛的多供应商、多云支持 调整和扩展专门构建的全面VRealiZeAutomation功能 自动执行自定义IT服务的交付 利用VMware云计算管理市场中由VMware和合作伙伴提供的解决方案实现持续交付 对发布管道进行建模,并执行发布 通过筛选规则在发布的各个阶段实施行政监管 可简化和自动执行软件交付流程跨版本提供可见性 跨发布阶段提供一致的视图 跟踪项目以确保各个阶段均使用正确的版本 通过发布仪表盘提供端到端的执行可见性与持续集成工具集成 使用JFrogArtifactory来利用对现有
21、工具和技能的投资 使用Artifactory插件将项目纳入发布管道 可与Jenkins、Yum、ArtifactoryGit实现即时可用的集成与持续集成工具集成 用于调配和部署软件的框架 可通过VRealiZeAUtOmatiorI,同时借助PUPPet、Chef、SaltstackAnSible、CFEngine等配置管理工具,甚至是自定义脚本来部署应用环境上述功能特性使得DeVOPS平台可以在业务、产品研发与IT运维三个层面很好的满足开发测试行业的新需求,为企业带来如下收益,进一步提高企业市场竞争力、降低成本与风险。业务层面 业务创新更快 占领市场更快 竞争优势更强产品研发层面 交付应用更
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VMware开发测试云DevOps VMware 开发 测试 DevOps 解决方案 建议书
链接地址:https://www.desk33.com/p-863652.html