容器即服务(CaaS)平台使开发人员可以更轻松地部署Docker容器并将它们组装到应用程序中,而大多数都需要Kubernetes来完成这项工作。随着现代容器化应用程序在组织中越来越受欢迎,主要供应商开始提供容器基础架构和管理“即服务”只是时间问题。根据Flexera最近发布的2020年云现状调查报告,全球企业对容器的使用正在上升,65%的组织表示他们使用Docker容器,58%的组织以某种方式使用Kubernetes编排系统。在使用容器构建和维护应用程序时,缺乏资源和专业知识通常被认为是一个主要挑战。因此,开发人员越来越多地转向容器即服务(CaaS)产品提供的自动化,全球三大主要云提供商显然处于领先地位。容器即服务(CaaS)通过容器即服务(CaaS),云计算提供商本质上提供了一个托管容器编排引擎(通常基于来自Google的流行Kubernetes开源项目)来部署和运行容器、管理集群、自动扩展和故障管理,并维护一个通用的基础设施层,包括治理和安全性。通常,所有网络、负载平衡、监控、日志记录、身份验证、安全性、自动缩放和持续集成(CI)/持续交付(CD)功能都由容器即服务(CaaS)平台负责。容器即服务(CaaS)使组织能够利用云计算基础架构,同时帮助避免典型平台即服务(PaaS)(例如AWSElasticBeanstalk、AzureAppService或GoogleApp)带来的供应商锁定引擎,因为容器天生就允许简单地跨各种环境迁移。如果要使用容器,那么容器即服务(CaaS)和运行在基础设施即服务(IaaS)上的区别在于一个组织是否有资源和技能来实施和管理Kubernetes(或其他容器编排)。或者交给云计算提供商来实施和管理。该决策还可以确定组织的容器环境是否必须跨越多个云或本地。许多供应商提供容器即服务(CaaS)平台,这些平台可以部署在本地数据中心或云中。曾供职于德意志银行和BBC的开发人员RobIsenberg在O'Reilly出版的《面向Rails开发者的Docker》一书中指出:“用户既可以在基础架构级别管理事务并自行设置编排器,也可以使用容器平台它处理底层基础设施,并提供一个预安装的协调器来部署和扩展容器。”容器即服务(CaaS)的优势在容器即服务(CaaS)上运行容器类似于在基础设施即服务上运行容器。运行虚拟机即服务(IaaS):主要优点是部署速度快、易于部署、即用即付云模型的简单性以及上述不受供应商锁定的影响。通过将容器基础架构留给云提供商,组织可以在不投资自己的硬件或构建和运行自己的Kubernetes集群(或其他容器编排系统)的情况下启动和运行。此外,通过容器化应用程序,组织可以更轻松地将应用程序迁移到不同的操作环境或供应商生态系统,从而提供更大的灵活性和可扩展性选项。所有这些都为提高成本效率提供了一个非常重要的机会,因为容器可以更好地根据需求进行横向扩展,从而使组织只需为他们使用的云计算资源付费。容器比虚拟机轻得多,这意味着它们的资源密集度较低,通常会提高速度并降低成本。检测和日志记录的一致性带来了另一个好处,因为隔离容器中的各个服务可以通过流行的边车部署模型实现更高效的日志聚合和集中监控。根据Flexera的2020年云现状报告,34%的受访者指出,将传统应用程序迁移到容器中仍然是采用的重大障碍,即使在容器即服务(CaaS)上运行也是如此。迁移到容器通常需要将单体应用程序分解为微服务,这对于大型传统组织来说可能是一次重大的文化和技术转变,不应掉以轻心。行业领先的容器即服务(CaaS)选项大多数主要云计算提供商都提供容器即服务(CaaS)产品,还有其他几家希望参与其中。AWS是云计算服务的市场领导者,其Kubernetes非弹性容器服务(ECS)和弹性Kubernetes服务(EKS)已得到广泛采用。同样,根据Flexera的说法,AzureKubernetesService的采用率和GoogleKubernetesEngine(GKE)一样显着增加。这三大云计算巨头现在都提供无服务器Kubernetes服务,包括Fargate上的AWSECS、GKE上的GoogleCloudRun和Azure容器实例。与EKS、AKS和GKE不同,这些服务无需执行服务器管理任务,非常适合按需消费用例。谷歌云平台的大部分容器管理功能现在都位于Anthos的保护伞下,它管理跨本地基础设施和主要公共云(现在是谷歌云平台和AWS,正在提供Azure支持)程序的基于容器的应用程序。Anthos结合了用于云工作负载的GKE、GKEOOn-Prem和AnthosConfigManagement控制台,允许在混合和多云Kubernetes部署中进行集中管理、策略和安全。除了全球三大云计算厂商IBM/RedHat、VMware、SUSE/Rancher、Canonical、D2iQ(原Mesosphere)、Rackspace、Oracle、HPE、阿里巴巴、华为和腾讯外,所有厂商都具备某种能力托管容器即服务(CaaS)选项。其中许多产品可以部署在本地数据中心或公共云中,或同时部署在这两者中。哪种容器即服务(CaaS)更好?研究公司Gartner并没有为容器即服务(CaaS)提供商设立魔力象限,但在其分析师WataruKatsurashima撰写的《公共云容器服务》报告中,该公司将谷歌公司的GKE确定为行业——领先的托管Kubernetes选项。研究机构Forrester的分析师认为,在2019年第三季度最新一波公有云企业容器平台浪潮中,AWS处于领先地位,其次是微软和谷歌。值得注意的是,Forrester的调查仅列出了七家供应商,并且侧重于公共云部署。Forrester分析师DaveBartoletti和CharlieDai表示,AWS在部署选项、安全性和深度集成方面处于领先地位。凭借广泛的完全托管(和无服务器)Kubernetes消费选项,以及大多数容器直接部署到其云基础设施,AWS不断创新并将其容器平台与其领先的安全和网络功能深度集成。Forrester调查敦促微软和谷歌简化他们的容器平台。微软因其更强大的开发经验和全球影响力而受到称赞,但其复杂性却遭到用户的批评。谷歌因其深厚的Kubernetes专业知识和在多云环境中的努力赢得了赞誉,但也因其复杂性而受到批评。尽管如此,根据CNCF在2019年进行的一项调查,AWSEKS仍然是使用最多的容器管理平台,其次是GKE、DockerEE/CE和AKS。Flexera的2020年云计算状况报告指出AWSEKS/ECS的使用率为55%,另有23%的受访者计划在未来使用这些容器即服务(CaaS)选项。AzureKubernetes服务的采用率达到了50%,另有26%的受访者表示他们计划在未来使用AKS。而GoogleKubernetesEngine达到了26%,其中27%的受访者计划使用GKS。但根据这份Flexera报告,在63%的受访者中,自我管理的Kubernetes仍然优于所有容器即服务(CaaS)选项。容器即服务(CaaS)资源有关容器即服务(CaaS)的主要信息来源是供应商本身,因此很难做出明智且公正的选择。如上所述,Forrester和Gartne都对该领域有深入的了解,但他们的观点通常基于供应商如何使自己与众不同,而不是他们如何在生产中跟上容器即服务(CaaS)的步伐。关于该主题的书籍很少,但来自O'Reilly的《软件设计师手册》提供了很好的概述。多年来,Docker一直是容器和容器管理的中心,并且还有一些关于该主题的优秀视频内容。
