By Melody Meckfessel and Eric Brewer, Vice Presidents, Google Cloud, and Miles Ward, Director of Solution Architecture, Google Cloud
Open clouds matter more now than ever. While most companies today use a single public cloud provider in addition to their on-premises environment, research shows that most companies will likely adopt multiple public and private clouds in the coming years. In fact, according to a 2018 Rightscale study, 81-percent of enterprises with 1,000 or more employees have a multi-cloud strategy, and if you consider SaaS, most organizations are doing multi-cloud already.
Open clouds let customers freely choose which combination of services and providers will best meet their needs over time. Open clouds let customers orchestrate their infrastructure effectively across hybrid-cloud environments.
We believe in three principles for an open cloud:
- Open is about the power to pick up an app and move it—to and from on-premises, our cloud, or another cloud—at any time.
- Open-source software permits a richness of thought and continuous feedback loop with users.
- Open APIs preserve everyone’s ability to build on each other’s work.
1. Open is about the power to pick up an app and move it
An open cloud is grounded in a belief that being tied to a particular cloud shouldn’t get in the way of achieving your goals. An open cloud embraces the idea that the power to deliver your apps to different clouds while using a common development and operations approach will help you meet whatever your priority is at any given time—whether that’s making the most of skills shared widely across your teams or rapidly accelerating innovation. Open source is an enabler of open clouds because open source in the cloud preserves your control over where you deploy your IT investments. For example, customers are using Kubernetes to manage containers and TensorFlow to build machine learning models on-premises and on multiple clouds.
2. Open-source software permits a richness of thought and continuous feedback loop with users
Through the continuous feedback loop with users, open source software (OSS) results in better software, faster, and requires substantial time and investment on the part of the people and companies leading open source projects.
Here are examples of Google’s commitment to OSS and the varying levels of work required:
- OSS such as Android, has an open code base and development is the sole responsibility of one organization.
- OSS with community-driven changes such as TensorFlow, involves coordination between many companies and individuals.
- OSS with community-driven strategy, for example collaboration with the Linux Foundation and Kubernetes community, involves collaborative, decision-making and accepting consensus over control.
Open source is so important to Google that we call it out twice in our corporate philosophies, and we encourage employees, and in fact all developers, to engage with open source.
Using BigQuery to analyze GHarchive.org data, we found that in 2017, over 5,500 Googlers submitted code to nearly 26,000 repositories, created over 215,000 pull requests, and engaged with countless communities through almost 450,000 comments. A comparative analysis of Google’s contribution to open source provides a useful relative position of the leading companies in open source based on normalized data.
Googlers are active contributors to popular projects you may have heard of including Linux, LLVM, Samba, and Git.
Google regularly open-sources internal projects
Top Google-initiated projects include:
- Kubernetes – container orchestration (github)
- TensorFlow – #1 machine learning repository on github
- BBR congestion control algorithm – your Internet just got faster (github)
- Open compute project rack – efficient data center for everyone (pdf)
- gRPC – high performance RPC framework (github)
- Bazel – continuous integration system (github)
- VP9 – royalty free video encoding format (project)
- Chromium – the most popular browser (github)
- Android – the most popular smartphone operating system (website)
- Golang — develop simple, efficient and reliable software at scale (github)
3. Open APIs preserve everyone’s ability to build on each other’s work
Open APIs preserve everyone’s ability to build on each other’s work, improving software iteratively and collaboratively. Open APIs empower companies and individual developers to change service providers at will. Peer-reviewed research shows that open APIs drive faster innovation across the industry and in any given ecosystem. Open APIs depend on the right to reuse established APIs by creating independent-yet-compatible implementations. Google is committed to supporting open APIs via our membership in the Open API Initiative, involvement in the Open API specification, support of gRPC, via Cloud Bigtable compatibility with the HBase API, Cloud Spanner and BigQuery compatibility with SQL:2011 (with extensions), and Cloud Storage compatibility with shared APIs.
Build an open cloud with us
If you believe in an open cloud like we do, we’d love your participation. You can help by contributing to and using open source libraries, and asking your infrastructure and cloud vendors what they’re doing to keep workloads free from lock-in. We believe open ecosystems grow the fastest and are more resilient and adaptable in the face of change. Like you, we’re in it for the long-term.
It’s worth noting that not all Google’s products will be open in every way at every stage of their life cycle. Openness is less of an absolute and more of a mindset when conducting business in general. You can, however, expect Google Cloud to continue investing in openness across our products over time, to contribute to open source projects, and to open source some of our internal projects.
If you believe open clouds are an important part of making this multi-cloud world a place in which everyone can thrive, we encourage you to check out our new open cloud website where we offer more detailed definitions and examples of the terms, concepts, and ideas we’ve discussed here: cloud.google.com/opencloud.