以前曾流行一句半开玩笑的话,就是有些类似产品经理角色的人会说:我们什么都不缺,就差一个程序员了。后面就到CEO们说:我们什么都不缺,就差一个CTO了。如果CTO不是很懂技术,而是类似于信息官的话,他可能会说:我们什么都不缺,就差一个架构师了。

今天我们要聊的,就是架构师这个物种,不少人觉得很神秘的称谓。很多公司都有所谓的架构师职位,而实际上很多具有架构师头衔的人,都不能算严格意义上的架构师,他要不在做非架构师的工作,要不就是能力达不到称职架构师的水准。人们常常误以为,架构师就是等产品经理弄懂需求,画出原型图后,根据原型图去设计系统架构的人。而实际上,架构师应该深入理解需求,理解业务逻辑,预知需求变化,然后设计出整体可扩展的系统架构,并清楚知道从需求分析到功能实现、测试、集成、发布、运维等每一个环节的工作内容和方式,进而知道如何配备人力来完成这些事情,知道如何为系统运行时的可用性可靠性提供保障,真正做到掌控全局。

对于涉及系统开发的创业公司来说,可能就很需要这样的架构师来把控全局。然而我们还有一句话,叫过犹不及。有些公司请来了大牛,大牛将自己在其他大公司的架构直接搬过来,减少了架构过程的工作量,但是这样的架构对于小公司的小规模业务来说,显得杀鸡使用牛刀。对于创业型的小公司来说,我们认为在做架构时,应该以经济适用、灵活可扩展为原则。

 

1. 经济适用

照搬大公司的架构不是没有成本的,组件多了,需要的计算、存储、网络资源一般也会增加,这些都是需要付费的,而且系统越庞大也就意味着运维上的投入更多,因而会带来总成本的增加。对于创业公司尤其是还没融到资的公司来说,老板对花的每分钱可能都会心疼一秒钟,而作为掌控公司整体技术架构的架构师来说,有必要从架构上去考虑开发成本,想办法为公司节省开支,这样可能才使得项目能撑到融资到位的那一天。在云计算已经发展了十多个年头的今天,有些小公司还喜欢自己去搭建一些中间件系统,然后不仅没有能力去很好地维护,还会增加招聘运维人员的成本,增加故障的机率。因此,对于创业公司来说,我认为应该优先使用云产品,同时必要的时候也多使用开源软件,而不是自己研发。用有互联网百晓生称号的曹政的话来说,就是:创业公司不要动不动想不开,要自己搞研发。

 

2. 灵活可扩展

上面说的是经济适用。但创业的小公司也会慢慢壮大对吧,如果遇到流量激增的情况,怎么办?这就涉及到我们前面说的第二个原则:灵活可扩展。因此架构师在进行架构设计的时候,要考虑这种可扩展性,比如刚开始如果没有使用缓存,那么要考虑如何能快速给在运行中的系统加入缓存;如果服务器内存和CPU资源紧张,需要增加服务器,是怎样将服务器加入集群并了解大概需要多少时间能完成这样的任务;服务器增加了,应用服务的数量或副本数需要增加的话,需要怎样配置,同时要保证系统的正常对外服务,等等。

总之,创业公司不应该为了炫技而将各种新潮的技术组件融合在系统架构里面,这样会导致研发成本的提高且有可能导致公司陷入生存困境,而要从经济适用、灵活可扩展的角度来设计架构,这样来看的话,创业公司缺的往往不是别的,很可能是一位经济适用架构师。

 https://www.cnblogs.com/woshiweige/p/11106227.html