剑指Kubernetes 揭秘腾讯云的PaaS技术选型策略(1)

Kubernetes 很火,一大批互联网公司早已领先一步,搭建起专有的 PaaS平台,传统企业们看到的 Kubernetes的趋势,亦不甘落后,在试水的道上一路狂奔……

虽然,Kubernetes很火,并不代表可以“上手即用”,基于 Kubernetes的容器编排也不是简单的“拿来主义”。在容器圈,除了Kubernetes,还存在着 Mesos、Swarm等分属不同阵营的容器集群管理工具,以及基于这些工具的多个容器云提供商。

腾讯云在 2016年底决定开发容器产品,随后组建容器技术团队并进行技术选型,通过对不同编排工具的分析对比,最终选择 Kubernetes 作为容器编排引擎,并且迅速在 2017 年初推出容器解决方案 CCS,为用户提供托管 Kubernetes 的一站式服务。

随着业务量的增加,腾讯云容器团队基于 Kubernetes,不停的增加和完善容器监控、日志处理、容器 Registry 等关键特性,来保障用户业务的平稳运行。在整个 2017 年的运营过程中,管理了数千个集群、数十万容器,以及业务高峰期的成倍扩容。

为何选用 Kubernetes?

容器技术无疑是近几年最热门的技术之一,很多公司或者行业已经把容器作为自己的测试环境以及正式环境,正式上跑一些业务。腾讯紧随外界技术发展的潮流,在三年之前,腾讯云的基础平台部门开始容器方面的技术实践,经过三年时间的积累,腾讯云目前已经有很多业务跑在容器平台上。

在最开始的容器产品技术选型阶段,腾讯云也曾对比过 Kubernetes、Docker Swarm、 Mesos:

Kubernetes的核心是如何解决自动部署,扩展和管理容器化(containerized)应用程序。它支持资源调度、服务发现、服务编排、资源逻辑隔离、服务自愈、安全配置管理等。

Mesos是一个分布式内核,核心理念是数据中心操作系统(DCOS),为了解决 IaaS层的网络、计算和存储问题,所以 Mesos的核心是解决物理资源层的问题。它同时支持 Marathon、 Kubernetes 和 Swarm 等多种框架,Mesosphere 也是 Kubernetes 生态的一员。

Swarm:从 Docker1.12版本开始,Swarm随 Docker一起默认安装发布,也由于随 Docker引擎一起发布,无需额外安装,配置简单。它支持服务注册、服务发现,内置Overlay Network以及 Load Balancer。Swarm是与 Docker CLI非常类似的操作命令,对熟悉 Docker的人非常容易上手学习。

综上来看,每一种工具都有自己的核心理念。

但是,腾讯云最终选择了 Kubernetes, 现在看来这个选择无比正确。在技术选型上,除了编排引擎自身的核心特性,腾讯云也主要从以下几个方面进行了评估。

剑指Kubernetes 揭秘腾讯云的PaaS技术选型策略(1)_第1张图片

注:表格里的材料是当初选型时调研的情况,上述编排工具现在的特性已经有了新变化。

从整个行业来看,业界的技术架构正在大规模向微服务迁移,容器技术天生就是部署微服务的最佳方式,腾讯云拥有海量的业务架构,而 Kubernetes 的使用让部署大规模的微服务更加容易,这也是腾讯云选择Kubernetes的主要原因,另外腾讯云选择 Kubernetes还考虑了其它优势,如:

  • 出身名门 Google,其开发和设计受到了 Google著名的 Borg系统的影响;

  • GitHub上关注Kubernetes项目和提交代码的开发者非常多,社区活跃,如果遇到问题,通过社区咨询和解决 问题速度也会比较快。

  • Kubernetes可以很好的支持有状态的服务。

Kubernetes 是近 3 年来社区热度最高的项目,Linux 基金会也成立了 CNCF来加强社区运作,不仅对 Kubernetes 进行管理,还对相关项目进行有序的运作,保证了整个技术栈稳定和蓬勃的发展。Kubernetes技术相比Docker swarm和Mesos 学习难度更高。


你可能感兴趣的:(剑指Kubernetes 揭秘腾讯云的PaaS技术选型策略(1))