There are two public cloud. AWS and Azure. That is not actually the case – but that is how sometimes it may seem. A third cloud is frequently listed alongside the two main players. A cloud that has made serious efforts to be seen by developers and architects. By somehow becoming part of many open source projects. That third cloud is Google Cloud Platform. How big it is in terms of revenue, market share or service portfolio, I do not really know. What I do know is that one of the ways a cloud (service) gets selected is from the input of the technical staff: the developers and architects.
Some open source projects are shown in this image – with explicit support for AWS and Azure, Google Cloud in most cases and even Alibaba Cloud in some, Very much not included is Oracle Cloud Infrastructure. That helps reenforce the (unconscious, implicit) idea that OCI is not a player to be reckoned with.
No matter how cheap, secure, scalable and great Oracle Cloud Infrastructure may be, if OCI wants to be a serious public cloud player it has to make sure to be part of shortlists – to enter into the consideration made when a solution design is composed. And one of the things I believe is key in achieving that is a close association with important (open source) tools and products. In several ways:
- tutorials, how-to articles, documentation has to readily available describing how to run the open source products on Oracle Cloud and/or how to use them with OCI.
- the OCI documentation on Oracle’s site as well as the documentation for individual, selected open source products ideally describes how to work with said product on OCI, in addition to articles on community blogs, Medium and StackOverflow
- the most relevant open source products should be offered as managed service or at least as easily provisionable building block from the market place (and described in tutorials, articles, documentation)
- Oracle Kubernetes Engine is good example as is the support for Terraform in the OCI Resource Manager. Managed MySQL Database is great (and an obvious one) and the OpenSearch service is interesting. The tools and technologies included in the OCI Compute Linux Developer Cloud image are another example – although it is important that version updates are made regularly and the set of supported tools is evaluated often. Why does OCI not offer a managed Redis (or any Memory Cache) service?
- products that provide capabilities regarding cloud environments (for example Crossplane, Cloud Carbon Footprint, Dapr.io, Steampipe, Apache Camel, Terraform, Kong) should include OCI in their scope (as object of the product, as environment to run in); this may mean additional APIs or other provisions have to be made on the part of the OCI services – for example to provide Prometheus (metric) Exporters
- the Terraform Provider for OCI is a great example of how things could be. Steampipe also offers support for OCI – which is great and a happy surprise. Early support in Dapr.io for OCI services (Object Storage, Database) as added early 2022 (that was a contribution I made).
- The Kafka compliant APIs on OCI Streaming and the AWS S3 compliant interface for Object Storage are also examples of how OCI is made to play with the big boys.
Oracle of course does not have control over open source projects in general. And it probably does not have the staff – resources in terms of people, knowledge and budget – to itself actively participate in every last open source project. I believe it could certainly make a much better effort at being far more seen as out there – willing to interact and support. Ready to embrace the efforts from the open source community.
What Oracle also could do is invite community members (with a fondness for and knowledge of OCI and other Oracle technologies) to help. Help by writing about the combination of OCI services and open source products. And by creating plugins that connect open source products to Oracle technology and by contributing to open source projects with code that offers similar support for OCI as is offered for AWS, Azure (and GCP, Alibaba Cloud etc).
Oracle can facilitate this in several ways:
- publish on tangible steps – giving public kudos to the developers involved and including references to published work in newsletters and OCI documentation, tutorials etc
- offering points of contact within the OCI organization that can be consulted on technical details
- organize (online) sessions where community members can meet each other as well as OCI product management, share experiences and tips, join forces, get early insights and access to new OCI features and get a chance to bring their insights and opinions to the table
- establish a most wanted list (joint effort by Oracle and community) – a list of open source products that OCI injection into is most relevant and urgently desired
- provide generous cloud credits to anyone involved in this effort
- making donations to charitable causes as ” reward” for achievements by the OCI-Open Source community
I have made my biggest effort in the direction described in this article, when I built support for OCI Object Storage, OCI DBaaS and on premises Oracle Database for the Dapr.io project. I shared some of my experiences in this article and in this presentation. It was a great learning experience – and made me a better software developer as well as gave me a lot of insight into the functioning of an open source project. I am happy to repeat that exercises on other projects and I would be happy to collaborate with others.
If anyone from Oracle would like to reach out – I am all ears.
Article on how to run open source product Steampipe on OCI: Introduction to Steampipe on Oracle Cloud Infrastructure – https://developer.oracle.com/tutorials/steampipe/steampipe-intro/
The plugin for open source product Steampipe that adds support for OCI: https://hub.steampipe.io/plugins/turbot/oci