How we built Hamiltix.net for less than $1 a month on AWS
21–30 of 77 posts
Re: How we built Hamiltix.net for less than $1 a month on AWS
#22Using Codenvy for development, Github for code, Netlify for deployment and hosting, and Firebase for a database, in total I spend exactly nothing on my side projects.
All great services except Firebase. It's hard to version control development and it's a lock in platform that's hard to migrate away from.
Re: How we built Hamiltix.net for less than $1 a month on AWS
#23> After the free-tier expires it will be less than $5, but the fact remains: it's crazy cheap. I like the idea behind serverless development, but DO is $5/month and is easy to setup and maintain. From what I understand as your business grows AWS costs skyrocket and just starting out it's more complicated than a DO solution. The idea is great, but looking forward to the day where serverless is the default solution bec…
The costs skyrocket if you’re not doing it right - otherwise it tends to be linear with request count. The nice thing, though, is that you don’t have to panic or do anything at any scale - it’ll just keep running along. Once you hit high levels of traffic, instead of panicking and trying to add more servers and fixing DB structure, you do a cost benefit analysis and see what to do next. Either work on reducing your c…
> Once you hit high levels of traffic, instead of panicking and trying to add more servers and fixing DB structure, you do a cost benefit analysis and see what to do next. Either work on reducing your cost slope, or make it logarithmic by moving to regular servers.
...and that's a good reason to try to avoid the lock-in of AWS specific services. Relatively entry level setups on alternative platforms will let you scale well past the system where AWS costs starts to get painful and people start panicking about how to cut costs. When you hit that point you really don't want to be facing a major re-engineering effort to be able to even use other options to bring the cost down just as the costs are soaring.
Re: How we built Hamiltix.net for less than $1 a month on AWS
#24Earlier quoted context omitted.
All great services except Firebase. It's hard to version control development and it's a lock in platform that's hard to migrate away from.
Try https://github.com/amark/gun , it is a popular (~7.5K stars) truly open source (MIT/ZLIB/Apache 2) database that has Firebase like features (realtime sync) plus a lot more, like graph/table/document/relational data and a P2P/decentralized architecture, by yours truly. :)
Re: How we built Hamiltix.net for less than $1 a month on AWS
#25Earlier quoted context omitted.
Try https://github.com/amark/gun , it is a popular (~7.5K stars) truly open source (MIT/ZLIB/Apache 2) database that has Firebase like features (realtime sync) plus a lot more, like graph/table/document/relational data and a P2P/decentralized architecture, by yours truly. :)
is there something with in-depth info focused on Gun's graph database abilities?
We have pretty in depth conversations on the chat room too, here https://gitter.im/amark/gun but I'm more than willing to answer any other questions you have that might not be covered!
Re: How we built Hamiltix.net for less than $1 a month on AWS
#26"Getting a push alert any time there is an error helps us respond to issues as soon as they come up. " Oh god no. Maybe if this system is not expected to ever grow in complexity. Otherwise this will become a big source of frustration really soon. And even if it does not, it's very easy to get a flood of non-actionable alerts for a transient condition. It would be better to collect error rates and alert on that. Also…
Re: How we built Hamiltix.net for less than $1 a month on AWS
#27Great work! I love reading stories like this. Lambda isn’t for every usecase but I’d say a large majority of CRUD apps can use this architecture and reduce costs.
Re: How we built Hamiltix.net for less than $1 a month on AWS
#28Re: How we built Hamiltix.net for less than $1 a month on AWS
#29Earlier quoted context omitted.
The costs skyrocket if you’re not doing it right - otherwise it tends to be linear with request count. The nice thing, though, is that you don’t have to panic or do anything at any scale - it’ll just keep running along. Once you hit high levels of traffic, instead of panicking and trying to add more servers and fixing DB structure, you do a cost benefit analysis and see what to do next. Either work on reducing your c…
The problem is the per request cost is going to be astronomical compared to what it needs to be once you e.g. get above the initial 1 GB/month tier. Bandwidth at AWS costs about 50 times as much as with Hetzner for example. > Once you hit high levels of traffic, instead of panicking and trying to add more servers and fixing DB structure, you do a cost benefit analysis and see what to do next. Either work on reducing…
It's actually closer to 70x
Hetzner: 1.25 USD per TB (after 30 TB free per server) [1]
AWS: 90 USD per TB [2]
So, 100 TB at Hetzner will cost you 125 USD (not counting the 30 TB free). You would pay 9000 USD at AWS.
Re: How we built Hamiltix.net for less than $1 a month on AWS
#30Great work! I love reading stories like this. Lambda isn’t for every usecase but I’d say a large majority of CRUD apps can use this architecture and reduce costs.
For the large majority of CRUD apps the least cost you should be concerned about is hosting, but development time. This kind of architecture adds an extra layer of complexity that is trivially solved with most of the web frameworks out there. I love Serverless, which I chose to design and build a couple of applications, but for some use cases it might not be the best solution.
The CRUD functions themselves are easy to write and test.
Then everything else is handled by the infrastructure layer. Auth, security policies, rate limiting, request timeouts, autoscaling, logs, tracing, etc.
With Rails the developer has to build a lot of this into the application layer. And the dev has to do more operations over time to maintain the app and database.
I am working on a boilerplate app that demonstrates all the functionality you get from “serverless” and documents all of the things we no longer have to worry about: