个人架构观-架构将来的发展

最近看了一些架构方面的帖子,包括京东的、支付宝的,加上以前各类微服务,大平台,弹性化等各类架构词汇,在大脑里相互冲撞,一时间感受不知所云,思惟被各类概念牵引着,有点慌乱。固然这不是我想要的状态,因而运用曾文正公的处世之道:“立足当下,化繁为简”。回到架构的三个哲学问题:1.何为架构?2.它从哪里来?3.它要到哪里去?回答了这三个问题,就应该能抓住架构的本质,不至于人云亦云。固然,这只是一家之言,若是说错了,但愿能指正我。缓存

  1. 何为架构:与我而言,所谓架构实际上是事物与事物之间恰当的关系。这个概念比较大, 咱们不妨缩小一点范围就focus在IT架构领域。咱们知道,TOGAF将架构分为业务架构、数据架构、应用架构、技术架构,这四个架构定义从不一样的层面和维度解释了要实现上层企业架构应该具有的架构能力,这里的业务架构是从业务的维度讲业务流程、企业组织以及组织下的人员之间的关系;数据架构是从数据维度讲企业的数据资产及信息间的结构关系;应用架构是从应用系统的维度讲应用系统相互间如何协做以提供服务从而知足业务流程的系统化(也是讲系统间的关系);技术架构是从软硬件基础设施维度讲它们之间如何组合以提供基本的运算、存储、网络能力。
    • 固然,对于更通常的架构的认识,或许咱们叫它系统架构或软件架构,指的是定义系统结构、行为、视图的概念模型的组织结构,包括系统分解的组成部分,它们的关联性,交互,机制和指导原则。定义比较晦涩,说的直白一点,仍是从不一样维度看各类能力及其它们之间如何协做以实现该维度的目标。进一步解释一下,咱们一般说系统架构包括逻辑架构、物理架构、开发架构、运行架构、数据架构5个部分。所谓逻辑架构是功能模块如何划分,功能模块是啥,知足功能的能力嘛,如何划分其实仍是在将关系嘛。再看物理架构,讲的就是物理服务器如何分配以及部署关系,其本质仍是在讲能力和能力间的协做关系。其余三个架构也是在各自维度讲能力及关系。通常来讲,系统须要的能力其实就是三种:1面向最终用户的支撑能力、2面向外部系统的交互能力、3面向数据的处理能力。因此说,架构本质就是这三种能力以及提供提供能力的实体相互间的关系。
  2. 它从哪里来:从架构的本质能够看到,在不一样的维度架构须要提供不一样的能力和关系,那是否是能够试着从这个角度看架构的发展过程呢?顺便也验证一下咱们对架构的本质是否定知准确。咱们知道,系统架构过程大体能够分为三个阶段:
    •   第一阶段是早期系统竖井式的架构,应用和数据交织在一块儿,不管是从逻辑上仍是从物理部署上都是,由于这个时候各维度对能力的须要不是那么强烈,没有明显的能力短板,不须要明确区分相互间的关系。但随着系统壮大复杂,来自硬件的能力以不足以支撑整个维度须要的能力,这就进入第二阶段。
    • 基于SOA的分布式架构,经过SOA把这种能力水平拆分,好处固然是使得能力能够灵活增减,坏处是这种拆分会给能力间的关系增长复杂度,举例来讲,原来经过内部调用便可知足的关系因为SOA把能力拆分,如今须要经过网络调用才能知足。那么当这种关系复杂度给系统间带来协做障碍时,咱们就须要进入第三阶段。
    • 第三阶段即微服务+大平台架构阶段,经过构件大平台来控制这些复杂的关系,不要让其暴露出去变成不可控的因素。此阶段即把业务逻辑分散在微服务中,把全部业务处理中须要的技术能力统一归置到平台进行管理,平台经过标注化的,约定熟成的协议及通信方式为上层的微服务们提供固定的服务,并把全部与服务安全、可靠性、监控、服务治理等相关的工做做为平台基础的能力提供出来。所以这种大平台其实就是经过设定标准和规范来下降关系的复杂度,是经过引入另外的能力和关系来达到的,好比大平台的引入自己就带来了更为复杂的关系。就像马路上的红路灯,虽然经过红灯停绿灯行等规范来解决交通拥堵的问题,但难道它们就不是形成更大拥堵的缘由吗?
  3. 它要到哪里去:回答这个问题其实就是回答架构的下一阶段,我不是预言家,只是沿着我我的理解的架构发展路线来估测一下。从上面分析的架构路线来看,咱们已经经过引入额外的标准规范必定程度上缓解了能力关系的复杂性,只不过这种引入带来了必定程度上大平台自身的能力挑战,所以咱们能够预见,当须要大平台提供更增强的能力以知足更复杂关系的管理时,是否是在某一时点上平台自身的能力关系也变得不可控呢?就像马路上的红绿灯,想象一下当红绿灯出现故障时,路况是否是会更加崩溃呢?因此咱们回过头来,仍是从IT系统的起源来看,系统是服务于业务的,这一点毋庸置疑,所以架构的发展趋势必定也是让业务实现更自由,这种自由其实就是要有载体来负责管理这些关系性,而上面的分析咱们发现经过引入外部的能力并不是长久之计,那么很天然咱们会想到最终的服务器会是这些载体,即将全部与技术相关的成本如协议、调度、服务、通信、监控、缓存、服务调度等关系都最终龟缩成服务器硬件的基本功能,就像CPU、网络、存储能力同样,这种龟缩不必定彻底有硬件服务器厂商来作,能够在驱动层、操做系统层、甚至在操做系统上再抽象出一层,经过这种内置的固化能力关系管理,使得各个维度上的能力真正作到能够按需使用,动态扩展。
    也许,架构的将来是没有架构!



相关文章
相关标签/搜索