近日,网易云轻舟微服务团队接受了CNCF的采访,分享了网易云在云原生领域尤为是Kubernetes方面的实践经验。如下为案例全文:
公司:网易
地点:中国杭州
行业:互联网技术
挑战
它的游戏业务是世界上最大的游戏业务之一,但这并非网易为中国消费者提供的惟一服务。该公司还经营电子商务、广告、音乐流媒体、在线教育和电子邮件平台。2015年,为这些业务提供基础设施的网易云团队,意识到当时的研发流程已经不能知足业务的发展需求。“咱们的用户须要本身准备全部基础设施。”网易云架构师、轻舟微服务技术负责人冯常健说,“咱们但愿经过基于Serverless的容器服务,为他们提供一套自动化的基础设施和工具。”
解决方案
“该系统能够在一个集群中支持30,000个节点。在生产环境中,曾达到过单个集群10,000个节点的数据。内部大部分互联网业务正在使用该系统进行开发、测试和生产。”
html
- 曾宇星,网易云架构师golang
在考虑创建本身的业务流程解决方案后,网易云决定将其私有云平台创建在Kubernetes上,诞生于Google的事实让网易云团队相信它能够跟上网易的规模。“通过2到3个月的评估,咱们相信它能够知足咱们的需求。”冯常健说。该团队在2015年Kubernetes 1.0版本发布以前就开始使用Kubernetes,目前能够在单集群中支持30,000个节点,在生产环境集群中曾达到过单集群运行10,000个节点。并且,网易云还使用了CNCF基金会下的Prometheus、Envoy、Harbor、gRPC和Helm等项目。基于其内部平台的经验,该公司向外部客户推出了基于Kubernetes的云和面向微服务的解决方案—— 网易轻舟微服务平台。
影响
根据网易云团队的数据,Kubernetes使研发效率提升了100%以上,部署效率提升了280%。“在过去,若是咱们想进行升级,须要与其余团队甚至其余部门的同事协做。”冯常健说,“咱们须要专门的人员来准备一切,以前一般会花费大约半个小时的工做,如今5分钟内就能够完成。”新平台还支持GPU和CPU资源的混合部署,这些改进也提升了资源的利用率。
“咱们放弃了Kubernetes的一些概念,仅使用了标准化的框架。”冯常健说,“咱们利用Kubernetes的可编程性,以便咱们能够构建一个平台来知足内部客户的升级和部署需求。”编程
最初,网易云聚焦于构建容器平台来更好地管理资源,后续经过添加监控等工具,开始致力于提高对微服务架构的支持,这意味着网易云又集成了Prometheus,Envoy,Harbor,gRPC和Helm等CNCF项目。据冯常健介绍:“咱们正在努力提供一个简单和标准的流程,以使得咱们的用户能够利用咱们的最佳实践”。架构
而且这个团队也在继续作出改进,好比电商业务须要混合部署,在过去这须要使用2套独立的平台:基础设施平台和Kubernetes平台。最近,网易云在此基础上研发了一套跨平台的应用,实现2个平台的一站式部署。框架
社区与生态
“咱们是一个专一于面向微服务解决方案的团队,经过与社区的合做,咱们能够得到经验并从中受益,咱们能够看到社区的关注点和面临的挑战,并参与其中。”
less
- 冯常健,网易云架构师、轻舟微服务技术负责人微服务
基于内部平台的使用经验,网易云开始对外提供基于Kubernetes的云平台和面向微服务的一站式解决方案——轻舟微服务平台。冯常健说:“咱们但愿将这些内部业务遇到的问题和经验产品化,知足外部客户的需求。”工具
不管是否使用网易云产品,网易云都鼓励其余公司尝试Kubernetes。“只要公司拥有一支成熟的团队和足够的开发者,我认为Kubernetes是一种很是好的技术,能够帮助到企业。”网易云Kubernetes开发者李岚清说。
做为最终用户和云服务提供商,网易云在社区中也很是活跃,积极学习其它公司的经验,并分享其实践案例。网易云团队也一直在参与Harbor和Envoy项目的社区贡献,基于网易的规模体量提供测试反馈。冯常健说:“咱们是一个专一于面向微服务解决方案的团队,经过与社区的合做,咱们能够得到经验并从中受益,咱们能够看到社区的关注点和面临的挑战,并参与其中。”学习
相关文章:
【推荐】 从golang的垃圾回收提及(下篇)
【推荐】 LinkedBlockingQueue源码解析(3)
【推荐】 架构为何会腐化
测试