选购运营级产品为什么不能只对比价格?
做软件十多年,点量软件在和客户接触的过程中,经常会遇到这样的疑问:开发一款类似淘宝或者滴滴这样的软件,或者类似运营商那种IPTV影音系统,大概需要多少钱?在沟通基本需求后报价,很多人会有疑问,为啥有些公司报价几千、几万,你们的差别这么大?这个是对于系统的定位和认知不同。今天结合西安健康码的事情,和大家分享下,27万做个健康码是否合理?做一个运营商级别的影音APP系统,为什么不能只看价格?以下内容基于多年项目经验,如有不同意见欢迎留言讨论。
首先我们从技术的角度来聊聊健康码的事情。如果只是输入手机号或者身份证信息,显示出来某人最近的行程、是否高危、是否接种疫苗等,基于大数据分析,估计找一些计算机专业的学生,也可以有能力做出来。从技术角度简单来说,就是常规的数据库查询处理。如果只是几百几千人用的系统,单服务器结构,可能这种系统的人力成本在几千到1~2万。但如果是一个1800万人的城市,在一些突发情况下,需要大并发支撑时,单服务器的sql能力,是远远不能够的。健康码虽然只是一个简单的页面,如果想做到支持千万级别的大并发,是有很多事情要做的。目前西安那边二维码的生成似乎是服务端生成后发给前端,前几天新闻说从1M降低到了500K,似乎做了很大的改进。其实这种更应该是考虑服务端只返回几百字节的数据信息,由几十万的终端自行显示出来二维码,这样节省的可就不仅仅是1M到500K,而是直接只需要几百个字节。更重要的是,服务器最好是分布式集群架构,相当于要对服务器之间的关系做很多管理开发,而这些,都不是用户能看到的。
界面还是那个界面,但背后的架构可以迭代很多版本,比如redis一定要用上,应该尽可能读取到内存缓存中去,这样查询速度更快。另外,用户是否可以考虑分表,比如1800万用户,是否可以按用户ID切分到18台服务器,这样每台服务器就只需要负责100万用户的数据。根据用户的ID,自动选择要去某一台服务器。分表后,还应该考虑数据的读写分离,对100万用户,也可以根据负载并发情况,随时增加n台均衡的、拥有相同数据的服务器,数据大都是查询性质的,所以完全可以100万用户的数据同步镜像到更多机器。某个用户的信息改变,只需要几十秒内同步到所有相关的服务器。所以,只需要根据运营需要,动态增减服务器即可。当然,还要考虑安全、数据的防止伪造;再就是各种预警功能,实时能检测服务器的性能,预警短信给相关运维人员等等一系列的工作。
做以上这些预先的架构处理来支持大并发,相比几千块的查询系统,绝不是一种价格等级。更重要的是,合作商有无相关经验,也是非常关键的。如果程序员,之前负责的系统都是几百人同时使用,一下子增到几十万人一起用,一定会遇到很多问题,而且遇到问题后,缺少足够的经验快速调整和修复。很多时候,架构的调整是最麻烦的,大楼都盖起来了,再去修改地基,就会更加风雨飘摇。而已经投放市场的软件系统容错能力是很低的,市场不会给太多的反应时间。和朋友讨论时,有个电视台的朋友讲述了他前几天遇到的事情,去给企业拍宣传片,同行里面有人2000元甚至500元就可以做。他们确实很难去拼,一般的宣传片他们是普通摄影师,人工是1500/天左右的价格,别说还有后期制作。要求高的宣传片,他们要去借电影机,说实话群里当时没几个人知道电影机,后来他说,全市会用电影机拍摄的可能不超过3~5个人。同样是宣传片,这样看来,区别不小。
以上应该可以解答我们开头的问题了,开发类似淘宝或者滴滴的软件需要多少钱,这个取决于你想支持多少用户规模。如果就几百人用,随便一个socket长连接的架构都能支持。但如果几百万人,那就要很多消息中转、跨服……,就不是几千块能搞定的了。其实谈健康码这些我们只是旁观者,谈不上自己多么的专业,可能上面描述的架构未必合适,只是大概阐述一个通用的道理。再回到我们比较熟悉的影音视频IPTV系统领域,这一块体会更多一些。亲身遇到过自己朋友询问,网上有人几千块就卖一套,界面也很好看,为啥你给我报价的那么高?这样问过来确实需要给朋友一个解释,那大概分析几个方面:
1、他们影音APP播放器的兼容性好吗?
播放器有经过几百款不同设备的测试、调优,软硬解切换、各种视频格式兼容处理这些么?拉开我们研发同事每个工位下的抽屉,里面堆满了各种样子的手机、机顶盒,以及会议室里面多台电视机……,我们还定制过的专用设备,一台机器可以插40多台手机,一起测试,这些可能能说明一些问题。
2、安全机制如何?
比如防用户账号的破解,防视频盗播。我们的用户账号和视频加密安全体系,每年都有升级,底层基于so等C++语言开发,相比java较难逆向不说,还基于C++开发的视频加密系统,这种没几家做普通影音系统的厂商提供。但实际运营中,如果不考虑这些,做的越大,亏的越多,树大招风,被人盗用的风险大大增加。
3、并发能力怎么样?
遇到过很多客户在用的系统,界面很好看,但安装时连redis都没看到,直接所有用户数据,都直接读数据库,sql真的可以支持大量用户查询么?这种结构,人多了就卡的要死了。而且最怕服务器还不好支持分布式,人多了加服务器都难。有多少家用户之前用的这类软件,后来做了1年再换系统,那时候成本更大,还要考虑数据的迁移,用户软件的升级。
4、运营类功能是否贴心?
做个春晚专题、暑假专题,要重新升级整个apk吗?是否可以直接后台编辑一个UI就能发布。而且UI可以根据需要灵活多变多种风格,充分展示每个系统独有的个性。
5、能否支持大并发?
做运营商级别的系统,更重要的是:有无多家大型用户的支撑经验。遇到问题能有足够的策略、应对能力。我们支撑过百万级别用户的系统已有多例,疫情期间,在线课堂,同时支撑2套的运营,每套同时访问人数都在70万人左右,这可是70万人一起观看。还有的海外IPTV系统运营商,周末晚高峰并发人数也是在几十万,系统也已稳定运行2-3年。只有经历过这些大并发支持的实战,我们才更能看得到一个系统上线后可能遇到的变数、问题,所以我们不敢低价。因为我们有敬畏之心,是想您的影音系统能运营的好,要提前把很多困难预计在内,在您看不到的地方多做一些必需的工作,而不是等发现问题再要求您增加费用再做。用户看不到的地方的细节,才是软件真正需要注意的。几千块的影音系统我们也有,那就是不需要服务的私人影院、小局域网等版本,只需要几十个终端观看,不需要复杂的网络环境。
回归到今天要谈的问题,一个影音APP软件系统多少钱?这个问题答案就明显了:取决于你对系统的定位和希望未来能支持的并发人数,追求什么样的品质,合作商的经验是否丰富,是否具备处理紧急问题的能力,还是只是一个demo,不用考虑并发,或者只是内网几十个人观看。一分价钱一分货,很多时候是对的,毕竟大家都是要生活,不能靠空气成仙。啰嗦这么多,希望能在您选择影音APP系统合作商的时候,多一些思考角度,而不仅仅是困在价格数字里。
欢迎转载,转载请注明来源于点量软件官方博客,多谢合作!