阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

大众点评容器云平台:运营超一年,承载大部分业务

  • 2015-08-10
  • 本文字数:2219 字

    阅读完需:约 7 分钟

Docker 容器的应用场景之一就是构建企业私有云平台,它简单、轻量的特点不仅可以降低私有云的构建难度,而且还能更高效的利用物理资源。同时,容器在安全性方面的短板恰恰因为私有云的应用场景而显得不再重要。但基于容器的私有云也有不少挑战,比如网络、监控、用户习惯等方面都需要有好的解决方案。大众点评在 2014 年 7 月就基于 Docker 搭建了私有云平台,目前平台承担了大部分的线上的业务,实例数 2800 个左右,Docker 物理集群 300 多台。InfoQ 记者采访了大众点评云平台首席架构师盛延敏,听他分享大众点评私有云平台实战过程中踩过的坑和经验教训。另外,盛延敏还将在 8 月 28 日~29 日举办的 CNUTCon 全球容器技术大会上分享题为《大众点评的容器私有云实战》的演讲,敬请关注。

InfoQ:点评是从什么时候开始使用 Docker 构建私有云平台的?未使用容器云之前,点评内部有基于其他技术搭建私有云吗?基于 Docker 的私有云会有哪些优势?有哪些挑战?

盛延敏:我们从 2014 年开始基于 Docker 搭建点评的私有云平台。原先点评的应用都是部署在 KVM 上的,大量重复性的操作耗费了运维同学不少的时间和精力,特别是扩容和缩容这块。所以就萌发了使用 Docker 搭建一个私有云平台的想法,借助云平台,将应用标准化,运维自动化。从目前使用情况来看,基本达到了原先设想的目标。

未使用容器云之前,点评内部谈不上使用过私有云。从实践来看,基于 Docker 的私有云可以带来更高效的物理资源使用率,更快的部署以及更加统一规范的标准化运行环境。较虚拟化云,其优势还是很明显的。关于挑战,我的主要体会是安全和规范,Docker 还不能做到完全的多租户环境,这一点对于安全敏感的企业级应用是一个不小的挑战。不过,对于私有云而言,这一点倒不是一个致命的短板。另外一个从实践来看,大家对于从 KVM 过渡到 Docker 的使用环境,使用习惯也是一个不小的挑战。举个例子,在 KVM 时代,应用上线前是一定要分配一些 KVM 实例的,这样可以加速应用上线发布的速度。到了 Docker 时代,Docker 可以支持实例秒级创建,是不是还一定要预先分配实例?这其实是一个使用习惯的问题。

InfoQ:你们的容器云平台使用了哪些开源的技术栈?

盛延敏:底层使用了 Docker,通过 Dockerfile、Docker Registry 统一管理应用的标准化运行环境。这一块是整个容器云的基石。
组件之间的交互使用了 NATS,通过消息的『发布 - 订阅』模型,将各个组件之间的耦合最小化。这也是参考和学习了 Cloud Foundry 公有云架构。

接入层使用了 Nginx 和 ZooKeeper,对于 Web 类型的应用,通过和 Nginx 暴露的 Restful 接口交互,完成实例在集群内的注册以及注销。对于服务类型的应用,通过在 ZooKeeper 上注册和注销服务 IP 和端口,便于服务客户端发现和更新该服务。

InfoQ:从我的理解来看,基于容器的私有云,需要用户了解 Docker 等技术,并且容器推荐的是使用微服务架构。那你们在内部推进这样的私有云是否困难?架构方面的问题如何解决?

盛延敏:你说的很对。所以我们从一开始就制定了合适的目标,其中最重要的是不要让用户感觉到 KVM 切换到 Docker 这个转换,在这个目标基础上我们做了大量的工作。比如,用户并不需要自己了解 Dockerfile,我们使用 Dockerfile 来定制应用运行的环境,如果需要更新运行时环境,也是由云平台团队来维护。如果你需要 Node.js 的环境,我们可以帮助定制一个 Node.js 的镜像。再比如,我们更改了 Docker 的代码,让其从推荐的微服务架构演变到目前的『虚拟机』架构。开发和运维可以通过 IP 直接访问到 Docker『虚拟机』,基于 IP 的应用基础架构也不需要开发和运维做剧烈的改变。通过这些方法,加上公司内部的支持,逐渐推动了私有云平台的加速建设。

InfoQ:目前有哪些业务跑在容器上了?怎么样的业务适合容器云?

盛延敏:基本上除搜索和数据库以外,点评现有的业务大多都有跑到容器上的。当然覆盖率还在提升当中。只要是可以标准化的业务,经过改造基本都可以跑到容器云上。当然这里面也有一些特殊情况,例如 IP 本身是不是对外暴露的,是否可以支持横向扩展等等。

InfoQ:监控、网络方面的问题是如何解决的?

盛延敏:监控点评有业绩比较有名的 CAT(Central Application Tracking),所以我们的监控也是接入 CAT 的。通过收集 CGroups 和 Docker 实例的实时信息,将内存、CPU、网络等源源不断的上报到 CAT。再由 CAT 提供查询,检索和展示。当然,也支持告警。

关于网络,主要是采用了 Linux bridge 工作在 level 2 的模式,使公共 IP 得以暴露出来,这部分我们是做了定制的。

InfoQ:目前私有云的有哪些基础功能?可以做什么,不可以做什么?接下来有什么规划?

盛延敏:主要的基础功能包括实例的创建和销毁、缩容和扩容,和 DevOps 工具集成等等。接下来会把精力放到整个平台的演进上,包括模块的进一步拆分,新的镜像的支持,和运维工具 Puppet 的集成等等。

InfoQ:这么长时间的应用,有做过复盘吗?未来有什么计划?

盛延敏:我们还是复盘过的,其实我们自己觉得也比较幸运,刚开始决定做 PaaS 的时候,正是 Docke 技术出现并繁荣的时候,在 Docke 上构建整个私有云平台是一个比较明智的决定。更早一点的话,说不定就使用 LXC 或者 Warden 了。未来的计划还是跟公司的业务需求紧密结合,最大能力的发挥 PaaS+Docker 的威力。

InfoQ:你将在 CNUTCon 上分享哪些内容?

盛延敏:上述的内容都会有涉及到。另外,还有大量我们的『干货』分享,都是我们曾经踩过的坑哦。欢迎大家捧场。谢谢!

2015-08-10 08:396090
用户头像

发布了 219 篇内容, 共 134.9 次阅读, 收获喜欢 190 次。

关注

评论

发布
暂无评论
发现更多内容

SpringBoot 实战:优雅的使用枚举参数

看山

Java Sprint Boot Effective Spring 10月月更

记一次Kafka服务器宕机的真实经历!!

冰河

Docker kafka 运维 服务器 消息队列

阿里P8呕心沥血整理出这份32W字Java面试手册,竟然在Github上标星80K+

Java 架构 面试 程序人生 编程语言

011云原生之事件驱动架构模式

穿过生命散发芬芳

云原生 10月月更

研发应用--Prometheus

en

Prometheus

接棒运动赛事!工厂里也有热血竞技?

脑极体

疫情反复,声网如何助力青岛教育局保障线上教学体验?

声网

人工智能 网络

「人工智能科普系列」【29】人类将如何变革--走出金字塔模型(上)

数据与智能

人工智能

《C++ Primer Plus第六版》读书笔记

IT蜗壳-Tango

10月月更

DjangoTask2

南湖职业技术学院机械狗

四面阿里巴巴如愿拿到offer定级P7,为此我筹备了半年

程序员 架构 面试 大前端 java

自我提升:高效能人士的 7 个习惯学习笔记(三)

程序员架构进阶

读书笔记 自我管理 自我提升 10月月更

OpenCV学习(一):简介

轻口味

android OpenCV 音视频 10月月更

浅谈云上攻防--SSRF漏洞带来的新威胁

腾讯安全云鼎实验室

漏洞分析 SSRF

逛街时偶然发现的阿里P8Java成长笔记,竟然在Github上标星90K+

Java 架构 面试 程序人生 编程语言

在GitHub热屠榜的Spring Cloud Alibaba源码笔记,竟然出自此人之手!

Java 架构 面试 程序人生 编程语言

C++ 20语言特性

赖猫

c++ 后台开发 后端

''内卷"把我逼成什么样了!气得我把 Github 上所有面试题都整理了一遍!

程序员 架构 面试 后端 java

微博评论架构设计

小智

架构训练营

这是我在金九银十收到的第五个 Offer:字节跳动 Java 研发岗

Java 程序员 架构 面试 后端

研发效能度量引发的血案

CODING DevOps

DevOps 团队协作 研发效能 腾讯云 CIF 峰会 度量

面试失败总结,这577道LeetCode题Java版答案你值得拥有

Java 架构 面试 程序人生 编程语言

空降Github榜单,火爆全网的Spring Security手册及源码笔记,竟然标星103K

Java 架构 面试 程序人生 编程语言

想不明白!Github上竟然有阿里专家仅凭800页MySQL笔记火了

Java 架构 面试 程序人生 编程语言

区块链+数字经济,我们看到了什么

CECBC

“无用发明家”告诉你,5G推开了三重门

脑极体

Flutter 无埋点SDK实现

GrowingIO技术专栏

flutter 大前端 sdk SDK测试

产品设计:娱乐化思维

石云升

产品设计 产品分析 10月月更

云原生消息、事件、流超融合平台——RocketMQ 5.0 初探

阿里巴巴中间件

阿里云 RocketMQ 云原生 中间件 消息

微信频繁读取 iOS15 用户的相册?

池建强

微信 隐私

双非本科怎么了,照样拿到阿里offer!分享阿里技术四面+交叉面+HR面难忘经历

Java 程序员 架构 面试 大前端

大众点评容器云平台:运营超一年,承载大部分业务_服务革新_小盖_InfoQ精选文章