网易如何利用 Kubernetes 支持全球互联网业务
公司:网易
地点:中国杭州
行业:互联网技术
它的游戏业务是世界上最大的游戏业务之一,但这并不是网易为中国消费者提供的唯一服务。该公司还经营电子商务、广告、音乐流媒体、在线教育和电子邮件平台;最后一个通过 163.com 等网站为近十亿用户提供免费电子邮件服务。2015 年,为所有这些系统提供基础设施的网易云团队,意识到他们的研发流程正在减缓开发者的速度。“我们的用户需要自己准备所有基础设施。”网易云和容器服务架构师 Feng Changjian 说。“我们渴望通过无服务器的容器服务,自动为我们的用户提供基础设施和工具。”
在考虑建立自己的业务流程解决方案后,网易决定将其私有云平台建立在 Kubernetes 上。这项技术来自 Google 的事实让团队相信它可以跟上网易的规模。“经过 2 到 3 个月的评估,我们相信它可以满足我们的需求。” Changjian 说。该团队在 2015 年开始使用 Kubernetes,甚至在 1.0 之前。今天,网易内部云平台还利用了 CNCF 项目 Prometheus、Envoy、Harbor、gRPC 和 Helm,在生产集群中运行 10,000 个节点,并且可以在一个集群中支持多达 30,000 个节点。基于其内部平台的经验,该公司向外部客户推出了基于 Kubernetes 的云和面向微服务的 PaaS 产品,网易轻舟微服务。
网易团队报告说,Kubernetes 使研发效率提高了 100 %以上。部署效率提高了 280 %。“在过去,如果我们想进行升级,我们需要与其他团队合作,甚至在其他部门工作。” Changjian 说。“我们需要特殊的工作人员来准备一切,所以花了大约半个小时。现在我们可以在 5 分钟内完成。”新平台还允许使用 GPU 和 CPU 资源进行混合部署。“之前,如果我们将所有资源都用于 GPU,我们就不会为 CPU 提供备用资源。但是现在我们通过混合部署得到了改进。”他说。这些改进也提高了资源的利用率。
“该系统可以在一个集群中支持 30,000 个节点。在生产中,我们在单个集群中获得了 10,000 个节点的数据。整个内部系统正在使用该系统进行开发、测试和生产。” - Zeng Yuxing,网易架构师
它的游戏业务是全球第五大,但这并非网易为消费者提供的唯一服务。
该公司还在中国经营电子商务、广告、音乐流媒体、在线教育和电子邮件平台;其中最后一个通过 163.com 和 126.com 等热门网站为近十亿用户提供免费电子邮件服务。凭借这种规模,网易云团队为所有这些系统提供基础设施,在 2015 年发现他们的研发流程难以使开发者满足需求。“我们的用户需要自己准备所有基础设施。”网易云和容器服务架构师 Feng Changjian 说。“我们渴望通过无服务器的容器服务,自动为我们的用户提供基础设施和工具。”
在考虑建立自己的业务流程解决方案后,网易决定将其私有云平台建立在 Kubernetes 上。这项技术来自 Google 的事实让团队相信它可以跟上网易的规模。“经过 2 到 3 个月的评估,我们相信它可以满足我们的需求。” Changjian 说。
“我们利用 Kubernetes 的可编程性,以便我们可以构建一个平台来满足内部客户的升级和部署需求。” - Feng Changjian,网易云和容器服务架构师
该团队在 2015 年开始采用 Kubernetes,甚至在 1.0 之前,因为它相对容易使用,并且让公司启用了 DevOps。“我们放弃了 Kubernetes 的一些概念;我们只想使用标准化框架。” Changjian 说。“我们利用 Kubernetes 的可编程性,以便我们可以构建一个平台来满足内部客户的升级和部署需求。”
该团队首先专注于构建容器平台,以更好地管理资源,然后通过添加监控等内部系统,将注意力转向改进其对微服务的支持。这意味着整合 CNCF 项目 Prometheus、Envoy、Harbor、gRPC 和 Helm。“我们努力提供简化和标准化的流程,因此我们的用户和客户可以利用我们的最佳实践。” Changjian 说。
团队正在继续改进。例如,企业的电子商务部分需要利用混合部署,这在过去需要使用两个独立的平台:基础架构即服务平台和 Kubernetes 平台。最近,网易创建了一个跨平台的应用程序,可以同时使用单命令部署。
“只要公司拥有一支成熟的团队和足够的开发者,我认为 Kubernetes 是一种非常好的技术,可以帮助他们。” - Li Lanqing,网易 Kubernetes 开发者
今天,网易内部云平台“可以在一个集群中支持 30,000 个节点。”架构师 Zeng Yuxing 说。“在生产中,我们在单个集群中获得了 10,000 个节点的数据。整个内部系统正在使用该系统进行开发、测试和生产。”
网易团队报告说,Kubernetes 使研发效率提高了 100 %以上。部署效率提高了 280 %。“在过去,如果我们想进行升级,我们需要与其他团队合作,甚至在其他部门工作。” Changjian 说。“我们需要特殊的工作人员来准备一切,所以花了大约半个小时。现在我们可以在 5 分钟内完成。”新平台还允许使用 GPU 和 CPU 资源进行混合部署。“之前,如果我们将所有资源都用于 GPU,我们就不会为 CPU 提供备用资源。但是现在我们通过混合部署得到了改进。”他说。这些改进也提高了资源的利用率。
“通过与这个社区合作,我们可以从中获得一些经验,我们也可以从中受益。我们可以看到社区面临的问题和挑战,并参与其中。” - Li Lanqing,网易 Kubernetes 开发者
基于使用其内部平台的结果和经验,该公司向外部客户推出基于 Kubernetes 的云和面向微服务的 PaaS 产品,网易轻舟微服务。“我们的想法是,我们可以找到我们的游戏和电子商务以及云音乐供应商遇到的问题,因此我们可以整合他们的经验,并提供一个平台来满足用户的需求。” Changjian 说。
无论是否使用网易产品,该团队都鼓励其他公司尝试 Kubernetes。“只要公司拥有一支成熟的团队和足够的开发者,我认为 Kubernetes 是一种非常好的技术,可以帮助他们。” Kubernetes 开发者 Li Lanqing 说。
作为最终用户和供应商,网易已经更多地参与社区,向其他公司学习并分享他们所做的事情。该团队一直在为 Harbor 和 Envoy 项目做出贡献,并在网易规模测试技术时提供反馈。“我们是一个专注于解决微服务架构挑战的团队。” Changjian 说。“通过与这个社区合作,我们可以从中获得一些经验,我们也可以从中受益。我们可以看到社区面临的问题和挑战,并参与其中。”
KubeCon + CloudNativeCon + Open Source Summit 大会日期:
KubeCon + CloudNativeCon + Open Source Summit 赞助方案
KubeCon + CloudNativeCon + Open Source Summit 多元化奖学金现正接受申请
KubeCon + CloudNativeCon 和 Open Source Summit 即将首次合体落地中国