增加灵活性就意味着丧失了Serverless的三大优势:服务器基础设施完全由厂商来管理;按用量付费;还有可自动扩展且高可用 。
CaaS要解决这一问题 , 它是处于容器和FaaS之间的服务 。我们认识一下三大云厂商的CaaS 。
Azure Container Instances(ACI)2017年中 , 当发布Azure Container Instances(简称ACI)之后 , Azure成为第一家提供CaaS的云厂商 。该产品旨在简化开发人员设置容器实例的操作 , 该产品推出之后 , 许多厂商开始跟进 。

ACI可以设置预配置的容器 , 这些容器在安全性、网络和存储等方面都有优化 。例如 , 所有ACI都增强了安全功能 , 在hypervisor级别提供保护 , 这同时也使得ACI有了很好的多租户能力 。
ACI的计费模式属于Serverless的模式 , 按秒计费计算用户实际使用的资源 , 类似于AWS Fargate 。
为了提高ACI的使用体验 , ACI与许多Azure服务进行了集成 。例如 , 在部署容器镜像时利用Azure容器镜像库(ACR) , 类似于Docker Hub 。还可以使用诸如Azure Portal、Azure CLI和Azure资源管理器模板之类的工具和服务 。
Google Cloud Run

谷歌云的Google Cloud Run是2019年11月正式提供发布的CaaS , 是三大云厂商中发布最晚的一个 。
Google Cloud Run可为开发者提供无状态容器部署服务 , 与另外两家的CaaS服务没什么大的区别 。不过 , Google Cloud Run不仅保留了Serverless的核心优势 , 同时还提供了额外的灵活性 , 支持额外的编程语言、系统二进制文件或各种关键的依赖库 。
虽然Google Cloud Run是来的最晚的 , 但Google此前已经用GKE提供了某种程度上类似于CaaS的服务 。作为Kubernetes的创造者 , Google自然会提供全托管的Kubernetes服务 。
其实我认为将Kubernetes作为一种服务的话 , 可以叫做KaaS , 严格来说 , 其实GKE不算CaaS , 主要的区别在于 , CaaS的特点是要具备按用量付费的模式 , 而GKE这种服务 , 只要创建集群就一定会产生费用的 , 不管你用不用 。
由于Google Cloud Run具备Serverless的特点 , 所以 , 叫做CaaS更合适 。
AWS Fargate
AWS Fargate是AWS的CaaS方案 , EC2是传统IaaS服务 , AWS Lambda则是典型的FaaS服务 。AWS Fargate已经构建好了容器基础设施 , 解决了包括网络方面、安全性方面 , 还有扩展性等方面的问题 , 使用的时候 , 只需为每个容器实例指定资源即可 , 其它操作交给Fargate 。
每个Fargate实例都有专用的ENI(弹性网络接口) , 它负责进行不同任务集群之间的通信 , 而相同任务集群间的通信则由本地来完成 。
【容器和Serverless要怎么结合,AWS/Azure/GCP都给出了方案】此外 , 这些任务的管理是由ECS负责的 , Fargate算作是ECS的计算引擎 , 同样作为计算引擎的还有EC2 , Fargate提供了一种新的任务管理方式 。

同时 , Faegate也具备Serverless的特征 , 能够实现自动伸缩 , 能实现按用量付费的模式 。
结语云技术在不断发展 , 云厂商不断推出创新服务 , 随着云技术的广泛采用 , 容器编排将成为进一步发展的一大痛点 。Serverless的出现对于基础设施的抽象更为深入 , 但它是以灵活性为代价的 。Serverless与容器结合将实现更好的平衡 。
推荐阅读
- 第2版 闪存技术、产品和原理全面解析
- 齿轮油和机油可以混用吗
- 荣耀60和60se的区别买哪款 荣耀60和60se的区别
- 万和热水器维修电话号码查询,万和的售后热线是多少
- 国产燃气热水器十大名牌排名,燃气热水器万和华帝万家乐美的哪个好
- 三叶吊扇和五叶吊扇有什么区别
- 四合院的建筑特点和风格
- 正宗披萨的配方和制作 披萨制作学习
- 华硕猛禽O6G和A6G区别
- 高通850和i5性能对比
