将容器基础设施交给云供应商打理
云服务商实际上向用户提供的是一套托管形式的容器编排引擎(其大多数源自谷歌极具人气的Kubernetes开源项目),用以部署并运行容器、管理集群、实现自动化扩展与故障管理,并维护通用基础设施层中的治理及安全性问题。总体来看,CaaS平台能够处理一切联网、负载均衡、监控、日志记录、身份验证、安全性、自动扩展以及持续集成/持续交付(CI/CD)功能。
正是凭借这种强大的能力,企业得以在CaaS的支持下既利用云基础设施的优势,也能够顺利避免PaaS所带来的供应商锁定问题 (例如AWS Elastic Beanstalk, Azure App Service或者Google App Engine),将容器承载的工作负载轻松在不同环境之间往来迁移。
而CaaS与经典基础设施即服务(IaaS)之间的核心区别,在于企业自身是否需要掌握Kubernetes(或其他容器编排工具)的相关资源及管理技能。很明显,CaaS能够帮助我们摆脱这种硬性要求,将相关工作交由云服务商打理。此外,CaaS还具有更灵活的可移植特性,不少供应商都提供可部署在本地或云端的CaaS平台,以供自己的容器环境能够跨多种云及/或本地环境加以运行。
前德意志银行员工、现任BBC开发人员Rob Isenberg提到,“大家可以在基础设施层级上管理任务并自行设置编排工具,也可以使用容器平台来处理基础设施并提供预先安装的编排工具,借此部署并扩展容器环境。”
实现更大的灵活性与可扩展性
在CaaS上运行容器,类似于在IaaS上运行虚拟机;其主要优势在于良好的部署速度及易用性、即付即用的云模型简单性,以及之前提到的不受供应商锁定影响的灵活性。