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