聊聊ToB与ToC技术开发的区别

时间:2024-10-08 18:55:18

一、前言

ToC技术一脸鄙视地对ToB技术说:做ToB有什么技术含量,不就是做一个后台管理系统吗,毫无并发量可言,ToB的技术弱弱地回道:ToC不就是做一个网站吗,又没什么复杂的业务逻辑,积累不了行业经验,这里ToC的态度为什么会相对强势呢,主要是因为前些年互联网发展太迅猛,做ToC的流量是呈指数级增长,然后做ToC的待遇自然水涨船高,人往往会把平台的能力以及社会发展的红利当成自己的能力。

二、ToB和ToC的定义

To B:英文To Business,指面向企业提供相关的服务、产品、平台,为企业内部所使用,包括企业内外部运营管理,数据应用和决策分析。

To C英文 To Custome,指面向最终用户个体消费者,比如衣食住行各类APP电商网站等。

To B 一般由传统软件厂商、中间件厂商、系统集成商运营,在对应的领域提供相应的产品级解决方案,主要围绕着企业生产、管理、运营、决策各个环节,

To C 大部分由互联网公司运营,如门户网站、搜索引擎、即时通讯、电子商务等,业务相对简单,主要围绕社交类、金融类、衣食住行方方面面提供服务。

三、ToB和ToC项目团队架构

ToB一个项目团队主要人员构成:项目经理、需求分析师、架构师,服务端技术、前端技术、测试,实施工程师。

ToC一个项目团队主要人员构成:项目经理、产品经理、技术经理、架构师、算法工程师、设计师(交互设计、视觉设计)、服务端技术、大前端技术,DBA、运维、测试。

1、项目负责人区别

ToB团队一般由需求分析师负责整个团队,需求分析师大多由资深技术担任,项目开发完成交付给客户使用便是成功,而ToC团队一般由运营团队老大担任项目负责人,项目的成败由运营数据支撑。

2、需求分析师和产品经理区别

需求分析师:需求分析师类似一个翻译的角色,将业务方的需求进行业务规则确认、业务流程梳理,然后把需求输出成需求规格说明书交给开发工程师去实现。需求分析师更注重行业经验,更多从事于传统行业的信息化建设(财务、供应链、物流、金融、保险等等)。

产品经理:主要是在互联网行业负责产品,负责用户调查、行业数据分析、然后根据用户需求,选择哪种商业模式、确定开发何种产品,更侧重于通过互联网改变传统行业的商业模式。

3、架构师区别

ToC项目对架构师的要求更多是大型分布式环境高并发的解决方案,而ToB项目对架构师的要求更注重是否能够根据公司项目做产品沉淀,抽象出通用模块,然后二次开发技术进行本地化落地。

4、设计师区别

一般ToB的项目对设计师要求不高,有些甚至不需要设计师而是由前端开发直接出页面原型,而ToC项目因为是直接对用户的,产品体验极其重要,对设计师的能力要求就相当高,需要懂得用户心理学,然后设计师又分为交互设计、视觉设计等,在技术将产品开发完成后(网页或App)还要进行视觉还原,甚至对一个像素的偏差都需要进行调整。

5、DBA、运维

一般ToB项目都没有这两个角色,而是由资深技术或实施工程师负责,而ToC这两个岗位一般是挂在技术部门下面的运维部,运维保障部要保障整个公司产品的稳定性。

三、技术实现的区别

ToB项目需求更为复杂,需要涉及到定制开发相关功能,但并发量一般来讲都比较小,ToC功能较为简单追求的是标准化,高并发量,这样两者的技术架构就完全不一样了,如果用做ToC的思路去做ToB是一种灾难,用ToB的思路去做ToC项目更是一种灾难。

1、ToC技术实现

ToC的产品对于并发量稳定性要求极高,通常要承载百万上亿的用户数的访问,这个就几乎不可能用单体的技术架构来支撑。一般前端要做负载均衡,业务层上分布式服务,数据库层主从架构集群,缓存层集群、消息中间件、搜索引擎支撑模糊搜索等等。数据库SQL语句是不允许有多表关联的复杂查询,否则数据库负载完全撑不住 。

ToC产品在产品开发周期一般较短,不管是研发周期还是迭代周期控制在1,2个月之内,否则等发布到市场上,黄花菜都凉了,发布后更重要的是运营工作。

ToC的技术人员更需要关注前沿技术,很多产品都是前沿技术的落地实现。

2、ToB技术实现

ToB产品对于并发量的要求相对于ToC互联网产品来讲要较低,一般就百人、千人的用户数,这种技术架构就没有必要这么复杂,完全可以用单体架构或者再做一下负载均衡就可以,一般中间件用一下Reids做一个数据缓存,因为业务复杂SQL语句中会大量使用多表关联查询,只要把数据库SQL索引优经好一般就差不多了。

ToB产品涉及客户复杂的需求,产品涉及的功能模块较多,无论是研发周期还是迭代周期都较长,需要进行产品安装部署、培训、维护等工作。

ToB的技术人员更需求关注行业知识,很多行业知识是需要长期沉淀的。

注1:听说过一个公司内部ERP产品采用的是ToC的技术架构去做(技术Lead来自互联网公司),公司总共也就2000个员工(用户),然后用上分布式技术架构,搞了16台服务器,什么jar包热加载,消息中间件等等所有互联网那一套架构全搬过去,然后一个项目开发了1,2年还没搞完,每天晚上加班到12点以后,这样无论是对公司还是对技术人员都是一种灾难。另外如果用管理ToC的进度去管理ToB的项目,比如你老板和你说我们做个ERP争取一两个月搞定,那么你别和他废话,先把他揍一顿再说,然后准备跑路吧。

注2:我个人最初是做ToB项目,什么住房管理系统,社保系统,防疫系统等,然后进入互联网公司做ToC项目,做过后端、做过App也做过中间件,最近这几年主要做公司自己的项目有ToC的也有ToB的,ToC主要是窗帘定制网站,牛奶销售小程序等,窗帘饰品POS系统本质上还是ToB,而挖机报价系统做着做着就变成了CRM+ERP了(售前、销售、售后)也是个ToB项目。这段文字感觉是像面试的简介,哈哈哈,有哪个大老板会看上我吗,价廉物美,您值得拥有!