SAAS产品灰度技术深入浅出

2017-06-03

灰度发布,即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




注明:本文章属于转载,仅供行业人员学习交流使用,文章版权属于原创作者,在此向原创者致敬,感谢原创作者为大家学习交流提供精品内容。

站方声明:IThao123是为广大互联网从业者免费提供学习交流的平台,如果侵犯了原创著作权,请联系站方删除,给你带来不便,深表歉意。

顶部