所属章节:

第14章. 云原生架构设计理论与实践

          第3节 云原生架构相关技术

14.3.1 容器技术

软考系统架构设计资料 系统架构 软考_云原生

1. 容器技术的背景与价值

容器作为标准化软件单元,它将应用及其所有依赖打包,使应用不再受环境限制,在不同计算环境间快速、可靠地运行。容器部署模式与其它模式的比较如图14-3所示:

软考系统架构设计资料 系统架构 软考_系统架构_02

虽然2008年Linux提供了cgroups资源管理机制、Linux Name Space视图隔离方案,让应用得以运行在独立沙箱环境中,避免相互间冲突与影响。但直到Docker容器引擎的开源,才很大程度上降低了容器技术的使用复杂性,加速了容器技术普及Docker容器基于操作系统虚拟化技术,共享操作系统内核轻量没有资源消耗秒级启动极大提升了系统的应用部署密度和弹性。更重要的是,Docker提出了创新的应用打包规范——Docker镜像,解耦了应用与运行环境,使应用可以在不同计算机环境一致、可靠地运行。借助容器技术呈现了一个优雅的抽象场景让开发所需要的灵活性、开放性和运维所关注的标准化、自动化达到相对平衡。容器镜像迅速成为了应用分发的工业标准。

软考系统架构设计资料 系统架构 软考_软考系统架构设计资料_03

随后开源的Kubernetes,凭借优秀的开放性、可扩展性以及活跃开发者社区,在容器编排之战中脱颖而出,成为分布式资源调度和自动化运维的事实标准。Kubernetes屏蔽了IaaS层基础架构的差异并凭借优良的可移植性,帮助应用一致地运行在包数据中心、云、边缘计算在内的不同环境企业可以通过Kubernetes,结合自身业务特征来设计自身云架构,从而更好地支持多云/混合云,免去被厂商锁定的顾虑。伴随着容器技术逐步标准化,进一步促进了容器生态的分工和协同。基于Kubernetes,生态社区开始构建上层的业务抽象,比如服务网格Istio、机器学习平台Kubeflow、无服务器应用框架Knative等。

软考系统架构设计资料 系统架构 软考_架构设计_04

在过去几年,容器技术获得了越发广泛的应用的同时,三个核心价值最受用户关注

(1)敏捷弹性可移植性容器技术提升企业IT架构敏捷性的同时,让业务迭代更加迅捷,为创新探索提供了坚实的技术保障。比如疫情期间,教育、视频、公共健康等行业的在线化需求突现爆发性高速增长,很多企业通过容器技术适时把握了突如其来的业务快速增长机遇。据统计,使用容器技术可以获得3~10倍交付效率提升,这意味着企业可以更快速地迭代产品、更低成本进行业务试错。

(2)在互联网时代,企业IT系统经常需要面对促销活动、突发事件等各种预期内外的爆发性流量增长。通过容器技术,企业可以充分发挥云计算弹性优势,降低运维成本。一般而言,借助容器技术,企业可以通过部署密度提升和弹性降低50%的计算成本。以在线教育行业为例,面对疫情之下指数级增长的流量,教育信息化应用工具提供商希沃(Seewo)利用阿里云容器服务ACK和弹性容器实例ECI大大满足了快速扩容的迫切需求,为数十万名老师提供了良好的在线授课环境,帮助百万学生进行在线学习。

(3)容器已经成为应用分发和交付的标准技术,将应用与底层环境进行解耦。Kubernetes成为资源调度和编排的标准,屏蔽了底层架构差异性,帮助应用平滑运行在不同基础设施上。CNCF云原生计算基金会推出了Kubernetes一致性认证,进一步保障了不同K8s实现的兼容性,这也让企业愿意采用容器技术来构建云时代应用基础设施。

更多内容请看下回。