Today Amazon launched DocumentDB with MongoDB 3.6 compatible API. This is a fully managed service and is intended to be a drop in replacement for MongoDB. Also, AWS has long been accused of taking the best open-source projects and re-using and re-branding them without giving back to those OSS communities.
MongoDB's founder says:
Imitation is the sincerest form of flattery, so it’s not surprising that Amazon would try to capitalize on the popularity and momentum of MongoDB’s document model. However, developers are technically savvy enough to distinguish between the real thing and a poor imitation. MongoDB will continue to outperform any impersonations in the market.
What do you think? Are you going to build your future apps using DocumentDB?
First, Although from the retaliation stand point, people shouldn't be using it but any company would prefer to keep one cloud service for their whole stack unless there are specific features which are available on Atlas but not on DocumentDB.
Second, it's surprising that no cloud service were supporting MongoDB specific VMs (I dont know the legal reasons behind it). Only MongoDB Atlas was the prominent player in the market --- which sounds like a monopoly to me and Amazon loves to break the monopolies regardless of the domain.
Third, I've used MongoDB Atlas ~1.5years ago and it was decent for running prod applications then. They weren't providing much options for guaging performance bottlenecks etc. but I don't know the current state though.
Finally, MongoDB as a Company doesn't engage themselves with Startup ecosystem but instead focusing more on Enterprise level and I've noticed that the adoption of MongoDB is incredibly high in blooming startups. All the startup accelerators and incubators provide huge amount free credits sponsored by AWS which will really reduce these startups' running cost if they adopt DocumentDB.
Although Amazon doesn't give back anything to OSS community(which they should) but introducing MongoDB support in their Cloud Service indirectly benefits Startups and Enterprises to an extent.
I'd be curious to know thoughts from other people too.
I do feel Amazon should have open-sourced this kind of technology. At work, we have hit the problems with MongoDB which many people face:
- Huge number of concurrent writes/reads
- Re-sharding as data continues to expand rapidly
If such maintenance pain points are reduced by a managed service, it does allow developers to be more productive.
However, the article mentions that DocumentDB is based off of Mongo from 2 years ago! That is a cause for concern.
Really feel that technology with this kind of promised impact should have gone the Kubernetes way and enabled everyone to use and contribute. Maybe this pushes Google to follow suit, albeit the OSS way.
We have to agree that AWS has not the same track of record about open source contributions than Microsoft or even Google, but they still did some useful stuff: s2n , FreeRTOS, and more recently Firecracker.
And one of my favourite contributions from AWS to the Open Source community is the TLS support in Redis. Back then they build Elasticache to mimic Redis, they added TLS support, then (later) the shared this with the open source.
I do understand the point from the Atlas guys, because so far if you wanted to get a managed MongoDB which was compliant with SOC2 or HIPAA, your choices were very limited. DocumentDB, like the last few new services from AWS, comes with PCI/DSS, HIPAA, Soc2 compliance from the get-go. So from an economic standpoint, this is a new big competitor to Atlas business . Then we'll see if they do like what they did with Redis: share their improvements with the oss community... or not. Since MongoDB design as a very bad history of security decisions (the change of the defaults to less secure choices is what cause that huge Mongodbcalypse 2 years ago, and many MongoDB databases are still opened to the public because of the bad design decisions they made. My point here is that, as an entrepreneur, if I have to use a document store and want Mongo, I have a few options:
- use the open source version and do everything myself
- use Atlas offering from the MongoDB authors.... they start to get some mileage, but they're still pretty new
- use AWS DocumentDB, with AWS security-by-default philosophy. If I decide to use a managed offering, I'm tempted to trust AWS more, they have a glorious history of security by default philosophy.... and compared to the history of MongoDB, that means a lot to me. We have to pick our battles, an even though I'd like to see AWS give as much to the OSS community as Microsoft does, at the end of the day I have to use the best tools I have to build a product, and if that choice gives me more resources to contribute to other projects, that's fine ;-)
It's only natural that they do. Some big companies see the potential of open source for themselves and have found ways to help and benefit from it, like Microsoft. Others just want to get a fast growing big piece of the pie, until the whole pie is for them and them only ;-)
And, as others have said above, many customers want this. There is still a huge number of companies that are afraid of "open" in general. They want the benefits, but not with an open door. So they want to pay for private clouds with proprietary software and then sleep comfy at night