【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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:432928

评论

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

【刷题记录】9. 回文数

WangNing

7月月更

Docsify 配合 Github Pages 搭建一个自己的云笔记

宁在春

GitHub Pages docsify 7月月更

成都 Meetup|分布式数据库 企业降本增效新引擎

OceanBase 数据库

数据库 程序员 oceanbase 分布式, 降本增效

开发前的开胃小菜之前端开发规范🍖🍖

猪痞恶霸

前端 7月月更

超越对齐-企业数字化转型之路

涛哥 数字产品和业务架构

企业架构 数字化转型

AI简报-GAN和CGAN

AIWeker

深度学习 GAN AI简报 7月月更

密码密钥硬编码检查

华为云开发者联盟

安全 后端 密钥

用 AnimatedBuilder 分离组件和动画,实现动效复用

岛上码农

flutter ios 安卓 移动端开发 7月月更

上海电信发布公共算力服务,联合华为等伙伴签订“智能算力应用联合创新中心”行动计划

Geek_2d6073

新星计划Day6【数据结构与算法】 链表Part2

京与旧铺

7月月更

云上解锁Web3.0 阿里云XR平台助力彼真科技呈现沉浸式演唱会

阿里云弹性计算

XR 视觉计算 虚拟演唱会

赛博女娲,怎么造数字人?

白洞计划

面试前我做了这三件事,结果居然直接....

KEY.L

玩转Liunx系统,看这篇文章就够了(一)

Java学术趴

7月月更

Istio的流量管理API

阿泽🧸

7月月更 Istio流量管理

拔掉电源会怎样?GaussDB(for Redis)双活让你有备无患

华为云开发者联盟

数据库 后端

容错、熔断的使用与扩展

神农写代码

小程序表单-2

小恺

7月月更

AWS CloudTrail

冯亮

云计算 DevOps AWS

中车*IoTDB | 构建城市轨道交通车辆智能运维系统,应对日百万人次客流量

Apache IoTDB

长安链研究笔记-IOC容器

长安链

Java类的特性之内部类

未见花闻

7月月更

老树开花——用ImageProcessor快速搭一个图床应用

为自己带盐

dotnet 7月月更

王者荣耀商城异地多活架构设计

极客土豆

浅入浅出mybatis(三)

ES_her0

7月月更

研发效能生态完整图谱&DevOps工具选型必看

laofo

DevOps cicd 研发效能 持续交付 工程效率

静态广播发送流程分析

北洋

android 7月月更

GPU资源池的虚拟化路径

Finovy Cloud

GPU服务器 显卡、gpu

Docker入门(一)

神农写代码

阿里云架构师朱波:云上高性能计算加速药物研发

阿里云弹性计算

高性能计算 生命科学 EHPC

金融行业的双模核心

穿过生命散发芬芳

7月月更 双模核心

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