网易蜂巢受邀参加Velocity China 2016,分享公有云运维实践

12月1日-2日,Velocity大会北京站正式开幕,这也是Velocity在圣克拉拉、纽约、阿姆斯特丹后的全球第四站。来自谷歌、阿里巴巴、腾讯、网易、百度、京东等国内外知名互联网公司的技术专家共聚一堂,其中网易云解决方案总架构师刘超受邀出席,同与会者分享了网易蜂巢基于kubernetes的公有云运维实践。

 

 

随着云计算的普及,越来越多的企业开始在云端部署自己的应用,如何对这些应用进行管理、调度、优化、运维等,以实现应用的快速部署、快速迭代和实时监控,已然成为云计算服务的一大难题。

从2012年正式上线私有云平台到2015年推出网易蜂巢容器云平台,再到2016年上线DevOps和微服务。作为网易云的基础设施云服务,网易蜂巢一直走在行业前列,并形成了新一代云计算的雏形。

截止到目前,采用业界最先进的容器编排技术Kubernetes,网易蜂巢支撑了网易内部95%以上的互联网业务,包括拥有亿级用户的网易考拉海购和网易云音乐。在提供高可用和高性能服务的同时,网易蜂巢在认证鉴权、网络隔离、容器安全、任务调度、集群扩容、监控告警等方面积累了丰富的运维经验。

刘超在Velocity大会介绍说,网易蜂巢的运维实践可以追溯到IaaS层、PaaS层和CaaS层。

 

 

在硬件层面,网易蜂巢采用了五星级机房标准,实现多线BGP网络接入、万兆网络互联和全SSD存储。

基于硬件,网易蜂巢基于OpenStack自主研发了IaaS服务,实现了高性能的计算虚拟化,网络虚拟化和存储虚拟化。对于计算虚拟化方面,网易蜂巢定制KVM系统镜像,对原有厚重的虚拟机镜像进行了内核裁剪,并通过实现云主机IP静态化,优化OpenStack创建云主机流程,从而使得本来分钟级别的虚拟机创建过程缩减为秒级别。对于网络存储化方面,基于Openvswitch和SDN技术,实现了虚拟机主机的高速互联,另外针对网络安全和网络攻击,通过DPDK技术,在用户态可以实现网络包从二层到四层的过滤,防止MAC和IP网络欺骗,对于网络性能,通过linux的tc技术结合Openvswitch,实现基于租户的网络性能隔离和QoS。

基于IaaS层,在数据库、缓存服务、对象存储等方面,网易蜂巢也通过自研的方式实现了高可用、高性能的PaaS。

网易蜂巢作为容器云平台,相比于虚拟机实现了以资源为核心到以应用为核心的转变,用户可以通过去状态化,容器化,和DevOps,实现应用的动态扩展,负载均衡,快速迭代。以DevOps为例,网易蜂巢提供了丰富的运维工具,不仅解决了线上线下环境一致性的问题,还打通了研发和运维部门,使得研发能够通过蜂巢自动完成运维工作,而运维部门也可以更加聚焦于服务的连续性、用户的体验以及可靠性,使得整个组织协作更加高效。

从虚拟机过度到容器,对于一些传统企业来讲,一步实现微服务化和DevOps还是比较困难的,需要长时间的应用改造和开发流程的完善,为了帮助客户尽快的实现应用的容器化,网易蜂巢推出了有状态容器。一个容器启动的时候,会将容器的配置和容器的镜像放在一个本地文件夹里面,Docker Daemon通过读取这个文件夹,来维护当前主机上的所有的容器列表。网易蜂巢通过定制化Docker,在容器启动的时候,将容器的配置和镜像保存在外部的统一存储上面,从而使得到容器所在主机宕机的时候,在另外的主机上,可以挂载外部的统一存储,从而保证保存在硬盘上面的数据在容器跨主机迁移的时候,不丢失。

 

 

此外,网易蜂巢的技术团队还进行了一系列的容器层面的优化和编排层面优化,比如说网易蜂巢在容器方面提供了虚拟化扁平二层网络,基于VXLAN实现租户隔离,可以使得用户不通过NAT,而是通过传统虚拟机的网络互联模式来进行容器间的互联,从而使得容器化对于用户应用的侵入性很少。

服务微服务化之后,容器数量会比较多,如果查找问题需要对于每个容器的日志进行查看,会比较难定位问题,网易蜂巢平台提供统一的日志收集,分析,搜索服务,用户可以通过关键字进行搜索,将某个订单号在各个应用中的日志全部查询出来,则问题就一目了然了。

除了问题的定位,性能瓶颈的定位也是一个挑战,网易蜂巢引入服务端 APM 解决细粒度性能分析,通过不同应用之间的调用链,迅速发掘性能瓶颈。

在服务编排上, Kubernates默认的namespace只隔离replication controller,pod 等资源,网易蜂巢实现了节点、存储、网络的租户隔离,从而实现不同的租户不共享云主机节点,使用完全独立的VXLAN ID,满足公有云模式下租户的安全隔离需求。

 

 

同时刘超表示,在这个“唯快不破”的互联网时代,网易蜂巢将助力企业实现微服务化。

 

 

在如图中的架构里面,用户仅仅需要关心自己的应用的开发流程,实现微服务和DevOps,至于底层的IaaS层的计算,网络,存储,中间的PaaS的数据库,缓存,对象存储,上层的CaaS层的持续集成、镜像仓库、服务发现、服务编排、日志服务、APM等,以及对外的负载均衡和CDN服务,可以全部交给网易蜂巢平台来实现。更重要的是,网易蜂巢遵循开放、标准、稳定的原则,所有的层面全部使用开源的软件和开放的接口,使得服务本身易迁移、无绑定。

Web性能、运维、DevOps、容器、微服务等成为今年Velocity北京站的核心议题,也预示了云计算和企业级服务发展的趋势。网易蜂巢作为新一代云计算平台在DevOps、微服务等方面有着出色的表现,未来将继续为客户提供稳定、可靠、高质量的云服务。