公司 NetEase 位置 Hangzhou, China 行业 互联网科技

挑战

其游戏业务是世界上最大的游戏业务之一,但这不是 NetEase 为中国消费者提供的所有。公司还经营电子商务、广告、音乐流媒体、在线教育和电子邮件平台;其中最后一个服务有近10亿用户通过网站使用免费的电子邮件服务,如 163.com。在2015 年,为所有这些系统提供基础设施的 NetEase Cloud 团队意识到,他们的研发流程正在减缓开发人员的速度。NetEase Cloud 和容器服务架构师 Feng Changjian 表示:“我们的用户需要自己准备所有基础设施。”“我们希望通过无服务器容器服务自动为用户提供基础设施和工具。”

解决方案

在考虑构建自己的业务流程解决方案后,NetEase 决定将其私有云平台建立在 Kubernetes 的基础上。这项技术来自 Google,这一事实让团队有信心,它能够跟上 NetEase 的规模。“经过2到3个月的评估,我们相信它能满足我们的需求,”Feng Changjian 说。该团队于 2015 年开始与 Kubernetes 合作,那会它甚至还不是 1.0 版本。如今,NetEase 内部云平台还使用了 CNCF 项目 PrometheusEnvoyHarborgRPCHelm, 在生产集群中运行 10000 个节点,并可支持集群多达 30000 个节点。基于对内部平台的学习,公司向外部客户推出了基于 Kubernetes 的云和微服务型 PaaS 产品,NetEase 轻舟微服务。

影响

NetEase 团队报告说,Kubernetes 已经提高了研发效率一倍多,部署效率提高了 2.8 倍。“过去,如果我们想要进行升级,我们需要与其他团队合作,甚至加入其他部门,”Feng Changjian 说。“我们需要专人来准备一切,需要花费约半个小时。现在我们只需 5 分钟即可完成。”新平台还允许使用 GPU 和 CPU 资源进行混合部署。“以前,如果我们将所有资源都用于 GPU,则 CPU 的备用资源将没有。但是现在,由于混合部署,我们有了很大的改进,”他说。这些改进也提高了资源的利用率。

其游戏业务是世界第五大游戏业务,但这不是 NetEase 为消费者提供的所有业务。

公司还在中国经营电子商务、广告、音乐流媒体、在线教育和电子邮件平台;其中最后一个服务是有近 10 亿用户使用的网站,如 163.com126.com 免费电子邮件服务。有了这样的规模,为所有这些系统提供基础设施的 NetEase Cloud 团队在 2015 年就意识到,他们的研发流程使得开发人员难以跟上需求。NetEase Cloud 和容器服务架构师 Feng Changjian 表示:“我们的用户需要自己准备所有基础设施。”“我们渴望通过无服务器容器服务自动为用户提供基础设施和工具。”

在考虑构建自己的业务流程解决方案后,NetEase 决定将其私有云平台建立在 Kubernetes 的基础上。这项技术来自 Google,这一事实让团队有信心,它能够跟上 NetEase 的规模。“经过 2 到 3 个月的评估,我们相信它能满足我们的需求,”Feng Changjian 说。

该团队于 2015 年开始采用 Kubernetes,那会它甚至还不是 1.0 版本,因为它相对易于使用,并且使 DevOps 在公司中得以实现。“我们放弃了 Kubernetes 的一些概念;我们只想使用标准化框架,”Feng Changjian 说。“我们利用 Kubernetes 的可编程性,构建一个平台,以满足内部客户对升级和部署的需求。”

团队首先专注于构建容器平台以更好地管理资源,然后通过添加内部系统(如监视)来改进对微服务的支持。这意味着整合了 CNCF 项目 PrometheusEnvoyHarborgRPCHelm。“我们正在努力提供简化和标准化的流程,以便我们的用户和客户能够利用我们的最佳实践,”Feng Changjian 说。

团队正在继续改进。例如,企业的电子商务部分需要利用混合部署,过去需要使用两个单独的平台:基础架构即服务平台和 Kubernetes 平台。最近,NetEase 创建了一个跨平台应用程序,支持将两者同时使用单命令部署。

“如今,系统可以在单个集群中支持 30000 个节点,“架构师 Zeng Yuxing 说。“在生产中,我们在单个集群中获取到了 10000 个节点的数据。整个内部系统都在使用该系统进行开发、测试和生产。”

NetEase 团队报告说,Kubernetes 已经提高了研发效率一倍多。部署效率提高了 2.8 倍。“过去,如果我们想要进行升级,我们需要与其他团队合作,甚至加入其他部门,”Feng Changjian 说。“我们需要专人来准备一切,需要花费约半个小时。现在我们只需 5 分钟即可完成。”新平台还允许使用 GPU 和 CPU 资源进行混合部署。“以前,如果我们将所有资源都用于 GPU,则 CPU 的备用资源将没有。但是现在,由于混合部署,我们有了很大的改进,”他说。这些改进也提高了资源的利用率。

基于使用内部平台的成果和学习,公司向外部客户推出了基于 Kubernetes 的云和微服务型 PaaS 产品,NetEase 轻舟微服务。“我们的想法是,我们可以找到我们的游戏和电子商务以及云音乐提供商遇到的问题,所以我们可以整合他们的体验,并提供一个平台,以满足所有用户的需求,”Zeng Yuxing 说。

无论是否使用 NetEase 产品,该团队鼓励其他公司尝试 Kubernetes。Kubernetes 开发者 Li Lanqing 表示:“只要公司拥有成熟的团队和足够的开发人员,我认为 Kubernetes 是一个很好的技术,可以帮助他们。”

作为最终用户和供应商,NetEase 已经更多地参与社区,向其他公司学习,分享他们所做的工作。该团队一直在为 Harbor 和 Envoy 项目做出贡献,在 NetEase 进行规模测试技术时提供反馈。“我们是一个团队,专注于应对微服务架构的挑战,”Feng Changjian 说。“通过与这个社区接触,我们可以从中获得一些经验,我们也可以从中获益。我们可以看到社区所关心的问题和挑战,以便我们参与其中。”