开放云让客户可以随意选择哪种组合的服务和提供商可在将来最好地满足其要求。开放云让客户可以跨混合云环境高效地协调管理其基础设施。
我们信奉开放云计算的三个原则:
-
开放就是随时可以迁移应用程序――可以进出本地环境、谷歌云或另一个云。
-
开源软件促成丰富的想法和持续的用户反馈环路。
-
开放API让每个人都能够借鉴彼此的工作成果。
1. 开放就是随时可以迁移应用程序
开放云立足于这个概念:与某个云紧密相关不应该妨碍你实现目标。开放云信奉这样的理念:使用一种通用的开发和运营方法时可以将你的应用程序交付到不同的云,这将帮助你满足任何时候的任何优先事项,无论这个优先事项是最大限度地利用团队之间广泛共享的技能,还是迅速加快创新。开源是开放云的助推者,因为云端开源让你可以继续控制将IT资源投入于哪个方面。比如说,客户们在本地和多个云上使用Kubernetes来管理容器、使用TensorFlow来构建机器学习模型。
2. 开源软件促成丰富的想法和持续的用户反馈环路
借助持续的用户反馈环路,开源软件(OSS)可带来更好的软件,并加快步伐,但需要领导开源项目的人员和公司付出大量的时间和投入。下面是谷歌致力于OSS的几个例子以及所需要的不同工作量:
-
像Android这种OSS拥有开放代码库,开发完全是一家企业组织的责任。
-
像TensorFlow这种采用社区驱动型变更的OSS需要许多公司和个人之间的协调。
-
采用社区驱动型策略的OSS(比如与Linux基金会和Kubernetes社区合作)需要合作、决策以及就控制达成共识。
开源对谷歌来说至关重要,我们在企业理念中数次提到开源,我们还鼓励员工、实际上鼓励所有开发人员都参与开源。
我们使用BigQuery分析GHarchive.org数据后发现,2017年,5500多名谷歌员工向近26000个代码仓库提交了代码,创建了215000多个合并请求(pull request),并与无数社区积极交流,评论数量将近450000条。针对谷歌对开源界所作贡献的一次比较分析基于规范化数据框定了领先公司的相对位置(https://medium.freecodecamp.org/the-top-contributors-to-github-2017-be98ab854e87)。
谷歌员工为你可能听说过的流行项目积极贡献代码,包括Linux、LLVM、Samba和Git。
谷歌经常开源内部项目
谷歌发起的知名项目包括:
-
Kubernetes-容器编排
-
TensorFlow-github上的头号机器学习代码仓库
-
BBR拥塞控制算法-你的互联网完全变得更快
-
开放计算项目机架-为每个人提供高效的数据中心
-
gRPC-高性能RPC框架
-
Bazel-持续集成系统
-
VP9-免使用费的视频编码格式
-
Chromium-最受欢迎的浏览器
-
Android-最受欢迎的智能手机操作系统
-
Golang-开发大规模的简单、高效且可靠的软件
-
V8-高性能的JavaScript引擎
3. 开放API让每个人都能够借鉴彼此的工作成果
开放API让每个人都能够借鉴彼此的工作成果,反复、协作地改进软件。开放API让公司和开发人员得以随意更换服务提供商。经过同行评审的研究表明(https://dl.acm.org/citation.cfm?id=2556133),开放API加快了整个行业和任何一个特定生态系统的创新。开放API有赖于这种权利:通过创建独立又兼容的实现方法,重复使用已构建的API。谷歌致力于通过多个方面来支持开放API:加入开放API计划组织、参与制定Open API规范、支持gRPC、确保Cloud Bigtable与HBase API兼容、Cloud Spanner和BigQuery与SQL:2011兼容(借助扩展件)以及Cloud Storage与共享API兼容。