序
云计算一经走向市场,就迅速呈现出强大的生命力。随着大数据时代的到来,云计算成为大数据的承载平台,“云计算+大数据+人工智能”成为新基建的核心。云计算也因大数据、人工智能的不断发展而成为信息技术应用的一个重要支柱,在较长时间内占据信息技术的应用舞台。
众所周知,云计算架构通常分为三层,即基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS),反映了云计算平台是在基础设施、平台及软件服务三个层面进行云化。因此,在早期人们常常利用开源或商业的IaaS系统构建云计算平台,简单地将传统物理主机、平台或应用转为虚拟化形态,以便达到整体资源利用更合理、集约式运营降低成本、提升整体水平的目的。随着云计算应用的普及,更多的用户使用云计算资源并非图其算力,往往仅仅是图个方便而已,就好比让硬件设备随用随弃一样,这也充分体现了云计算平台的弹性与分布式架构的特色。既然应用上云成为必然的趋势,如何将本地部署的传统应用更好地搬上可以云化的云计算平台,让业务更好地与云计算平台相融合,就成为需要着重关注的问题。
在实践中,本地部署的传统应用面临着停机更新、无法动态扩展、绑定网络资源(如IP、端口)及系统环境、需要人工部署及运维等方面的限制。如果仅仅是简单地将本地部署的应用迁移到云计算平台上,则很难发挥出云计算平台的优势。因此,充分利用云计算弹性、敏捷、资源池和服务化等特性,以解决业务在开发、运行整个生命周期中遇到的问题成为当务之急。为此,企业界率先提出了在云上设计应用程序的理念,使应用程序得以在云中以最佳的模式运行,以便充分发挥出云计算平台的弹性及分布式架构优势,这就是云原生(Cloud Native)架构。云原生计算基金会(CNCF)对云原生给出的解释是:“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统做出频繁和可预测的重大变更。”云原生技术正在深刻改变企业上云的模式和新基建所独有的各类特性,也对云安全的后续发展产生深远影响。
安全是一个伴生技术,新技术必然会伴生新的安全问题。云原生出现后,云原生安全问题自然随之而来,并表现为“面向云原生环境的安全问题”和“具有云原生特征的安全问题”。本书作者强调了这样的观点:“容器不是轻量级的虚拟化,容器安全不是轻量级的虚拟化安全;虚拟化安全关注的是资源,云原生安全关注的是应用;安全左移是云原生安全的必经之路。”所谓安全左移,本质上是美国国防体系在21世纪初所提出的“软件确保”(Software Assurance)理念在云计算平台上的落地。我在21世纪初也在提倡“举起软件确保大旗,固本清源,将信息安全向源头推进”的理念,这在当下有一个时髦的词——内生安全,其核心是在软件开发阶段就需要注入安全的理念,不仅要确保软件的所有功能都是可预期的,还要努力做到不存在“可被利用的”漏洞。
本书从云原生技术的风险分析入手,介绍了云原生安全防护思路和体系以及云原生的可观测性,并重点介绍了容器基础设施安全、容器编排平台安全与云原生应用安全。本书作者长期从事网络安全方面的工程实践工作,尤其是云计算安全和网络安全的前沿研究和产品孵化,因此本书也给出了很好的云原生安全实践的内容。本书内容翔实,注重实践,对从事云原生工作的科技工作者与相关研究人员都具有很高的参考价值。我相信,本书对于推进云原生安全的研究具有重要意义。