当前互联网行业,内部 IT 基础资源云端化是主要趋势。云平台将资源管理抽象出来,比如云主机、云 DB 等,以服务的方式提供给用户,按需使用,从而带来更大的灵活性与经济性。YY 游戏早已建立面向内部业务使用的云平台,例如升龙系统一、二,云DB ,游戏云等。
随着主机、DB、缓存、存储等独立服务抽象出来,那么必然有一个大的容器,将这些个体服务整合成一个整体。这个容器就是VDC,即虚拟数据中心。在传统IT 环境里,主机、DB、缓存、存储服务器,都位于物理DC(数据中心)里。在云端化进一步发展后,物理DC 也将抽象出来,形成VDC,在更高的层次上为用户提供基础服务能力。
VDC 不是很新的概念,Amazon AWS 很早就提出了 VPC(虚拟私有网络)。VDC 跟 VPC 没有本质的不同,VDC 是建立在 VPC 之上。也就是说,只有 VPC 得以实现,VDC 才能产生。在 VDC 里,网络由用户自己定义,包括二层网络、三层网络(子网)、路由、安全策略、负载均衡等,都是用户控制。比如张三在他的 VDC 里,自己声明了一个 192.168.1.0/24 地址段,所有主机都使用这个段的 IP。李四也在他的 VDC 里,声明一个相同的、或不同的地址段,并分配 IP 地址给主机。
使用 VDC 的好处至少包括:
- 安全。每个 VDC 彼此隔离,一个 VDC 里的安全问题,不会影响到其他 VDC。比如某个主机被黑,黑客难以渗透到这个主机所在 VDC 之外的其他 VDC。
- 灵活。VDC 里每个资源,甚至包括 VDC 自身,都以服务的方式提供。用户可以通过控制面板,或者 API 的方式来使用这些资源。相比物理 DC 来说,存在极大的灵活性。
- 经济。VDC 里的资源按需使用,对成本管控无疑有利。YY 游戏的云平台成本节省比率大概在 40% 左右。
- 易管理。对大而杂的物理 DC 而言,最大的问题是容量管理。每个物理 DC 里混合了多个业务,在统计它们的容量时很头痛。而 VDC 与项目挂钩,每个项目使用一个独立的 VDC,在容量管理方面就容易很多。可以统计出历史容量报表,并根据业务发展趋势(PCU、DAU 等),自动做好容量规划。容量管理对象包括 CPU、内存、磁盘、带宽等。
VDC 内部资源包括各个抽象化的具体服务,如云主机、云 DB 等,如下示意图:
这些抽象化的个体服务,位于虚拟私有网络里。用户接入 VDC 后,访问它们就如同在物理 DC 里一样方便。第三方的管理服务,比如部署系统、研发管理系统、监控系统、QA 系统,都实例化运行,在每个 VDC 里发挥作用。升龙部署系统有点类似于 AWS 的 OpsWorks,是一套综合部署与运维平台。
VDC 发展趋势必然是跨物理 DC。在分布于各地的物理 DC 基础上,抽象出面向用户的 VDC 服务。而用户甚至无需关注物理 DC 的分布,只需要按正常方式使用 VDC 资源,由 VDC 自身来保证服务的架构、性能、扩展性。如下图所示:
用户的项目,或者项目组,接入专属的 VDC。VDC 之间彼此隔离,并不能直接通信,如果需要通信可以走 VPN 隧道连接。位于办公室的用户,也通过 VPN 的方式接入生产网 VDC。在 YY 游戏云平台上,每款游戏都是接入一个独立的 VDC。
随着技术的发展,物理 DC 的硬件条件,包括空调、电力、安防、监控等,也可以逐步抽象成服务,为用户的 VDC 提供更完善的基础服务。我想在不久的将来,互联网公司的 VDC 发展将全面取代物理 DC,实现更灵活高效的 IT 基础服务。
感谢魏星对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论