之前曾流行一句半开玩笑的话,就是有些相似产品经理角色的人会说:咱们什么都不缺,就差一个程序员了。后面就到CEO们说:咱们什么都不缺,就差一个CTO了。若是CTO不是很懂技术,而是相似于信息官的话,他可能会说:咱们什么都不缺,就差一个架构师了。程序员
今天咱们要聊的,就是架构师这个物种,很多人以为很神秘的称谓。不少公司都有所谓的架构师职位,而实际上不少具备架构师头衔的人,都不能算严格意义上的架构师,他要不在作非架构师的工做,要不就是能力达不到称职架构师的水准。人们经常误觉得,架构师就是等产品经理弄懂需求,画出原型图后,根据原型图去设计系统架构的人。而实际上,架构师应该深刻理解需求,理解业务逻辑,预知需求变化,而后设计出总体可扩展的系统架构,并清楚知道从需求分析到功能实现、测试、集成、发布、运维等每个环节的工做内容和方式,进而知道如何配备人力来完成这些事情,知道如何为系统运行时的可用性可靠性提供保障,真正作到掌控全局。缓存
对于涉及系统开发的创业公司来讲,可能就很须要这样的架构师来把控全局。然而咱们还有一句话,叫过犹不及。有些公司请来了大牛,大牛将本身在其余大公司的架构直接搬过来,减小了架构过程的工做量,可是这样的架构对于小公司的小规模业务来讲,显得杀鸡使用牛刀。对于创业型的小公司来讲,咱们认为在作架构时,应该以经济适用、灵活可扩展为原则。服务器
1. 经济适用网络
照搬大公司的架构不是没有成本的,组件多了,须要的计算、存储、网络资源通常也会增长,这些都是须要付费的,并且系统越庞大也就意味着运维上的投入更多,于是会带来总成本的增长。对于创业公司尤为是还没融到资的公司来讲,老板对花的每分钱可能都会心疼一秒钟,而做为掌控公司总体技术架构的架构师来讲,有必要从架构上去考虑开发成本,想办法为公司节省开支,这样可能才使得项目能撑到融资到位的那一天。在云计算已经发展了十多个年头的今天,有些小公司还喜欢本身去搭建一些中间件系统,而后不只没有能力去很好地维护,还会增长招聘运维人员的成本,增长故障的机率。所以,对于创业公司来讲,我认为应该优先使用云产品,同时必要的时候也多使用开源软件,而不是本身研发。用有互联网百晓生称号的曹政的话来讲,就是:创业公司不要动不动想不开,要本身搞研发。架构
2. 灵活可扩展运维
上面说的是经济适用。但创业的小公司也会慢慢壮大对吧,若是遇到流量激增的状况,怎么办?这就涉及到咱们前面说的第二个原则:灵活可扩展。所以架构师在进行架构设计的时候,要考虑这种可扩展性,好比刚开始若是没有使用缓存,那么要考虑如何能快速给在运行中的系统加入缓存;若是服务器内存和CPU资源紧张,须要增长服务器,是怎样将服务器加入集群并了解大概须要多少时间能完成这样的任务;服务器增长了,应用服务的数量或副本数须要增长的话,须要怎样配置,同时要保证系统的正常对外服务,等等。测试
总之,创业公司不该该为了炫技而将各类新潮的技术组件融合在系统架构里面,这样会致使研发成本的提升且有可能致使公司陷入生存困境,而要从经济适用、灵活可扩展的角度来设计架构,这样来看的话,创业公司缺的每每不是别的,极可能是一位经济适用架构师。云计算
文章最初发表于:创业公司的经济适用架构师spa
欢迎关注公众号:架构设计