作者:谷歌云副总裁Melody Meckfessel和Eric Brewer、谷歌云解决方案架构主管Miles Ward以及谷歌云开源战略负责人Sarah Novotny。
现在开放云无比重要。虽然如今大多数公司除了其内部环境外还使用单一公共云提供商,不过研究表明,大多数公司在今后几年可能会采用多个公共云和私有云。事实上,据2018年Rightscale研究(https://www.rightscale.com/blog/cloud-industry-insights/cloud-computing-trends-2018-state-cloud-survey)显示,员工数量不少于1000人的大企业中81%制定有多云战略;如果考虑上SaaS,大多数企业组织已经在实施多云。
开放云让客户可以随意选择哪种组合的服务和提供商可在将来最好地满足其要求。开放云让客户可以跨混合云环境高效地协调管理其基础设施。
我们信奉开放云计算的三个原则:
开放就是随时可以迁移应用程序――可以进出本地环境、谷歌云或另一个云。
开源软件促成丰富的想法和持续的用户反馈环路。
开放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兼容。
与我们共同构建开放云
如果你与我们一样信奉开放云,我们欢迎你参与进来。你可以贡献和使用开源库,并询问你的基础设施和云供应商它们在采取哪些措施来避免工作负载被锁定,从而帮助我们。我们相信,开放生态系统的成长速度最快,面对变化时更具有弹性和适应性。与你一样,我们注重长期。
去年Next大会上的主题演讲:进一步了解我们的想法。
值得一提的是,并非谷歌的所有产品都会在生命周期的每一个阶段以各种方式开放。在开展业务时,开放性并不是一种绝对,更多的是一种理念。不过可以预料,谷歌云会继续致力于确保产品具有开放性,为开源项目贡献代码,并开放一些内部项目。
行业交流群欢迎加入,群主微信:aclood(备注任职单位+职位,否则不予通过)