SlideShare a Scribd company logo
持续交付开发流程支撑创新业务
三拾众筹基于网易蜂巢系统开发实践
陈晓辉 2016.12
三拾众筹
• 基于内容产品提供众筹服务
• 专注探寻最有创意的想法、最有温度的故事
• 深耕影视、游戏、音乐、传媒、动漫等泛文娱领域
官网上线
8月 项目启动 10月 平台上线试运营
7月 项目筹备
再小的力量,也能掷地回响
支撑创新业务 - 技术面临的挑战
• 业务快速变更
– 及时响应
• 业务爆发式增长
– 不拖后腿
• 资源、成本投入
– 用在“刀刃”
可扩展
按需
快速交
付
Cloud Native
• 目标
– 使用标准化流程自动配置
(declarative formats for setup automation),
从而使新的开发者花费最少的学习成本加
入这个项目。
– 和操作系统之间尽可能的划清界限,在各
个系统中提供最大的可移植性。
– 适合部署在现代的云计算平台,从而在服
务器和系统管理方面节省资源。
– 将开发环境和生产环境的差异降至最低,
并使用持续交付实施敏捷开发。
– 可以在工具、架构和开发流程不发生明显
变化的前提下实现扩展。
• 12 Factors
– I. Codebase - One codebase tracked in
revision control, many deploys
– II. Dependencies - Explicitly declare and
isolate dependencies
– III. Config - Store config in the environment
– IV. Backing services - Treat backing services
as attached resources
– V. Build, release, run - Strictly separate build
and run stages
– VI. Processes - Execute the app as one or
more stateless processes
– VII. Port binding - Export services via port
binding
– VIII. Concurrency - Scale out via the process
model
– IX. Disposability - Maximize robustness with
fast startup and graceful shutdown
– X. Dev/prod parity - Keep development,
staging, and production as similar as possible
– XI. Logs - Treat logs as event streams
– XII. Admin processes - Run
admin/management tasks as one-off
processes
Application services
Foundation services
三拾众筹:系统概览
对象存储
主站服务
运营人员
网站用户
配置中心
注册中心
构建服务corpnet
GIT repositories
负载均衡
CDN源站
出站网关
支付 | URS | 微信 | 云信
出站请求
hub.c.163.com
镜像仓库
服务控制台
/api/
收银台
mysql
(rds)
redis
(ncr)
众筹平台
后台管理
会员
管理端口
第三方服务
订单
Rest RPC
请求路由
/api/
CDN
实现要点
• Cloud Native 考虑
– 隔离基础设施及后端服务依赖
– 分离配置与代码
– 自动编排
– 持续交付:构建、发布和运行
• 容器化
– 容器即服务
– 基础镜像(模板)
– 网易蜂巢
• 微服务基础设施
– 服务注册、发现、负载均衡
– 配置中心
– 服务控制台
• 持续交付
– 协作流程
– 自动化交付
• 使用的技术
– 蜂巢
• 集群和容器、镜像仓库
• RDS、缓存
• 负载均衡、对象存储
– 服务模板
• consul
• spring boot/cloud
• Rest RPC: spring mvc, feign, ribbon
• nginx, consul-template
• dumb-init
– 持续集成
• Gitlab-CE
• docker、maven
• flyway, junit, h2, mockito, spring test
基础镜像
应用功能
webapp, web-
assets,
git2consul, …
应用环境
jdk, consul, dumb-init,
consul-template, node,
nginx…
OS和系统工具
debian
Yelp/dumb-init
1. 多进程支持: 代理信号及接管子进程
2. Signal rewriting: dumb-init --rewrite 15:2 xxx-app
GitFlow基于Gitflow代码管理和协作流程
master
develop
release/
Tag v1.2 Tag v1.3
v1.3
feature/x,y
feature/z
版本提测
版本上线
hotfix/ v1.2.1
线上修复
Tag v1.2.1
完成线上修复
将来发版功能
缺陷修复
下一版功能
开发
代码审查、集成、验证测试验证预发验证
Gitlab-CE:Merge Request & CI Pipeline
online-A online-B pre
release
develop
交付流程
镜像仓库
镜像仓库
perf, …
自动构建/发布
自动部署
人工部署
镜像版本
扩展:产品多主线开发流程
主产品环境
客户化环境A
客户化环境B
Pull Request
(到develop分支)
Pull Request
(到develop分支)
配置管理
配置中心
git2consul
consul
GIT
配置仓库
app
profile=A
1. edit & MR
2. accept
app
profile=B
4.git-pull
3. webhook notify
join join join
greeting=hello
greeting=ohai
greeting=hello
5. KV replication
app.properties
------------------------
greeting=hello
app-A.properties
------------------------
greeting=ohai
小结
• 最大化利用开源工具和云端技术建立微服务和敏捷基础设
施,构建 Cloud Native 应用,充分释放云的潜力
• 基于容器技术自动化构建、发布和配置流程,改进敏捷交
付环境和产品快速迭代能力,及时有力支撑业务。
自10月27上线以来,三拾众筹系统(不包括基础服务)发布版本1710次,其
中43次线上版本发布;发布线上配置33次,新系统设计到上线1 ~ 3周
• 通过实践打磨的方案才能适合自己,开放性是选择云平台
关键评估因素
Thank you!

More Related Content

What's hot

使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
Poy Chang
 
雲端災難備援:VMware on IBM Cloud
雲端災難備援:VMware on IBM Cloud雲端災難備援:VMware on IBM Cloud
雲端災難備援:VMware on IBM Cloud
Aki Sun
 
微軟 Hololens 混合現實平台開發
微軟 Hololens 混合現實平台開發微軟 Hololens 混合現實平台開發
微軟 Hololens 混合現實平台開發
Edward Kuo
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹
Philip Zheng
 
Zh120226techparty velocity2011-review
Zh120226techparty velocity2011-reviewZh120226techparty velocity2011-review
Zh120226techparty velocity2011-review
Zoom Quiet
 
微服務對IT人員的衝擊
微服務對IT人員的衝擊微服務對IT人員的衝擊
微服務對IT人員的衝擊
Philip Zheng
 
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
Edward Kuo
 
云计算技术与应用
云计算技术与应用云计算技术与应用
云计算技术与应用
Yang Guanjun
 
從雲端看資訊科技的未來 (2014-03-26 國立嘉義大學資管系週會演講)
從雲端看資訊科技的未來 (2014-03-26 國立嘉義大學資管系週會演講)從雲端看資訊科技的未來 (2014-03-26 國立嘉義大學資管系週會演講)
從雲端看資訊科技的未來 (2014-03-26 國立嘉義大學資管系週會演講)
Jeff Chu
 
美团网技术部 - 基于OpenvSwitch/Openflow的云平台网络安全实践
美团网技术部 - 基于OpenvSwitch/Openflow的云平台网络安全实践美团网技术部 - 基于OpenvSwitch/Openflow的云平台网络安全实践
美团网技术部 - 基于OpenvSwitch/Openflow的云平台网络安全实践meecheng
 
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
Yi-Wei Lai
 
IBM开放云架构
IBM开放云架构IBM开放云架构
IBM开放云架构Li Yi
 
2016 Azurebootcamp 中國Azure 使用經驗
2016 Azurebootcamp 中國Azure 使用經驗2016 Azurebootcamp 中國Azure 使用經驗
2016 Azurebootcamp 中國Azure 使用經驗
Edward Kuo
 
容器式高效率 ChatBot 開發方法
容器式高效率 ChatBot 開發方法容器式高效率 ChatBot 開發方法
容器式高效率 ChatBot 開發方法
Philip Zheng
 
Velocity2011分享
Velocity2011分享Velocity2011分享
Velocity2011分享
Zoom Quiet
 
玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手
Poy Chang
 
今日如何建立一个安全的私有云
今日如何建立一个安全的私有云今日如何建立一个安全的私有云
今日如何建立一个安全的私有云
ITband
 
壹點通行銷同步雲 雲端服務說明會簡報
壹點通行銷同步雲  雲端服務說明會簡報壹點通行銷同步雲  雲端服務說明會簡報
壹點通行銷同步雲 雲端服務說明會簡報
零壹科技股份有限公司
 
認識程式交易
認識程式交易認識程式交易
認識程式交易
Philip Zheng
 
與大師對談: 轉移到微服務架構必經之路 ~ 系統與資料庫重構
與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構
與大師對談: 轉移到微服務架構必經之路 ~ 系統與資料庫重構
Andrew Wu
 

What's hot (20)

使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
 
雲端災難備援:VMware on IBM Cloud
雲端災難備援:VMware on IBM Cloud雲端災難備援:VMware on IBM Cloud
雲端災難備援:VMware on IBM Cloud
 
微軟 Hololens 混合現實平台開發
微軟 Hololens 混合現實平台開發微軟 Hololens 混合現實平台開發
微軟 Hololens 混合現實平台開發
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹
 
Zh120226techparty velocity2011-review
Zh120226techparty velocity2011-reviewZh120226techparty velocity2011-review
Zh120226techparty velocity2011-review
 
微服務對IT人員的衝擊
微服務對IT人員的衝擊微服務對IT人員的衝擊
微服務對IT人員的衝擊
 
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
 
云计算技术与应用
云计算技术与应用云计算技术与应用
云计算技术与应用
 
從雲端看資訊科技的未來 (2014-03-26 國立嘉義大學資管系週會演講)
從雲端看資訊科技的未來 (2014-03-26 國立嘉義大學資管系週會演講)從雲端看資訊科技的未來 (2014-03-26 國立嘉義大學資管系週會演講)
從雲端看資訊科技的未來 (2014-03-26 國立嘉義大學資管系週會演講)
 
美团网技术部 - 基于OpenvSwitch/Openflow的云平台网络安全实践
美团网技术部 - 基于OpenvSwitch/Openflow的云平台网络安全实践美团网技术部 - 基于OpenvSwitch/Openflow的云平台网络安全实践
美团网技术部 - 基于OpenvSwitch/Openflow的云平台网络安全实践
 
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
[2019 臺灣雲端大會]使用雲端技術打造快速的 AI 服務上線
 
IBM开放云架构
IBM开放云架构IBM开放云架构
IBM开放云架构
 
2016 Azurebootcamp 中國Azure 使用經驗
2016 Azurebootcamp 中國Azure 使用經驗2016 Azurebootcamp 中國Azure 使用經驗
2016 Azurebootcamp 中國Azure 使用經驗
 
容器式高效率 ChatBot 開發方法
容器式高效率 ChatBot 開發方法容器式高效率 ChatBot 開發方法
容器式高效率 ChatBot 開發方法
 
Velocity2011分享
Velocity2011分享Velocity2011分享
Velocity2011分享
 
玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手
 
今日如何建立一个安全的私有云
今日如何建立一个安全的私有云今日如何建立一个安全的私有云
今日如何建立一个安全的私有云
 
壹點通行銷同步雲 雲端服務說明會簡報
壹點通行銷同步雲  雲端服務說明會簡報壹點通行銷同步雲  雲端服務說明會簡報
壹點通行銷同步雲 雲端服務說明會簡報
 
認識程式交易
認識程式交易認識程式交易
認識程式交易
 
與大師對談: 轉移到微服務架構必經之路 ~ 系統與資料庫重構
與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構
與大師對談: 轉移到微服務架構必經之路 ~ 系統與資料庫重構
 

Similar to 三拾众筹技术实践分享:持续交付开发流程支撑创新业务 | ci/cd practices for cloud native applications

20150206 aic machine learning
20150206 aic machine learning20150206 aic machine learning
20150206 aic machine learning
Meng-Ru (Raymond) Tsai
 
台中市創業平台建置計畫
台中市創業平台建置計畫台中市創業平台建置計畫
台中市創業平台建置計畫
Chris 克里斯
 
淺談台灣巨量資料產業供應鏈串聯現況
淺談台灣巨量資料產業供應鏈串聯現況淺談台灣巨量資料產業供應鏈串聯現況
淺談台灣巨量資料產業供應鏈串聯現況Jazz Yao-Tsung Wang
 
04 陈良忠ibm cloud forum ibm experience 0611
04 陈良忠ibm cloud forum  ibm experience 061104 陈良忠ibm cloud forum  ibm experience 0611
04 陈良忠ibm cloud forum ibm experience 0611ikewu83
 
Our experience to start a startup
Our experience to start a startupOur experience to start a startup
Our experience to start a startupYenwen Feng
 
开源社区生生不息的创新土壤
开源社区生生不息的创新土壤开源社区生生不息的创新土壤
开源社区生生不息的创新土壤Steven Cheng
 
101創新思惟及案例 簡報檔(1)
101創新思惟及案例 簡報檔(1)101創新思惟及案例 簡報檔(1)
101創新思惟及案例 簡報檔(1)
文化大學
 
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平drewz lin
 
Lean startup 精益创业 新创企业的成长思维
Lean startup 精益创业 新创企业的成长思维Lean startup 精益创业 新创企业的成长思维
Lean startup 精益创业 新创企业的成长思维
Jie Bao
 
CRE-036-創新價值服務的開發模式
CRE-036-創新價值服務的開發模式CRE-036-創新價值服務的開發模式
CRE-036-創新價值服務的開發模式handbook
 
03 李实恭-乘云之势以智致远 0611
03 李实恭-乘云之势以智致远 061103 李实恭-乘云之势以智致远 0611
03 李实恭-乘云之势以智致远 0611ikewu83
 
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案 Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案 drewz lin
 
中華民國科技管理個案競賽 Motivate our taiwan
中華民國科技管理個案競賽 Motivate our taiwan中華民國科技管理個案競賽 Motivate our taiwan
中華民國科技管理個案競賽 Motivate our taiwan孟賢 顏
 
網路行銷教案-壹、基本概念篇
網路行銷教案-壹、基本概念篇網路行銷教案-壹、基本概念篇
網路行銷教案-壹、基本概念篇
p_yang
 
淺談數位製造之應用及未來發展趨勢
淺談數位製造之應用及未來發展趨勢淺談數位製造之應用及未來發展趨勢
淺談數位製造之應用及未來發展趨勢
MAKERPRO.cc
 
精實軟體度量
精實軟體度量精實軟體度量
精實軟體度量
hugo lu
 
產品開發與管理協會年會 – 開放式創新與共同開發 參訓心得報告
產品開發與管理協會年會 – 開放式創新與共同開發 參訓心得報告產品開發與管理協會年會 – 開放式創新與共同開發 參訓心得報告
產品開發與管理協會年會 – 開放式創新與共同開發 參訓心得報告Richard Hsu
 
企業創新挑戰與趨勢
企業創新挑戰與趨勢企業創新挑戰與趨勢
企業創新挑戰與趨勢
Richard Hsu
 
米聊服务器技术选型与架构
米聊服务器技术选型与架构米聊服务器技术选型与架构
米聊服务器技术选型与架构
Jinping Qu
 
Houxiaoqiang soa
Houxiaoqiang soaHouxiaoqiang soa
Houxiaoqiang soad0nn9n
 

Similar to 三拾众筹技术实践分享:持续交付开发流程支撑创新业务 | ci/cd practices for cloud native applications (20)

20150206 aic machine learning
20150206 aic machine learning20150206 aic machine learning
20150206 aic machine learning
 
台中市創業平台建置計畫
台中市創業平台建置計畫台中市創業平台建置計畫
台中市創業平台建置計畫
 
淺談台灣巨量資料產業供應鏈串聯現況
淺談台灣巨量資料產業供應鏈串聯現況淺談台灣巨量資料產業供應鏈串聯現況
淺談台灣巨量資料產業供應鏈串聯現況
 
04 陈良忠ibm cloud forum ibm experience 0611
04 陈良忠ibm cloud forum  ibm experience 061104 陈良忠ibm cloud forum  ibm experience 0611
04 陈良忠ibm cloud forum ibm experience 0611
 
Our experience to start a startup
Our experience to start a startupOur experience to start a startup
Our experience to start a startup
 
开源社区生生不息的创新土壤
开源社区生生不息的创新土壤开源社区生生不息的创新土壤
开源社区生生不息的创新土壤
 
101創新思惟及案例 簡報檔(1)
101創新思惟及案例 簡報檔(1)101創新思惟及案例 簡報檔(1)
101創新思惟及案例 簡報檔(1)
 
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
 
Lean startup 精益创业 新创企业的成长思维
Lean startup 精益创业 新创企业的成长思维Lean startup 精益创业 新创企业的成长思维
Lean startup 精益创业 新创企业的成长思维
 
CRE-036-創新價值服務的開發模式
CRE-036-創新價值服務的開發模式CRE-036-創新價值服務的開發模式
CRE-036-創新價值服務的開發模式
 
03 李实恭-乘云之势以智致远 0611
03 李实恭-乘云之势以智致远 061103 李实恭-乘云之势以智致远 0611
03 李实恭-乘云之势以智致远 0611
 
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案 Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
 
中華民國科技管理個案競賽 Motivate our taiwan
中華民國科技管理個案競賽 Motivate our taiwan中華民國科技管理個案競賽 Motivate our taiwan
中華民國科技管理個案競賽 Motivate our taiwan
 
網路行銷教案-壹、基本概念篇
網路行銷教案-壹、基本概念篇網路行銷教案-壹、基本概念篇
網路行銷教案-壹、基本概念篇
 
淺談數位製造之應用及未來發展趨勢
淺談數位製造之應用及未來發展趨勢淺談數位製造之應用及未來發展趨勢
淺談數位製造之應用及未來發展趨勢
 
精實軟體度量
精實軟體度量精實軟體度量
精實軟體度量
 
產品開發與管理協會年會 – 開放式創新與共同開發 參訓心得報告
產品開發與管理協會年會 – 開放式創新與共同開發 參訓心得報告產品開發與管理協會年會 – 開放式創新與共同開發 參訓心得報告
產品開發與管理協會年會 – 開放式創新與共同開發 參訓心得報告
 
企業創新挑戰與趨勢
企業創新挑戰與趨勢企業創新挑戰與趨勢
企業創新挑戰與趨勢
 
米聊服务器技术选型与架构
米聊服务器技术选型与架构米聊服务器技术选型与架构
米聊服务器技术选型与架构
 
Houxiaoqiang soa
Houxiaoqiang soaHouxiaoqiang soa
Houxiaoqiang soa
 

三拾众筹技术实践分享:持续交付开发流程支撑创新业务 | ci/cd practices for cloud native applications

Editor's Notes

  1. 向云而生
  2. 选择网易蜂巢: -技术导向, “更懂程序员” - API集成 - 应用基础服务 重点介绍主题:持续交付开发过程
  3. Zcflow和标准Gitflow Gitflow是分支管理流程,Zcflow是从Gitflow扩展的团队协作流程 Zcflow包含集成、验证和部署等流程
  4. 数字说明: 相当与每次线上发布对应40次左右的开发和测试环境验证发布,排除hotfix发布后验证发布比例会更高,提高了线上发布质量。