变革早已始:对平台开发的一些思考

简介:

在 2012年的时候,我在豆瓣做 Douban App Engine ( a.k.a DAE)。那时候我遇到了一个问题,就是如何隔离 Engine 的 Runtime 和应用本身的 Runtime,如果不学 GAE 那样大规模 Mock Python 的话,无论怎么做隔离性上终究不会太完美。

变革早已始:对平台开发的一些思考

在 2013年春节过后,DAE 在豆瓣内部已经支撑起多数服务和应用,而我也因为职业规划准备离职去穿越亚洲,这时候一个叫 Docker 的虚拟化方案进入了我的视野。回想起 2012年我遇到的隔离性问题的,当时的我立刻被这个方案给吸引住了,即便在战火纷飞的阿富汗腹地,也靠着仅有的当地网络关注着这个项目的状态。

从我个人来看,随着业务的增长服务也会被逐步拆分,为了提高整体的服务器利用率和调度效率,平台自动化将会是一种比较好的选择。对应用耦合的,一般称为 PaaS,平台即服务,如果对硬件耦合的,一般称为 IaaS,基础设施即服务。如果纯粹靠 PaaS,隔离性上会比较让人担忧,如果是完全的 IaaS,过重的 overhead 会使得硬件利用率达不到预期以至于成本的失控。有些开源项目结合 IaaS 和 PaaS 去做自动化平台在我看来也不是一个很好的选择,毕竟公司千千万万,业务技术线也不能一概而论,二次开发也需要考虑平衡硬件和人力成本。所以我觉得一个好的平台应该做到严谨的隔离,无痛的扩展,简单的部署,可靠的支撑等几个方面,同时也不能损耗太多的性能,并且能易于上层的开发,降低公司成本。Docker 本身是个不错的基础技术,在隔离性和性能上取得了较好的平衡,相比之下 VM 虽然隔离很严谨,相对性能就损耗比较高了。并且 Docker 提供了一系列适合二次开发的 API,可以方便的低成本的做出一个适合公司本身自己技术栈的自动化平台,这对于很多发展型的公司而言那是极好的。

随着时间的推移,在容器方面我们也看到了很多后来者对于 Docker 的挑战,如 CoreOS 带来的 rocket,如有着更高隔离性的 Hyper 等。但在目前来说,我认为 Docker 的地位短时间来说很难被改变。一来大多数的公司主要以 Docker 作为基础组件构建对内的自动化平台,对更高层次的内核安全性需求没那么强烈,另外一方面基于 Docker API 的周边组件也趋于成熟,短期内其他竞品没那么完备的生态环境。随着 Docker 本身母公司的其他产品诸如 Docker Machine,Docker Swarm 等的成熟,以及业界第三方的产品如 Kubernetes 和 Mesos 等,Docker 在集群编排和调度领域的优势还会进一步扩大。

我依稀记得 2014年我来到芒果TV开始搞 Docker 相关自动化平台时的情景,虽然当时 Docker 在业内很火,但是实际上在公司内部使用的还是太少,太多公司只是用其做做实验性质的测试和体验。在 2015 年初始,新浪和腾讯两家的分享引爆了国内的容器圈,使用 Docker 作为其服务器集群调度和编排的公司如雨后春笋般冒了出来。同时 Docker 本身也在不断的进化,如 1.5 引入的 stats 接口,如 1.7 引入的日志模式,如 1.8 引入的 Volume,Docker 虽然不完美但已经足矣胜任生产环境下大规模使用。而未来即将到来的 libnetwork 等技术,也将会在 SDN 这块带来新的变革。

我不好说未来一定会怎样,是 Docker 胜出亦或是其他技术,但 Docker 所引发的这个趋势,将会在未来的一段日子里面,不断的影响着平台层面的开发人员。变革,早已开始。


本文作者:彭哲夫

来源:51CTO

相关文章
|
6月前
|
弹性计算 人工智能 测试技术
2026年阿里云服务器秒杀活动!2核4G月付9.9元、年付199元!附抢购攻略及备选方案
阿里云推云服务器秒杀活动:2核4G/200M仅9.9元/月、199元/年!限新用户,每日10点、15点开抢。本文详解抢购技巧(提前刷页、限时支付)及备选方案(99计划、e/u1实例),助开发者低成本上云!
2069 2
|
8月前
|
人工智能 分布式计算 大数据
阿里云大数据 AI 产品月刊-2026年1月
阿里云大数据& AI 产品技术月刊【2026年1月】,涵盖1月技术速递、产品和功能发布、市场和客户应用实践等内容,帮助您快速了解阿里云大数据& AI 方面最新动态。
|
10月前
|
Web App开发 人工智能 前端开发
借助 Playwright 实现响应式网页测试
本文介绍了如何使用Playwright进行高效的响应式网页测试。从环境搭建到基础、进阶测试,详细讲解了如何模拟多种设备视口、测试交互行为与断点布局,并整合视觉回归检查。文章还提供了最佳实践、常见问题解决方案及CI/CD集成示例,帮助开发者系统化验证网站在不同设备上的兼容性,确保一致的用户体验。
借助 Playwright 实现响应式网页测试
|
存储 数据处理
GDPR
【10月更文挑战第7天】GDPR
1055 7
|
Web App开发 前端开发 程序员
将微信公众号文章同步到阿里云开发者社区
本文介绍了一种通过自己拓展的浏览器插件,便捷地将微信公众号文章同步到阿里云开发者社区的方法。
821 6
|
机器学习/深度学习 人工智能 PyTorch
深度学习领域中pytorch、onnx和ncnn的关系
PyTorch、ONNX 和 NCNN 是深度学习领域中的三个重要工具或框架,它们在模型开发、转换和部署过程中扮演着不同但相互关联的角色。
1236 12
|
项目管理
「软件项目管理」一文了解软件项目团队计划
该文章全面介绍了软件项目团队计划的制定,涵盖人力资源规划、项目组织结构设计、责任分配矩阵(RAM)的应用、干系人管理策略及项目沟通计划的编制等多个方面,帮助项目经理有效地组织和管理项目团队。
|
测试技术 计算机视觉
ICLR 2024 Spotlight:自蒸馏激发CLIP模型的检测分割能力
【2月更文挑战第28天】ICLR 2024 Spotlight:自蒸馏激发CLIP模型的检测分割能力
771 1
ICLR 2024 Spotlight:自蒸馏激发CLIP模型的检测分割能力
|
SQL 安全 关系型数据库
sql注入原理和sqlmap命令的基础命令以及使用手法
sql注入原理和sqlmap命令的基础命令以及使用手法

热门文章

最新文章