对于企业级系统架构来说,要么进化,要么死亡?
1
近二十年的架构发展,这背后源源不断的动力是什么?
说到企业架构发展,相信进入互联网行业最早的小伙伴,听说的都是单体架构(IOE),而再近一些的,基本上都是分布式架构,SOA等等,一直到近几年兴起的微服务架构和服务网格。
一、成本是第一驱动力
“都不是!”
一个程序员能花多少成本?一年几十万,或者再多点。但是这些成本对于一个成熟的商业公司来说,是可以接受的,不能承受就把你裁了,招个钱少会的多的。
因此企业所考虑的成本是这个系统不稳定或者出现bug导致的故障,会给企业带来多少损失。知乎上有个网友分享了自己的经历,如果他这个订单发给银行,那么他可能需要十年以后再回答这个问题了。
大家想一下,在架构没有演进之前,一个模块出现了bug,那么整个应用就不能用了,对于淘宝,京东这样的电商企业,他们能接受这样的代价吗?
很显然不能,所以他们要改架构,把单体应用拆分成多个微服务。即使你一个程序员把其中一个服务的业务逻辑写错了(当然不能是核心业务),那这个服务也不会影响大局,丢失订单,更不会影响我去“割韭菜”。
二、提升用户体验,继续“割韭菜”
相信很多人都经历过早期抢购小米手机这个事情,最初发布的小米手机总是需要在官网抢购,往往登了一两分钟结果没有抢到,当然这个一两分钟时间是很短,但是对于抢购的用户来说,却是非常煎熬,因此很多人都在说小米在搞“饥饿营销”,甚至称雷军是在“耍猴”。
但是你会发现,现在我们在抢购商品,点击下单后,可以马上确定是否抢购成功,为什么?
说到底,也是因为现在的网购平台针对这一点,优化了企业内部的IT架构,提高并发连接,降低延迟,以提升用户体验。
要头哥说,什么提升用户体验,就是怕你下单的时候等候时间长,后悔不买了,割不动你这个小韭菜了。
所以说无论企业级架构发展如何发展,其背后的推动力首先肯定是成本,其次才是用户。如果你的公司不升级架构,那么最终的结果就是破产倒闭。
什么提升系统可用性、可扩展性,都是扯淡,说到底就是为了多挣钱,多割韭菜。
2
架构师是做什么的?为什么每个企业的架构师都不一样?
那么为什么会有架构师这个职业?据头哥了解,架构师这个职业在国外很少,他们的招聘都是清一色的engineer,什么基础架构师、系统架构师、软件架构师几乎没有。
这个一点毋庸置疑,架构师需要知道主流技术的基本原理,应用场景及解决问题的能力。相信关注我的小伙伴都知道,我之前也是做过架构师这个岗位的,就是因为我的老大,看我技术牛逼。
你需要站在业务的角度进行系统分解、技术选型、架构搭建以及规范制定。你设计出来的架构,一定要满足公司近几年的业务需求,并且未来也要易扩展。
这个看起来并不是那么重要,但是没有还真不行。你需要了解用户或者客户的需求,需要不断的与客户沟通,和企业内的IT人员沟通。
但是很多企业的架构师的个人能力或者解决问题的方向是有很大差别的,为什么会出现这种情况呢?
晓波总结了两点,我觉得非常好:
“首先,就是我们很多程序员都是“面向工资”编程,在公司内部是被当做一种资源在使用,既然被定义成资源,那么你一定是被定义者,你没有办法给自己定位。所以你的技术能力基本上是跟着给你发工资的人走,你不能和他对着干。”
如果你要说,我不在乎工资,我只追求梦想。头哥只能说,你真牛逼!
3
未来五年,谈谈对企业级系统架构的趋势与展望
我们没有办法预测企业级架构的发展趋势,但是至少有两点是不可忽视:
我们现在讨论的很多架构,其实都TOC行业的架构,这些架构这些互联网公司已经非常成熟,那么当我们走到更深层次的产业时,这些解决方案是否过于复杂,是不是开箱即用。因为传统工厂是不会养那么高端程序员的,那么自然而然,对于互联网时期沉淀下来的解决方案、工程设施,一定会进一步改进和简化。
互联网刚刚兴起的时候,仅有少数人可以通过网络进行连接,这自然就不会触发流量的上限。而当进入移动物联网时代,由于智能手机的普及,接入互联网的人越多越多,流量自然而然就会增大,所以在之前的很多年,我们一直都在致力于解决高并发、低延迟的问题,而未来随着万物互联,那么流量必然会冲破高峰。
所以企业级架构的发展,一定是螺旋式上升,而不是垂直上升。而未来企业级架构的发展,也会随着这些大环境的发展而变得更加多元化,一个既懂技术,又懂产品、运营、管理的架构师,才是一个好的架构师。