了解云容器实例云容器实例(Cloud Container Instance)
1.什么是云容器实例?
云容器实例(Cloud Container Instance, CCI)服务提供 Serverless Container(无服务器容器)引擎,让您无需创建和管理服务器集群即可直接运行容器。
Serverless是一种架构理念,是指不用创建和管理服务器、不用担心服务器的运行状态(服务器是否在工作等),只需动态申请应用需要的资源,把服务器留给专门的维护人员管理和维护,进而专注于应用开发,提升应用开发效率、节约企业IT成本。传统上使用Kubernetes运行容器,首先需要创建运行容器的Kubernetes服务器集群,然后再创建容器负载。
云容器实例的Serverless Container就是从使用角度,无需创建、管理Kubernetes集群,也就是从使用的角度看不见服务器(Serverless),直接通过控制台、kubectl、Kubernetes API创建和使用容器负载,且只需为容器所使用的资源付费。
图1 使用云容器实例
2.云容器实例架构
云容器实例提供Serverless Container服务,拥有多个异构的Kubernetes集群,并集成网络、存储服务,让您方便的通过控制台、kubectl、Kubernetes API创建和使用容器负载。
图2 产品架构
- 基于云平台底层网络和存储服务(VPC、ELB、NAT、EVS、OBS、SFS等),提供丰富的网络和存储功能。
- 提供高性能、异构的基础设施(x86服务器、GPU加速型服务器、Ascend加速型服务器),容器直接运行在物理服务器上。
- 使用安全容器提供虚拟机级别的安全隔离,结合自有硬件虚拟化加速技术,提供高性能安全容器。
- 多集群统一管理,容器负载统一调度,使用上无需感知集群存在。
- 基于Kubernetes的负载模型提供负载快速部署、弹性负载均衡、弹性扩缩容、蓝绿发布等重要能力。
3.应用场景
3.1大数据、AI计算
当前主流的大数据、AI训练和推理等应用(如Tensorflow、Caffe)均采用容器化方式运行,并需要大量GPU、高性能网络和存储等硬件加速能力,并且都是任务型计算,需要快速申请大量资源,计算任务完成后快速释放。
云容器实例提供如下特性,能够很好的支持这类场景。
- 计算加速:提供GPU/Ascend等异构芯片加速能力
- 大规模网络容器实例调度:支持大规模、高并发的容器创建和管理
- 随启随用、按需付费:容器按需启动,按资源规格和使用时长付费
图3 大数据AI计算场景
3.2DevOps持续交付
软件开发型企业,希望构建从代码提交到应用部署的DevOps完整流程,提高企业应用迭代效率。DevOps流程一般都是任务型计算,如企业CI/CD(持续集成/持续发布)流程自动化,需要快速申请资源,完成后快速释放。
云容器实例提供如下特性,能够很好的支持这类场景。
- 流程自动化:无需创建和维护集群,实现从CI/CD的全流程自动化
- 环境一致性:以容器镜像交付,可以无差别地从开发环境迁移到生产环境
- 随启随用、按需付费:容器按需启动,按资源规格和使用时长付费
图4 DevOps持续交付
3.3高弹性业务
业务波峰波谷较明显的业务,日常流量稳定,高峰期又需要快速扩展资源,并对成本有一定诉求,如视频直播、媒体资讯、电商、在线教育等应用。
云容器实例提供如下特性,能够很好的支持这类场景。
- 快速弹性伸缩:业务高峰时,业务能够快速从CCE弹性扩展到CCI,保障业务稳定运行
- 低成本灵活计费:业务平稳期在CCE上包周期计费,节省成本;高峰期弹性扩容到CCI上,按需计费,高峰期结束后又可以快速释放资源,降低成本
图5 弹性扩展
3.4生物基因、药物研发等科学计算
生物基因、药品研发等领域需要高性能、密集型计算,同时对成本较敏感,需要低成本、免运维的计算平台。科学计算一般都是任务型计算,快速申请大量资源,完成后快速释放。
云容器实例提供如下特性,能够很好的支持这类场景。
- 高性能计算:提供高性能计算、网络和高I/O存储,满足密集计算的诉求
- 极速弹性:秒级资源准备与弹性,减少计算过程中的资源处理环节消耗
- 免运维:无需感知集群和服务器,大幅简化运维工作、降低运维成本
- 随启随用、按需付费:容器按需启动,按资源规格和使用时长付费
图6 科学计算