In response, some of these companies took actions to discourage the behavior. MongoDB modified their software license to force any company offering hosting of the solution to also open source all of their underlying software. This effectively discouraged AWS from using any future version of MongoDB, as they weren’t willing to open source other proprietary aspects of AWS. They still offer a document-oriented database product in DocumentDB, which is pinned to the older version 3.6 of MongoDB (as compared to MongoDB’s latest version of 4.4). In Elastic’s case, they pivoted to an “open core” model. All their software is open source, in the sense that the source code can be viewed. However, more advanced features are covered by a proprietary license, which prohibits hosting by anyone except Elastic. In response, AWS forked the Elasticsearch project and created Open Distro for Elasticsearch, in an effort to engage the open source community against Elastic. Success of this has been limited. Currently, there are 32 contributors to Open Distro, most of whom are AWS employees. This compares to 149 contributors on the Elastic project. There is also an active court case regarding trademark infringement by AWS in their use of the Elasticsearch name.
If AWS and GCP are at two ends of the spectrum, Azure is in the middle. They will offer competitive products to the independent providers, but haven’t engaged in extensive re-purposing of open source projects. Since Microsoft has traditionally been a commercial software vendor, they leaned more towards building their own solutions for cloud services. Similar to GCP, Microsoft manages an accommodating partner program. This allows independent software providers to promote their products on the Microsoft Azure Marketplace. This program provides unified billing for joint customers and makes it easy for Azure customers to locate and provision solutions from the independent providers. For example, MongoDB Atlas, Elastic Cloud, Twilio SendGrid and Confluent have offerings available for purchase on the Marketplace.
This spectrum of differing approaches towards the independent software providers is interesting. For GCP, I think it is a strategy to catch-up with the other cloud providers and follows their “do no harm” philosophy. Azure is aligning with Microsoft’s broader sales strategy to offer a full bundle of products to large, traditional enterprises. By including alternatives to their own products in a bundle, their sales teams can still manage the relationship with the customer. It will be interesting to see if AWS takes a more conciliatory approach as well to independent software providers, particularly if their market share continues to decline.
A 2019 Gartner cloud adoption survey showed that of those companies on the public cloud, 81% were using more than one cloud service provider. The cloud ecosystem is expanding beyond the scope of a single cloud service provider for most large enterprise customers. This has been enabled by the commoditization of core capabilities amongst AWS, Azure and GCP. Enterprise IT organizations are spanning multiple cloud providers for a few reasons:
- Reliability. With ultra-high expectations for uptime, large enterprises want to ensure that they have a presence on more than one cloud provider in the event of a system-wide outage. While most cloud providers operate out of multiple regions for resiliency, network or software infrastructure issues could still impact the availability of a provider. Business continuity plans are increasingly requiring a multi-cloud configuration. SLAs for cloud vendors vary by provider and even service, but generally don’t exceed 99.99% uptime. While this sounds high, it still allows for almost an hour of downtime a year. The SLA for AWS Compute targets 99.99% but only gives a full refund if availability dips below 95% in a month, which translates into a day and a half of downtime.
- Negotiation Posture. If a cloud vendor knows that a customer is exclusively deployed on their infrastructure, they feel the customer is susceptible to lock-in. This leads to less leverage for the customer in negotiations for bulk price reductions at contract renewal. Large customers of every cloud vendor are assigned a sales rep, who has latitude around pricing of long term spend commitments. Also, cloud vendors offer other benefits, like escalated support and architecture consulting. These are easier for the customer to access if the vendor feels they are competing for spend.
- Features. The cloud vendors are developing specializations and customers may want to take advantage of particular services within each cloud provider. This optionality for customers has emerged as an outcome of breaking up their monolithic applications into stand-alone services. Services can be deployed on different cloud providers, if desired. For example, GCP has a strong practice around AI/ML, while Azure has invested heavily in IoT.
- Geographic Distribution. Some cloud providers have a stronger presence in certain geographic regions. For global enterprises, data localization requirements might argue for a different hosting provider by country.
As one example mentioned previously, Elastic has almost 5 times the number of code committers on the Elastic GitHub project than AWS has on its sponsored version of Open Distro Elasticsearch. Yes, AWS could decide that search infrastructure is more strategic to them and dedicate more resources, but I question whether these would be as productive or creative as Elastic engineers who have chosen to work on the Elastic open source project from the beginning. Also, each cloud vendor would need to duplicate this effort due to multi-cloud and there are only so many search specialists to go around.
As a service reaches critical mass, it begins to benefit from network effects. By examining the behavior of users within their services, providers can glean insights that make the product better. This can take the form of fewer bugs, more granular logic or more connections with outside systems. Observing customer behavior can also influence future product enhancements or spawn brand new products.
Talented employees will generally gravitate towards the independent software providers. This is primarily because greater financial opportunity and career growth exists. Most of the upside has been realized at Amazon, Microsoft or Google at this point. With market caps over $1T and employee counts exceeding 100k, a new employee risks getting lost in the crowd. It is easier to imagine the stock of DDOG, FSLY, OKTA, TWLO, NET, etc. continuing to increase in multiples of valuation. More importantly for ambitious employees, smaller, rapidly growing companies offer more career advancement and a sense that their contribution directly impacts the company’s success.
The cloud vendors do attract talent at the entry level and in senior management. For college grads unfamiliar with the technology landscape, a starter job at a cloud giant represents a great environment to cut their teeth. However, once they have built up a few years of experience, they tend to leave. At the top ranks, where the pay packages are lucrative, the cloud vendors can also attract talent. It’s the broad middle where the innovation happens and this tends to favor the smaller, independent companies.
Sometimes I hear investors immediately discount an independent software provider with the assertion that a particular cloud vendor will “crush them”. I think this bias was appropriate earlier in the adoption cycle for cloud hosting, when the cloud vendors were rapidly expanding their offerings and there were clear differences in the capabilities of each. As the cloud provider landscape has matured and multi-cloud deployments are favored by most enterprises, I think the pendulum has swung towards independent service providers in a number of categories. Their neutrality, focus, network effects and engineering talent provide a foundation upon which to deliver a rapid pace of product innovation and capabilities expansion. I believe this will only continue, allowing these independent software providers to grow into significant contributors to the overall software ecosystem.