写点什么

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

  • 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:396696
用户头像

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

关注

评论

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

化工产业业态数字升级案例,看摩贝如何快速打通全场景互融互通?

数商云

数字化转型 企业数字化

我为 Netty 贡献源码 | 且看 Netty 如何应对 TCP 连接的正常关闭,异常关闭,半关闭场景

bin的技术小屋

Java 网络编程 Netty TCP/IP 6月月更

C++ 静态反射在网易云信 SDK 中的实践

网易云信

c++ 开发工具

【网易云信】C++ 静态反射在网易云信 SDK 中的实践

网易智企

c++ 开发工具

30倍加速,3毫秒极速识别,人、车、OCR等9大识别任务一网打尽

百度开发者中心

虎符交易所Hoo推出挂单活动 未成交订单最高可得 200%APY

区块链前沿News

Hoo 虎符交易所

ebook下载 | 灵雀云发布《 企业高管IT战略指南——为何选择容器与Kubernetes》

York

Kubernetes 容器 云原生 系统架构 技术选型

如何使用物联网低代码平台进行事件管理?

AIRIOT

物联网 低代码开发

架构实战营6期,毕业总结

本人法海

「架构实战营」

测试基础之:面试的信心来源于过硬的基础

甜甜的白桃

软件测试 核心竞争力 测试开发 功能测试 6月月更

频频破圈,走向百业:大模型的毕业季

脑极体

【LeetCode】数组中的 k-diff 数对Java题解

Albert

LeetCode 6月月更

盘点一些好用且小众的 Markdown 编辑器

宇宙之一粟

markdown编辑器 6月月更

JDBC连接MySQL数据库,访问数据库信息完成登录功能——保姆级详细教程(附所有java和jsp源代码)

写代码两年半

数据库 JDBC Java EE 6月月更

网站制作FAQ页面必要性及方法

小炮

力扣每日一练之二维数组上篇Day4

京与旧铺

6月月更

阿里云智能编码插件进行了一个上新大动作

阿里云云效

云计算 阿里云 云原生 代码

对抗软件复杂度的战争

阿里技术

软件架构 复杂度

集成测试时 MockMvc 无法注入

程序员小航

Java 后端 单元测试

【用户文章转载】版本管理这件事,没有偏执,惟有极致

龙智—DevSecOps解决方案

游戏开发 版本管理 CI工具链 周版本制度

通过DAO的现状,看Web3最具影响力的基础设施M-DAO

小哈区块

飞腾与百度发布云智一体机,金融领域AI场景成功落地“江苏银行”

百度开发者中心

感谢有你!Apache DolphinScheduler 项目 GitHub star 突破 8k

白鲸开源

Apache 大数据 开源 DolphinScheduler workflow

OpenHarmony开源开发者成长计划 | 知识赋能第六期预告—从零上手OpenHarmony智能家居项目

OpenHarmony开发者

OpenHarmony

通过DAO的现状,看Web3最具影响力的基础设施M-DAO

西柚子

如何针对海外不同地区进行音视频自动化测试?丨Dev for Dev 专栏

声网

自动化测试 Dev for Dev

IP核是什么?有什么类型?半导体IP核全攻略

龙智—DevSecOps解决方案

知识产权 半导体 芯片开发 半导体IP核 IP核管理

八大误区,逐个击破(3):在云上,变更和数据的管理都不足为虑

龙智—DevSecOps解决方案

atlassian云版 版本选择 迁移上云

模块九:毕业设计

本人法海

「架构实战营」

el-select数据量过大引发卡顿,怎么办?

华为云开发者联盟

前端 测试 数据 华为云

浅谈 REST API 身份验证的四种方法

wljslmz

REST API 6月月更

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