1.1.2 容器虚拟化应用场景
容器技术的诞生,其主要目的是为解决PaaS层的技术实现,就像OpenStack、Cloudstack等技术为解决IaaS层的问题而诞生一样。对于IaaS层和PaaS层的区别和特性,这里不再赘述。
目前,主流的容器技术主要应用场景有以下4种。
1.容器化传统应用
容器技术不仅能提高现有应用的安全性和可移植性,还能节约成本。每个企业的环境中都有一套较旧的应用来服务于客户或自动执行业务流程。即使是大规模的单体应用,也可以通过容器隔离来增强安全性、可移植性等特点,从Docker中获益,从而降低成本。容器化之后,这些应用可以扩展额外的服务或者转变到微服务架构上。
2.持续集成和持续部署(CI/CD)
通过Docker加速应用管道自动化和应用部署,交付速度至少提高13倍。其现代化开发流程快速、持续且具备自动执行能力,最终目标就是为了开发出更加可靠的软件。
通过持续集成(CI)和持续部署(CD),每次开发人员签入代码并顺利测试后,IT团队都能够集成新代码。作为开发运维方法的基础,CI/CD创造了一种实时反馈回路机制,持续地传输小型迭代更改,从而达到加速更改、提高质量的目的。
CI环境通常是完全自动化的,通过git推送命令触发测试,测试成功时自动构建新镜像,然后推送到Docker镜像库。再通过后续的自动化和脚本,将新镜像的容器部署到预演环境,从而进行更深层次的测试。
3.微服务
加速应用架构现代化进程。应用架构正在从采用瀑布模型开发法的单体代码库,转变为独立开发和部署的松耦合服务。由成千上万个这样的服务相互连接形成应用。Docker允许开发人员选择最适合于每种服务的工具或技术栈,隔离服务以消除任何潜在的冲突,从而避免“地狱式的矩阵依赖”。
这些容器可以独立于应用的其他服务组件,轻松地共享、部署、更新和瞬间扩展。Docker端到端安全功能让团队能够构建和运行最低权限的微服务模型,服务所需的资源(其他应用、涉密信息、计算资源等)会适时地被创建并访问。
4.IT基础设施优化
充分利用基础设施,节省资金。Docker和容器有助于优化IT基础设施的利用率和成本。优化不仅是指削减成本,还指能确保在适当的时间有效地使用适当的资源。
容器作为一种轻量级的打包和隔离应用工作负载的方法,它允许在同一物理或虚拟服务器上毫不冲突地运行多项工作负载。企业可以整合数据中心,将并购而来的IT资源进行整合,从而获得向云端的可迁移性,同时减少操作系统和服务器的维护工作。