The holiday period is over and there were a couple of very interesting announcements this week. GitHub now offers free private repositories, AWS has a MongoDB compatible database, and Fargate became a lot cheaper to use.
GitHub Free Private Repos
There are many things to like about GitHub, but one of the main complaints over the year has been that you had to pay for private repositories. Many of us work on a personal project that isn’t quite ready for public scrutiny but still needed to be stored somewhere that’s not our own laptop. However, we also prefer not to spend money that can otherwise go to a worthy cause like coffee or beer1.
This is an obvious conflict and it’s often solved by pushing your code somewhere else2. So I think we can all say that it’s a good thing GitHub now offers free private repositories, that can have 3 collaborators. It’s also an interesting move as this likely costs them money in the short term. I wonder if that means they’ll tie GitHub Actions to paid accounts3, or if they’re willing to take the hit due to the new ownership of the company.
At re:Invent, AWS announced several new databases, but it turns out that they kept one in reserve. Amazon DocumentDB (with MongoDB Compatibility)4 is a MongoDB compatible hosted solution. It is API compatible with MongoDB 3.6, which is a bit5 behind the current MongoDB version. It also won’t come as a surprise that some people, understandably, aren’t happy with AWS releasing this service.
But instead of talking about that, let’s have a look at what is actually going on here. Because in all honesty, I’m interested in a lot of similarities here with Aurora. In fact, if you look at what we know of the underlying structure it shows that, like Aurora, it uses a separation of data and compute with the data replicated 6 times across 3 Availability Zones. A lot of the wording, including the “(with MongoDB Compatibility)” part of the name, seems to be similar to what they say about Aurora as well.
Internally, Amazon DocumentDB implements the MongoDB 3.6 API by emulating the responses that a MongoDB client expects from a MongoDB server.
Reading between the lines here, but it sounds to me very much like AWS developed their own document database and is building compatibility modes on top of it. Which means that I wouldn’t be surprised if other compatibility layers are going to show up sooner or later, similar to how Postgres followed MySQL on Aurora.
When AWS announced Firecracker, it was clear that one of the major advantages for it is a purely internal one: it allows AWS to more economically handle spinning up Fargate and Lambda functions. It looks like they have now reached a point where this became impactful enough that they can lower the pricing for Fargate.
A quick calculation shows that while it’s still more expensive than EC2 instances6. It’s now “only” 50% more when comparing an m5.large to its equivalent Fargate option, where that used to be about double. The price changes are based on what you spin up, with the bigger options getting the most benefit as RAM got the biggest discount, but either way it makes me happy to see it become cheaper to use one of my favourite services.
AWS Client VPN
Lastly, I was reminded that AWS released their own VPN client. This is not the VPN solution they already had that works similar7 to Direct Connect, but a direct competitor to running your own VPN servers using something like Pritunl or OpenVPN in order to access your environment. However, as you can see in a couple of blog posts from my colleague Greg Cockburn, it still seems a very fiddly process, especially configuring the client on your computer8.
- Insert your preferred beverage here. [return]
- Many of my own repos started on BitBucket. [return]
- In which case I’ll sign up right away. [return]
- Yes, the full name sounds silly like that. [return]
- 3.6 was originally released 2 years ago. [return]
- Obviously, and of course you won’t run these anywhere close to 24⁄7. [return]
- Yes, there are quite some differences. [return]
- I wouldn’t care much if the one-time setup part is fiddly, but when everybody using it has to manually work through settings that’s a deal breaker. [return]
Related content you might like:
- Week 2, 2019 - Secrets in ECS; EKS Updates; Serverless Updates
- Week 39, 2018 - CloudFormation Macros; AWS Session Manager; Fargate Scheduling
- Week 31, 2018 - Lambda SQS event source; ALB redirects; Application Auto Scaling; Fargate in Sydney
- Week 24, 2018 - Microsoft Acquires GitHub; Siri Shortcuts; Amazon EKS
- Week 21, 2018 - Amazon Aurora Backtrack; SAM init; GitHub Checks API