SAAS产品灰度技术深入浅出
2017-04-20 19:10
513 查看
灰度发布,即AB test。是发现、调整产品问题的重要手段,通过灰度发布可以控制产品迭代过程中的影响度。
纷享销客是用于移动办公和销售管理的办公软件,其产品形态主要体现在网页,手机APP以及PC客户端。
以下将描述纷享销客在网页端实现灰度发布过程中的手段和原理,供大家学习参考:
1. 服务端模板配置
查看http://www.fxiaoke.com/XV/Home/Index网页源码
<link rel="stylesheet" href="//www.fspage.com/html6/base-dist/assets/style/all.css" />
其中静态资源的引用中有"html6"这个字符串,服务端将根据登陆用户或企业的不同,在输出服务端模板内容时,动态改变路径为html6,html5或html4等等,从而影响用户最后访问的功能。
2. nginx流量分发
举个例子,如果产品线上服务器使用nginx,可以在nginx这一层,根据当前用户cookie或者来源ip,动态分配接口流量切换至a/b服务,静态文件将流量切换至a/b路径或主机,这个方案非常适合无登陆状态的产品灰度发布。
3. 前端脚本动态分发
对于无法使用1,2方案的场景,只能依靠前端在访问入口页面a.html时,前端与业务接口通信,判断是否进行灰度,然后前端分发至a.html或a-gray.html页面。
4. ajax接口分发路由
对于由后台接口业务页面地址的场景,接口服务在返回页面地址的时候,会根据app版本,灰度,企业等等信息区分页面地址。
通过对以上四种方案的对比,大家可以发现灰度发布依赖一种称为“用户标示”的东西,它可以是IP,可以是Cookie,也可以是App版本,或者产品用户的更多特点(地区。年龄等等),用户标示依赖于灰度发布的目标用户选取策略。
实现灰度发布的技术方案也仅仅是灰度发布过程中的一环,灰度发布产生的数据收集也是非常重要的,例如:灰度网页的使用次数,性能分析,新服务街口的调用次数,它影响最终产品真正上线的决策和质量。
另外一个需要补充的细节是,通常网页端的灰度发布成本是比较低的,因为更新产生在服务器,但是移动端App因为受限于AppStore或安卓市场的审核机制,所以灰度发布的成本是较高的,对于一家拥有网页,移动端产品形态的公司来说,通常灰度发布的时间点由App控制的,为了让App拥有web端一样灵活的灰度发布机制,类似ReactNative,Weex,Hybrid App,h5这样的方式一直被探索使用
品读之后,
愿享同感。
by.张驰Terry
纷享销客是用于移动办公和销售管理的办公软件,其产品形态主要体现在网页,手机APP以及PC客户端。
以下将描述纷享销客在网页端实现灰度发布过程中的手段和原理,供大家学习参考:
1. 服务端模板配置
查看http://www.fxiaoke.com/XV/Home/Index网页源码
<link rel="stylesheet" href="//www.fspage.com/html6/base-dist/assets/style/all.css" />
其中静态资源的引用中有"html6"这个字符串,服务端将根据登陆用户或企业的不同,在输出服务端模板内容时,动态改变路径为html6,html5或html4等等,从而影响用户最后访问的功能。
2. nginx流量分发
举个例子,如果产品线上服务器使用nginx,可以在nginx这一层,根据当前用户cookie或者来源ip,动态分配接口流量切换至a/b服务,静态文件将流量切换至a/b路径或主机,这个方案非常适合无登陆状态的产品灰度发布。
3. 前端脚本动态分发
对于无法使用1,2方案的场景,只能依靠前端在访问入口页面a.html时,前端与业务接口通信,判断是否进行灰度,然后前端分发至a.html或a-gray.html页面。
4. ajax接口分发路由
对于由后台接口业务页面地址的场景,接口服务在返回页面地址的时候,会根据app版本,灰度,企业等等信息区分页面地址。
通过对以上四种方案的对比,大家可以发现灰度发布依赖一种称为“用户标示”的东西,它可以是IP,可以是Cookie,也可以是App版本,或者产品用户的更多特点(地区。年龄等等),用户标示依赖于灰度发布的目标用户选取策略。
实现灰度发布的技术方案也仅仅是灰度发布过程中的一环,灰度发布产生的数据收集也是非常重要的,例如:灰度网页的使用次数,性能分析,新服务街口的调用次数,它影响最终产品真正上线的决策和质量。
另外一个需要补充的细节是,通常网页端的灰度发布成本是比较低的,因为更新产生在服务器,但是移动端App因为受限于AppStore或安卓市场的审核机制,所以灰度发布的成本是较高的,对于一家拥有网页,移动端产品形态的公司来说,通常灰度发布的时间点由App控制的,为了让App拥有web端一样灵活的灰度发布机制,类似ReactNative,Weex,Hybrid App,h5这样的方式一直被探索使用
品读之后,
愿享同感。
by.张驰Terry
相关文章推荐
- 玩转大数据:深入浅出大数据挖掘技术(Apriori算法、Tanagra工具、决策树)
- 细数云计算产品和技术-云计算安全
- 电商架构项目全产品开发需要掌握的技术
- 【图书连载】第15问:技术人员如何转型为产品经理
- 填槽与多轮对话 | AI产品经理需要了解的AI技术概念
- 『猎头职位』:J2EE架构师/C++/java等等(更多技术和产品运营类职位)
- 企业应用SaaS行业的B端产品经理,如果提升自己的产品设计能力?
- 如何从产品和技术角度上做一个好产品----软件公司如何开源节流(二)
- 命令行选项 - Mozilla 产品与私有技术 | MDN - Google Chrome
- 网页防篡改实现技术比较及三大主流产品对比
- 技术文档等于产品秘方?
- [职场生存] 技术产品永无休止的PK赛!
- 每个产品经理都应该了解的5大技术技能
- 常用控件产品官方文档/手册/API列表 c#控件文档API列表 asp.net控件产品技术文档中文版
- 淘宝大数据量产品技术架构
- 淘宝海量数据产品技术架构
- 思科数据中心产品技术速成手册
- 华为产品技术学习笔记之路由原理(一)
- 用友U9产品SOA设计架构遭技术质疑
- 使用微软WPF技术开发产品优势究竟在那里