SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
1EMC CONFIDENTIAL—INTERNAL USE ONLY
1
2EMC CONFIDENTIAL—INTERNAL USE ONLY
基于虚拟化技术的分布式软
件测试框架	
邵育亮@EMC
3EMC CONFIDENTIAL—INTERNAL USE ONLY
内容提要	
分布式软件系统测试现状
Tangram分布式软件测试框架
Tangram的价值
4EMC CONFIDENTIAL—INTERNAL USE ONLY
分布式系统	
•  广泛应用
–  金融、教育、电力、交通
–  互联网、高科技产业
•  高可靠性要求
需要系统的、持续的测试
5EMC CONFIDENTIAL—INTERNAL USE ONLY
现状一:组件测试代替系统测试	
•  组件测试 vs. 系统测试
–  组件测试
–  系统测试
•  出现原因
–  环境搭建复杂且耗时
–  组件测试更加适应快速迭代
•  现状分析
–  组件安全 ≠ 系统安全
–  系统测试不仅“必要”而且“必须”
6EMC CONFIDENTIAL—INTERNAL USE ONLY
现状二:单一环境进行多种测试	
•  出现原因
–  环境搭建复杂,尤其是大型系统
–  系统级迭代较为缓慢
•  现状分析
–  系统环境不确定
–  多种测试相互干扰
–  无法重现系统状态
–  无法满足快速迭代的需求
7EMC CONFIDENTIAL—INTERNAL USE ONLY
分布式软件测试中的问题	
1 如何快速搭建测试环境
2 如何保持“纯净”的被测环境
3 如何重现出错时系统状态
4 如何适应快速迭代的要求
8EMC CONFIDENTIAL—INTERNAL USE ONLY
解决方案	
•  虚拟化技术
–  OS层面的纯净
–  系统状态的克隆和还原
•  自动化部署
–  复杂的分布式系统的部署支持
•  API接口
–  支持外部测试框架的集成
9EMC CONFIDENTIAL—INTERNAL USE ONLY
虚拟化技术与系统测试结合	
•  虚拟化的技术特性
–  软件实现
–  隔离运行
–  封装抽象
•  虚拟化技术的优势
–  避免资源闲置(9-9-1)
–  提供单纯的测试环境
–  支持系统状态还原
10EMC CONFIDENTIAL—INTERNAL USE ONLY
测试环境的自动化部署	
•  支持多种CI服务
•  跨产品部署支持
•  多节点与差异化部署
•  与外部测试执行框架无缝整合
•  一次配置,重复使用
•  动态节点扩展
11EMC CONFIDENTIAL—INTERNAL USE ONLY
现有部署系统	
•  开源自动化部署系统
–  BOSH,Puppet 等等
•  特点
–  专注于生产环境的自动化部署运维
–  不支持复杂依赖关系的系统部署
–  不支持节点动态调整
构建Tangram自动化部署框架
12EMC CONFIDENTIAL—INTERNAL USE ONLY
Tangram 分布式软件系统测试框架	
•  完整的自动化测试周期
–  自动构建
–  自动部署
–  自动测试
–  报告生成
•  利用闲置资源换取时间
–  并行部署
–  并行测试
–  报告合并
代码更新
自动构建
自动部署
自动测试
报告生成
构建build
并行部署多套环境
并行执行不同测试集
报告合并
13EMC CONFIDENTIAL—INTERNAL USE ONLY
Tangram 分布式软件系统测试框架	
•  分布式软件的自动化部署
•  纯净隔离的测试环境
•  出错状态还原
•  与CI工具集成	
无缝对接现有
CI工具
利用模板实
现自动部署
Tangram
结合虚拟化技
术,提供洁净
测试环境
利用系统快
照实现错误
重现
14EMC CONFIDENTIAL—INTERNAL USE ONLY
Tangram 工作流程	
测试报告	
系统快照集	
NFS	
任务调度
服务器	
部署模板	
虚拟机模板	
自动部署	
测试集	
自动测试	
版本控制库	
轮询	
持续构建
服务器	
CI
15EMC CONFIDENTIAL—INTERNAL USE ONLY
利用模板实现自动部署	
部署模板 定义了部署所需的虚拟机模板信息、
build信息和安装步骤
虚拟机模板
包含了标准的OS和用于接收和执行
安装任务的Agent
测试机群按照模板定义的步骤提取
安装文件并完成环境部署
16EMC CONFIDENTIAL—INTERNAL USE ONLY
部署模板	
•  虚拟机模板
–  IaaS系统支持的模板
–  纯净的OS
–  Puzzle客户端
•  部署模板
–  节点Hash规则
–  虚拟机模板信息
–  持续集成服务器信息
–  部署流程
17EMC CONFIDENTIAL—INTERNAL USE ONLY
部署流程	
•  并行化
•  不同节点之间的依赖关系
•  部署过程中的实时监控
18EMC CONFIDENTIAL—INTERNAL USE ONLY
利用模板实现自动部署	
•  任务调度服务器
•  部署模板	
任务调度服务器	
虚拟机模板	
部署模板	
IaaS	
创建虚拟机	
克隆	
任务分配
19EMC CONFIDENTIAL—INTERNAL USE ONLY
任务调度服务器 - Tangram	
•  部署模板高度定制
•  全程监控部署过程
•  支持差异化安装
•  支持任务失败重试
•  支持虚拟机状态监控
•  支持模板热维护
•  提供Web UI和REST API
20EMC CONFIDENTIAL—INTERNAL USE ONLY
任务调度服务器的实现	
Access Interface
Web UI REST API
Health
Monitor	
Service
Monitor	
Task
Monitor	
Monitor Component
Monitors	
ESB
Template
Parser
Resource
Gainer
VM
Creator
Template
Checker
Job
Scheduler
Report
Collector
Virtual Machines	
Test-case library	
 Snapshot library	
 System Info	
Task Info
21EMC CONFIDENTIAL—INTERNAL USE ONLY
Client端 - Puzzle	
•  功能
–  接收和执行任务
–  监视虚拟机的运行状况
–  上报任务执行情况和虚拟机信息
•  特性
–  不包含任何逻辑
–  产品无关
–  超时机制
	
[download]	
[unzip]	
[scripts]	
[execute]	
[monitor]	
[blob]	
[file]
22EMC CONFIDENTIAL—INTERNAL USE ONLY
Tangram 的价值	
•  高效的资产利用
–  通过虚拟化技术,提高物理设备的利用率
•  产品质量提高
–  通过持续、反复的系统集成测试,保证产品质量
•  加速产品迭代
–  通过完全迭代的开发-测试周期,缩短产品发布周期
生产率提高,产品质量保证,资源浪费减少,开发成本降低
23EMC CONFIDENTIAL—INTERNAL USE ONLY
案例分析
某项目A
•  准备环境 :2小时
•  回归测试:37小时
某项目A
•  全程自动化
•  准备环境+
回归测试+
资源回收=9小时
某项目B
•  准备环境:1小时
•  回归测试 : 40分钟
某项目B
•  一次完整回归测试
= 50 分钟
采用Tangram之前	
采用Tangram之后
24EMC CONFIDENTIAL—INTERNAL USE ONLY
不仅仅是测试	
•  Tangram大幅简化了分布式软件
的部署工作,开发人员不必手动
搭建软件环境
•  高度可定制的模板可以胜任大多
数分布式软件的安装描述
•  可以作为通用的分布式软件部署
工具
25EMC CONFIDENTIAL—INTERNAL USE ONLY
THANK YOU
Q&A
26EMC CONFIDENTIAL—INTERNAL USE ONLY
THANK YOU
26
@Info
Q
infoqchina

Contenu connexe

Similaire à 基于虚拟化技术的分布式软件测试框架

复件 大型网站性能测试方案的制定与实践
复件 大型网站性能测试方案的制定与实践复件 大型网站性能测试方案的制定与实践
复件 大型网站性能测试方案的制定与实践
sharetojsl
 
議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析
Nicolas su
 
广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf
bj_qa
 
Foundation of software development 2
Foundation of software development 2Foundation of software development 2
Foundation of software development 2
netdbncku
 
Top100summit 宗刚-全生命周期性能评估体系的实践
Top100summit 宗刚-全生命周期性能评估体系的实践Top100summit 宗刚-全生命周期性能评估体系的实践
Top100summit 宗刚-全生命周期性能评估体系的实践
drewz lin
 
易仁Mes解决方案介绍 website-20120228
易仁Mes解决方案介绍 website-20120228易仁Mes解决方案介绍 website-20120228
易仁Mes解决方案介绍 website-20120228
azhe
 
易仁Mes解决方案介绍 website
易仁Mes解决方案介绍 website易仁Mes解决方案介绍 website
易仁Mes解决方案介绍 website
azhe
 
敏捷自动化测试中的教训 45min 中文
敏捷自动化测试中的教训 45min   中文敏捷自动化测试中的教训 45min   中文
敏捷自动化测试中的教训 45min 中文
Shuyong Lin
 
安可科技
安可科技安可科技
安可科技
5045033
 
安可科技 (1)
安可科技 (1)安可科技 (1)
安可科技 (1)
5045033
 

Similaire à 基于虚拟化技术的分布式软件测试框架 (20)

敏捷软件测试之简介
敏捷软件测试之简介敏捷软件测试之简介
敏捷软件测试之简介
 
复件 大型网站性能测试方案的制定与实践
复件 大型网站性能测试方案的制定与实践复件 大型网站性能测试方案的制定与实践
复件 大型网站性能测试方案的制定与实践
 
議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析議題三:政府網站常見弱點與分析
議題三:政府網站常見弱點與分析
 
组网与网络管理技术(第四章)
组网与网络管理技术(第四章)组网与网络管理技术(第四章)
组网与网络管理技术(第四章)
 
广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf广告技术部自动化测试介绍.pdf
广告技术部自动化测试介绍.pdf
 
系統05_從持續整合結合安全開發與變更管理 郭俐佳
系統05_從持續整合結合安全開發與變更管理 郭俐佳系統05_從持續整合結合安全開發與變更管理 郭俐佳
系統05_從持續整合結合安全開發與變更管理 郭俐佳
 
Foundation of software development 2
Foundation of software development 2Foundation of software development 2
Foundation of software development 2
 
2011性能测试技术
2011性能测试技术2011性能测试技术
2011性能测试技术
 
服务器性能测试介绍
服务器性能测试介绍服务器性能测试介绍
服务器性能测试介绍
 
Qa engineer training
Qa engineer trainingQa engineer training
Qa engineer training
 
Top100summit 宗刚-全生命周期性能评估体系的实践
Top100summit 宗刚-全生命周期性能评估体系的实践Top100summit 宗刚-全生命周期性能评估体系的实践
Top100summit 宗刚-全生命周期性能评估体系的实践
 
GPM Light Professional綠色供應鏈管理系統介紹
GPM Light Professional綠色供應鏈管理系統介紹GPM Light Professional綠色供應鏈管理系統介紹
GPM Light Professional綠色供應鏈管理系統介紹
 
GPM Light Professional綠色供應鏈管理系統介紹
GPM Light Professional綠色供應鏈管理系統介紹GPM Light Professional綠色供應鏈管理系統介紹
GPM Light Professional綠色供應鏈管理系統介紹
 
易仁Mes解决方案介绍 website-20120228
易仁Mes解决方案介绍 website-20120228易仁Mes解决方案介绍 website-20120228
易仁Mes解决方案介绍 website-20120228
 
易仁Mes解决方案介绍 website
易仁Mes解决方案介绍 website易仁Mes解决方案介绍 website
易仁Mes解决方案介绍 website
 
200807相機影像傳輸介面技術-致茂
200807相機影像傳輸介面技術-致茂200807相機影像傳輸介面技術-致茂
200807相機影像傳輸介面技術-致茂
 
敏捷自动化测试中的教训 45min 中文
敏捷自动化测试中的教训 45min   中文敏捷自动化测试中的教训 45min   中文
敏捷自动化测试中的教训 45min 中文
 
AVM虛擬量測需求與應用趨勢
AVM虛擬量測需求與應用趨勢AVM虛擬量測需求與應用趨勢
AVM虛擬量測需求與應用趨勢
 
安可科技
安可科技安可科技
安可科技
 
安可科技 (1)
安可科技 (1)安可科技 (1)
安可科技 (1)
 

Plus de drewz lin

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-keary
drewz lin
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013
drewz lin
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13
drewz lin
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrich
drewz lin
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2
drewz lin
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2
drewz lin
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
drewz lin
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equal
drewz lin
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
drewz lin
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansen
drewz lin
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaola
drewz lin
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_edits
drewz lin
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentation
drewz lin
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
drewz lin
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martin
drewz lin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowasp
drewz lin
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usa
drewz lin
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013
drewz lin
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈
drewz lin
 
无线App的性能分析和监控实践 rickyqiu
无线App的性能分析和监控实践 rickyqiu无线App的性能分析和监控实践 rickyqiu
无线App的性能分析和监控实践 rickyqiu
drewz lin
 

Plus de drewz lin (20)

Web security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-kearyWeb security-–-everything-we-know-is-wrong-eoin-keary
Web security-–-everything-we-know-is-wrong-eoin-keary
 
Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013Via forensics appsecusa-nov-2013
Via forensics appsecusa-nov-2013
 
Phu appsec13
Phu appsec13Phu appsec13
Phu appsec13
 
Owasp2013 johannesullrich
Owasp2013 johannesullrichOwasp2013 johannesullrich
Owasp2013 johannesullrich
 
Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2Owasp advanced mobile-application-code-review-techniques-v0.2
Owasp advanced mobile-application-code-review-techniques-v0.2
 
I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2I mas appsecusa-nov13-v2
I mas appsecusa-nov13-v2
 
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolfDefeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
Defeating xss-and-xsrf-with-my faces-frameworks-steve-wolf
 
Csrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equalCsrf not-all-defenses-are-created-equal
Csrf not-all-defenses-are-created-equal
 
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
Chuck willis-owaspbwa-beyond-1.0-app secusa-2013-11-21
 
Appsec usa roberthansen
Appsec usa roberthansenAppsec usa roberthansen
Appsec usa roberthansen
 
Appsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaolaAppsec usa2013 js_libinsecurity_stefanodipaola
Appsec usa2013 js_libinsecurity_stefanodipaola
 
Appsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_editsAppsec2013 presentation-dickson final-with_all_final_edits
Appsec2013 presentation-dickson final-with_all_final_edits
 
Appsec2013 presentation
Appsec2013 presentationAppsec2013 presentation
Appsec2013 presentation
 
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitationsAppsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
Appsec 2013-krehel-ondrej-forensic-investigations-of-web-exploitations
 
Appsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martinAppsec2013 assurance tagging-robert martin
Appsec2013 assurance tagging-robert martin
 
Amol scadaowasp
Amol scadaowaspAmol scadaowasp
Amol scadaowasp
 
Agile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usaAgile sdlc-v1.1-owasp-app sec-usa
Agile sdlc-v1.1-owasp-app sec-usa
 
Vulnex app secusa2013
Vulnex app secusa2013Vulnex app secusa2013
Vulnex app secusa2013
 
新浪微博稳定性经验谈
新浪微博稳定性经验谈新浪微博稳定性经验谈
新浪微博稳定性经验谈
 
无线App的性能分析和监控实践 rickyqiu
无线App的性能分析和监控实践 rickyqiu无线App的性能分析和监控实践 rickyqiu
无线App的性能分析和监控实践 rickyqiu
 

基于虚拟化技术的分布式软件测试框架

  • 2. 2EMC CONFIDENTIAL—INTERNAL USE ONLY 基于虚拟化技术的分布式软 件测试框架 邵育亮@EMC
  • 3. 3EMC CONFIDENTIAL—INTERNAL USE ONLY 内容提要 分布式软件系统测试现状 Tangram分布式软件测试框架 Tangram的价值
  • 4. 4EMC CONFIDENTIAL—INTERNAL USE ONLY 分布式系统 •  广泛应用 –  金融、教育、电力、交通 –  互联网、高科技产业 •  高可靠性要求 需要系统的、持续的测试
  • 5. 5EMC CONFIDENTIAL—INTERNAL USE ONLY 现状一:组件测试代替系统测试 •  组件测试 vs. 系统测试 –  组件测试 –  系统测试 •  出现原因 –  环境搭建复杂且耗时 –  组件测试更加适应快速迭代 •  现状分析 –  组件安全 ≠ 系统安全 –  系统测试不仅“必要”而且“必须”
  • 6. 6EMC CONFIDENTIAL—INTERNAL USE ONLY 现状二:单一环境进行多种测试 •  出现原因 –  环境搭建复杂,尤其是大型系统 –  系统级迭代较为缓慢 •  现状分析 –  系统环境不确定 –  多种测试相互干扰 –  无法重现系统状态 –  无法满足快速迭代的需求
  • 7. 7EMC CONFIDENTIAL—INTERNAL USE ONLY 分布式软件测试中的问题 1 如何快速搭建测试环境 2 如何保持“纯净”的被测环境 3 如何重现出错时系统状态 4 如何适应快速迭代的要求
  • 8. 8EMC CONFIDENTIAL—INTERNAL USE ONLY 解决方案 •  虚拟化技术 –  OS层面的纯净 –  系统状态的克隆和还原 •  自动化部署 –  复杂的分布式系统的部署支持 •  API接口 –  支持外部测试框架的集成
  • 9. 9EMC CONFIDENTIAL—INTERNAL USE ONLY 虚拟化技术与系统测试结合 •  虚拟化的技术特性 –  软件实现 –  隔离运行 –  封装抽象 •  虚拟化技术的优势 –  避免资源闲置(9-9-1) –  提供单纯的测试环境 –  支持系统状态还原
  • 10. 10EMC CONFIDENTIAL—INTERNAL USE ONLY 测试环境的自动化部署 •  支持多种CI服务 •  跨产品部署支持 •  多节点与差异化部署 •  与外部测试执行框架无缝整合 •  一次配置,重复使用 •  动态节点扩展
  • 11. 11EMC CONFIDENTIAL—INTERNAL USE ONLY 现有部署系统 •  开源自动化部署系统 –  BOSH,Puppet 等等 •  特点 –  专注于生产环境的自动化部署运维 –  不支持复杂依赖关系的系统部署 –  不支持节点动态调整 构建Tangram自动化部署框架
  • 12. 12EMC CONFIDENTIAL—INTERNAL USE ONLY Tangram 分布式软件系统测试框架 •  完整的自动化测试周期 –  自动构建 –  自动部署 –  自动测试 –  报告生成 •  利用闲置资源换取时间 –  并行部署 –  并行测试 –  报告合并 代码更新 自动构建 自动部署 自动测试 报告生成 构建build 并行部署多套环境 并行执行不同测试集 报告合并
  • 13. 13EMC CONFIDENTIAL—INTERNAL USE ONLY Tangram 分布式软件系统测试框架 •  分布式软件的自动化部署 •  纯净隔离的测试环境 •  出错状态还原 •  与CI工具集成 无缝对接现有 CI工具 利用模板实 现自动部署 Tangram 结合虚拟化技 术,提供洁净 测试环境 利用系统快 照实现错误 重现
  • 14. 14EMC CONFIDENTIAL—INTERNAL USE ONLY Tangram 工作流程 测试报告 系统快照集 NFS 任务调度 服务器 部署模板 虚拟机模板 自动部署 测试集 自动测试 版本控制库 轮询 持续构建 服务器 CI
  • 15. 15EMC CONFIDENTIAL—INTERNAL USE ONLY 利用模板实现自动部署 部署模板 定义了部署所需的虚拟机模板信息、 build信息和安装步骤 虚拟机模板 包含了标准的OS和用于接收和执行 安装任务的Agent 测试机群按照模板定义的步骤提取 安装文件并完成环境部署
  • 16. 16EMC CONFIDENTIAL—INTERNAL USE ONLY 部署模板 •  虚拟机模板 –  IaaS系统支持的模板 –  纯净的OS –  Puzzle客户端 •  部署模板 –  节点Hash规则 –  虚拟机模板信息 –  持续集成服务器信息 –  部署流程
  • 17. 17EMC CONFIDENTIAL—INTERNAL USE ONLY 部署流程 •  并行化 •  不同节点之间的依赖关系 •  部署过程中的实时监控
  • 18. 18EMC CONFIDENTIAL—INTERNAL USE ONLY 利用模板实现自动部署 •  任务调度服务器 •  部署模板 任务调度服务器 虚拟机模板 部署模板 IaaS 创建虚拟机 克隆 任务分配
  • 19. 19EMC CONFIDENTIAL—INTERNAL USE ONLY 任务调度服务器 - Tangram •  部署模板高度定制 •  全程监控部署过程 •  支持差异化安装 •  支持任务失败重试 •  支持虚拟机状态监控 •  支持模板热维护 •  提供Web UI和REST API
  • 20. 20EMC CONFIDENTIAL—INTERNAL USE ONLY 任务调度服务器的实现 Access Interface Web UI REST API Health Monitor Service Monitor Task Monitor Monitor Component Monitors ESB Template Parser Resource Gainer VM Creator Template Checker Job Scheduler Report Collector Virtual Machines Test-case library Snapshot library System Info Task Info
  • 21. 21EMC CONFIDENTIAL—INTERNAL USE ONLY Client端 - Puzzle •  功能 –  接收和执行任务 –  监视虚拟机的运行状况 –  上报任务执行情况和虚拟机信息 •  特性 –  不包含任何逻辑 –  产品无关 –  超时机制 [download] [unzip] [scripts] [execute] [monitor] [blob] [file]
  • 22. 22EMC CONFIDENTIAL—INTERNAL USE ONLY Tangram 的价值 •  高效的资产利用 –  通过虚拟化技术,提高物理设备的利用率 •  产品质量提高 –  通过持续、反复的系统集成测试,保证产品质量 •  加速产品迭代 –  通过完全迭代的开发-测试周期,缩短产品发布周期 生产率提高,产品质量保证,资源浪费减少,开发成本降低
  • 23. 23EMC CONFIDENTIAL—INTERNAL USE ONLY 案例分析 某项目A •  准备环境 :2小时 •  回归测试:37小时 某项目A •  全程自动化 •  准备环境+ 回归测试+ 资源回收=9小时 某项目B •  准备环境:1小时 •  回归测试 : 40分钟 某项目B •  一次完整回归测试 = 50 分钟 采用Tangram之前 采用Tangram之后
  • 24. 24EMC CONFIDENTIAL—INTERNAL USE ONLY 不仅仅是测试 •  Tangram大幅简化了分布式软件 的部署工作,开发人员不必手动 搭建软件环境 •  高度可定制的模板可以胜任大多 数分布式软件的安装描述 •  可以作为通用的分布式软件部署 工具
  • 25. 25EMC CONFIDENTIAL—INTERNAL USE ONLY THANK YOU Q&A
  • 26. 26EMC CONFIDENTIAL—INTERNAL USE ONLY THANK YOU 26 @Info Q infoqchina