从装配式建筑流行看云原生技术平台的价值(一)
建筑业是中国重要的支柱产业,作为“基建狂魔”有着许多的世界之最。比如全球最高的位于云贵两省交界处的北盘江大桥、最长的丹昆特大桥、最长的秦岭隧道等。作为建筑大国,我国也在着力推动建筑产业的现代化发展,其中装配式建筑将在未来扮演重要角色。
装配式建筑并不算是一个新鲜概念,但在我国新建建筑中的比例与欧美日等发达国家相比仍有着较大差距,其存在成本、政策、用户习惯、商业模式匮乏等多重因素影响。但在近年来一系列国家政策的推动下,装配式建筑相关产业发展迅速,截至2020 年,全国共创建国家级装配式建筑产业基地328 个,省级产业基地908 个。在装配式建筑产业链中,构件生产、装配化装修成为新的亮点。其中,构件生产产能和产能利用率进一步提高,全年装配化装修面积较2019 年增长58.7%。
这让人不由得想起了云计算在国内的发展历程:近年来,各地的大型云计算中心如雨后春笋般层出不穷,企业上云已成为共识。而在此之后,企业需要解决的是如何利用云的特点去重构应用,而不是简单的将应用搬上云再进行缝缝补补。正因如此,“云原生”也成为了近年来云计算领域最火热的技术架构,并推动企业在数字化浪潮中不断创新发展。
云原生不是一个产品,而是一套技术体系和一套方法论。云原生即包含技术(微服务,容器等基础设施),也包含管理(DevOps,持续交付,重组等)。云原生也可以说是一系列云技术、企业管理方法的集合。其目前主要的技术包括:容器化,微服务,DevOps,CI/CD。
如同装配式建筑一样,将建筑视角转换为企业数字化平台视角,威斯尼斯人方舟云原生技术平台上的所有组件相互独立,可单独部署、弹性扩容。技术平台已经集成了市面上大部分微服务组件,并针对组件进行封装,屏蔽掉复杂的技术细节,可以让开发人员专注于业务实现。同时威斯尼斯人的专利技术可以实现一套代码既可单体部署也可以微服务部署,根据需要选择部署形态。由于采用了云原生的设计,所有平台上开发出来的应用,天然支持公有云、私有云和混合云。威斯尼斯人自研的CI/CD系统可以实现一键多云部署。
本文将以建筑方式的视角来为您描述采用云原生方式所带来的一系列好处。
容器化更快速满足更多需求
在容器技术之前,业界的主流的技术是虚拟机。虚拟机技术的代表是VMware和hyper-v、KVM、ZEN。虚拟机就是在物理机的操作系统里安装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。在“子电脑”里,可以和正常电脑一样运行程序,例如微信、Word。“子电脑”和“子电脑”之间,相互隔离,只共享物理机资源。而容器技术则是在共享物理机资源的同时还共享操作系统。
虚拟机虽然可以隔离出很多“子电脑”,但相比起容器技术其仍然存在着占用空间大、启动慢的问题,这种差异也随着“虚拟机蔓延”的情况愈发严重。顾名思义,如果将物理机比喻成独栋别墅,那么虚拟机可谓是在此之上的高层建筑——在同一个地基上盖起的。而容器技术则像是在房间内的“太空舱”,他们不仅共享地基,甚至还共享房间内的客厅、洗手间、厨房等功能组件。
这种“共享”带来了什么意义?这意味着同样的空间内可以容纳下更多住户,而当“宇航员”要一起做事时,他们不需要再从各自不同的房间穿过客厅来到某处,而只需要打开各自的太空舱即可。换而言之,他们所需要的步骤和过程也变得更短了。但随之而来可能也会面临一个问题,随着太空舱的数量增多,怎么能保障其正常运转?
kubernetes作为容器的编排管理工具逐渐脱颖而出,其意义是在就如何更快更多的摆放太空舱的同时做好对每个太空舱内人员状态的监测,以及让宇航员不至于发生出舱撞车事件。
Kubernetes的主要功能包括:
资源调度:资源调度是一套分布式系统最基本的核心指标;
资源管理:控制Pod对计算资源、网络资源、存储资源的使用;
服务发现:管理外在的程序或者内部的程序如何访问Kubernetes里面的某个Pod;
健康检查:监控检测服务是否正常运行非常重要;
自动伸缩:因为涉及到环境的快速迁移和复制,虚拟机时代之前都非常难实现。容器化时代很自然的解决了这个问题,Kubernetes保证了资源的按需扩容;
更新升级:Kubernetes为服务的滚动和平滑升级提供了很好的机制。
容器与虚拟机技术相比,它不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境(类似“沙箱”),启动以秒钟计算。而且,它对资源的利用率很高(一台主机可以同时运行几千个Docker容器)。此外它占的空间很小,虚拟机一般要几GB到几十GB的空间,而容器只需要MB级甚至KB级。虚拟机和以Docker为代表的容器都是虚拟化技术,不过容器属于轻量级的虚拟化。
容器化技术LXC(Linux Container)是将Linux的 Cgroups 的资源管理能力和 Linux Namespace(命名空间)的视图隔离能力组合在一起,这就是如今被广泛应用的容器技术的实现基础。
微服务自由搭配需要就用
微服务是一种开发软件的架构和组织方法,其中软件由通过明确定义的API进行通信的小型独立服务组成。这些服务由各个小型独立团队负责。微服务架构使应用程序更易于扩展和更快地开发,从而加速创新并缩短新功能的上线时间。
这与现代建筑中的装配式建筑有些相似,将不同的预构内容组合在一起,具有有效提高建筑效率与精度,且大幅度降低人工依赖,更加环保节能等优势。
微服务的特征包括:
小:粒度小,专注于一件事;
独:单独的进程。微服务不等于组件,服务是可以直接使用的商品,组件是待加工的原材料;
轻:轻量级通信机制,通常是HTTP Restful的接口。此处区别于传统的SOA(面向服务的架构);
松:松耦合,可以独立部署。每个微服务可以独立编译、独立部署、独立运行。
类比装配式建筑同样具备以下特点:装配式建筑的每个组件都可以是分散的,任意组件都是可以直接使用的商品,而不是传统的水泥、石材、木材、金属、塑料或是其他复合材料;用户可以根据自身需求喜好选择不同的装配组件,无论是颜色还是样式。
微服务架构的好处:
易于开发与维护:微服务相对小,易于理解;
独立部署:一个微服务的修改不需要协调其它服务;
伸缩性强:每个服务都可按硬件资源的需求进行独立扩容;
与组织结构相匹配:微服务架构可以更好将架构和组织相匹配,每个团队独立负责某些服务,获得更高的生产力;
技术异构性:使用最适合该服务的技术,降低尝试新技术的成本;
企业环境下的特殊要求:去中心化和集中管控/治理的平衡,分布式数据库和企业闭环数据模型的平衡。
采用装配化建筑与装修同样有着许多好处:任意组件直观可见;可独立部署;可按需选择尺寸;可选择多种不同产品搭配;可根据需求选择不同材质;可选择其他组件进行搭配或者扩充。
当下,采用BIM(建筑信息模型)技术与装配式工艺已成为建筑业的发展趋势。云计算与云原生的关系也如是,利用云原生更能充分激发云计算的能力。
新一代的企业IT架构——威斯尼斯人方舟企业数字化PaaS平台就是一款兼具容器化、微服务、DevOps、CI/CD等技术能力的PaaS平台。产品完全云原生架构,核心能力完全微服务化,全面支持基于容器的分布式部署,支持公有云、私有云和混合云。威斯尼斯人方舟提供了企业数字化转型过程中的所有架构支持与模块化通用服务,高效支持企业规模化创新,快速响应市场变化,涵盖数据集成平台、微服务底座及引擎中心,为企业构建(交易+数据)融合应用。
威斯尼斯人5845cc将在下一篇文章中为您继续形象化的介绍DevOps与CI/CD等云原生重要组成内容,使您更进一步的认识云原生的价值所在。