【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

Google 的所有应用都运行在容器中

  • 2014-06-16
  • 本文字数:1343 字

    阅读完需:约 4 分钟

Google 现在已经使用容器来运行它们集群中的所有应用,每周会启动超过 20 亿个容器。

Google 云平台的高级软件工程师 Joe Beda 在 Gluecon 上做了一个关于 Google 如何使用 Linux 容器技术的报告。他在报告中声称现在 Google 所有的应用都是运行在容器中的。这导致的结果就是 Google 每周要启动超过 20 亿个容器,每秒钟要启动超过 3000 个容器,这还不包括那些长期运行的容器。

Google 自从 2004 年起就已经开始使用容器技术了,于 2006 年发布了 cgroups,并在去年创建了名为 Let Me Contain That For You (lmctfy) 的项目。Imctfy 是 Google 开源版本的容器栈,它提供了用来代替 LXC 的 Linux 应用容器。当在单台机器上运行多个应用时,这些容器支持应用间的资源隔离,而且这会给人感觉这些应用是独自占用机器而运行的。这些应用可以知道容器的存在,这样它们就可以创建和管理它们自己的子容器了。

Google 的软件工程师 Rohit Jnagal 对 Imctfy 发表了评论

从 2007 年起,我们就已经用 Imctfy 来管理 Google 所有的与资源隔离性相关的需求了。到现在,它已经广泛使用在 Google 的各个基础设施中。在重新设计 Imctfy 的过程中,我们能够干净利落地将这一层分离出来(译者注:为了将 Imctfy 开源,需要对其重新设计,将其与 Google 的其他业务相关的代码进行分离),并且我们认为将它拿出来回报给开源社区是一件非常令人愉快的事情。

他还介绍了 Imctfy 与 LXC 之间的主要区别:

  1. 资源管理 API:显而易见,LXC 的 API 是支持命名空间的,并且支持导出 cgroup。而对于 Imctfy,Google 则试图提供一种基于用户使用意图的资源配置,这种配置方式就不再需要用户了解 cgroup 的具体细节内容了,因为 cgroup 的 API 可能不是很稳定并且难以应付。
  2. 优先级:Imctfy 提供了对资源共享和过量配置的支持,过量配置的机器上的批处理工作负载可以在机器相对空闲的时候运行。所有应用都会声明一个优先级和一些与延迟相关的需求,Imctfy 会通过管理所有的 cgroup 的具体细节内容来满足每个任务的需求。
  3. 编程接口:对 Google 云而言,Imctfy 是应用管理的最底层的模块。它会和其他工具以及程序一起协同工作,而且在构建位于其上层的更加复杂的工具链时,它具有更好的针对性和稳定性。

Google 同样也正在将容器集成到 Google 云平台中。Google 所开源的节点容器管理器(node container manager )是一个小的Python 代理,它旨在通过一个YAML 清单(manifest)来管理一组Docker 容器的。一个用来管理 Google 计算引擎(Google Compute Engine)上运行的容器的公开预览版本的系统已经可以使用了,它支持容器清单,并可以在启动时创建容器。该软件是基于 Debian 7 的,并且包含有 Docker runtime 和节点容器管理器。

Docker 同样能够利用 Imctfy 的优势,因为现在已经有一个针对Docker 的Imctfy 驱动,这还只是一个处于早期阶段的集成方案。由于有了这个新的功能,从Docker 0.9 以后,我们就可以在不包含LXC 的环境中运行容器了。

查看英文原文: http://www.infoq.com/news/2014/06/everything-google-containers


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-06-16 10:432930

评论

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

阿里云混合云Apsara Stack 2.0发布,加速政企数智创新

Lily

997页手淘Android面试真题解析火爆全网,Android基础72问

android 程序员 移动开发

Android事件分发机制及设计思路,Android程序员校招蚂蚁金服

android 程序员 移动开发

Android免打包多渠道统计如何实现,技术实现

android 程序员 移动开发

Android外包是如何转正网易的,大厂Android核心面试题出炉

android 程序员 移动开发

Android开发岗还不会这些问题,15个经典面试问题

android 程序员 移动开发

打破 Serverless 落地边界,阿里云 SAE 发布5大新特性

互联网 科技

分布式事务最经典的七种解决方案

Java 程序员 架构 面试 分布式

android插件化资源冲突,动脑学院课程值得买吗

android 程序员 移动开发

android热更新图片,动脑学院vip最新云盘

android 程序员 移动开发

Android开发面试题目,享学课堂android怎么样

android 程序员 移动开发

42岁程序员面试,动脑学院vip课程百度云

android 程序员 移动开发

Activity的6大难点你会几个,面试复盘

android 程序员 移动开发

Python代码阅读(第42篇):将输入转换成列表形式

Felix

Python 编程 Code Programing 阅读代码

2021最新网易Android面试题目,2021Android架构面试指南

android 程序员 移动开发

Android小程序开发实例,扔物线五期

android 程序员 移动开发

跨越行业绊脚石,阿里云函数计算发布7大技术突破

阿里巴巴中间件

阿里云 云原生 中间件 函数计算 云栖大会

打破 Serverless 落地边界,阿里云 SAE 发布5大新特性

阿里巴巴中间件

云计算 阿里云 Serverless 微服务 云栖大会

android热更新,扔物线课程怎么样

android 程序员 移动开发

Android中高级面试必知必会,Android学习路线

android 程序员 移动开发

Android体系化进阶学习图谱,动脑学院课程值得买吗

android 程序员 移动开发

Android大厂面试真题解析大全,腾讯T3大牛手把手教你

android 程序员 移动开发

Android开发入门教程!扔物线学堂

android 程序员 移动开发

Android开发社招面试解答之性能优化,Android开发面试题及答案

android 程序员 移动开发

Android开发还会吃香吗,Android开发经典实战

android 程序员 移动开发

2021金九银十,动脑学院官网

android 程序员 移动开发

AndroidHook机制连简单实战都不会凭什么拿高薪,Android开发两年

android 程序员 移动开发

Android开发自学技巧!rxjava扔物线

android 程序员 移动开发

跨越行业绊脚石,阿里云函数计算发布7大技术突破

每秒创建百万文件,百度沧海·文件存储CFS推出新一代Namespace架构

百度开发者中心

架构 文件存储 cfs

Android事件分发机制收藏这一篇就够了,阿里一线架构师技术图谱

android 程序员 移动开发

Google的所有应用都运行在容器中_DevOps & 平台工程_Carlos Sanchez_InfoQ精选文章