Live data from Hacker News

Ask HN: Best free compute and other resources for startups?

news.ycombinator.com

71–80 of 145 posts

Re: Ask HN: Best free compute and other resources for startups?

#71
post #45
post #39

Earlier quoted context omitted.

The difficult part with AWS is local development. Waiting on AWS deploys is not a fast process and it kills momentum. LocalStack tries, but IMO it's not great.

Cleanly separate your logic from AWS dependencies using interfaces / protocols, summarily mock the required service by implementing said protocols (sparing you the pain of mocking the AWS services themselves), and voilà, you're running everything locally. It's easy. But if that's too much for you, the serverless framework has some nice plugins for all of it.

One of the smartest, easier things you can do early on during the development of a function is to treat the "core" of the function body as interface-agnostic. Write a function that just takes an object and returns an object, then write an Adapter function which accepts, say, a lambda event, calls your core handler, and returns whatever your lambda function needs (API Gateway response, etc).

This enables you to, with a little more effort, swap out the Interface Adapter part with, say, a CLI. Or, if you ever want to get off lambda, its a bit easier as well.

Mocking out dependencies, like S3 buckets, isn't worth it during a prototype/MVP. As time goes on, sure, go for it. But early on, just use AWS. Don't use localstack or any of the other various tools that try to replicate AWS. They're all going to get it wrong, hopefully in obvious ways, but usually in subtle ways that'll crash production, and you're just creating more work for yourself. Just use AWS. Just use AWS. Just use AWS.

Re: Ask HN: Best free compute and other resources for startups?

#72
post #4

your own computer.

I think this works for university student when 99.99% uptime isn't your highest priority. My university has static IP and near 700 up/down speed to each dormitory. So by investing in an old workstation I can easily work on various ideas and built MVP for it. I finally ended up running a crawler service for months before I migrated to a vps.

Re: Ask HN: Best free compute and other resources for startups?

#73
Other people have mentioned GCP/Firebase for the $300 free trial, but I'm going to specifically mention their startup program: https://cloud.google.com/developers/startups/

I'm hosting my game servers today on $1000 of free credit from this program. If you have VCs and whatnot, they'll be able to get more credits out of the same program for you, but this was great as a solo founder.

Re: Ask HN: Best free compute and other resources for startups?

#75
post #49

Earlier quoted context omitted.

I understand what one can do to create a leaky abstraction for local development. And it is leaky, and it can't be relied upon for correctness, and so while it makes "getting things done" possible, it makes getting things done correctly much more difficult than it needs to be. And local development when you've opted to use systems like Cognito are well beyond its scope, unless someone has something very clever that I…

I avoid systems like Cognito for that reason! SQS I've found to be ok when used as a backend for an abstraction. E.g. Laravel has a generic queue library that can be backed by file or redis or sql, ans using redis locally with SQS in production worked quite well with this.

SQS has different characteristics from a Redis queue or a RabbitMQ queue. That's the source of a lot of my nervousness around it: when those abstractions break and somebody-who-isn't-me has to debug it.

(I actually have an answer for local dev with Cognito because my current employer already had Cognito when I showed up, but it amounts to "have configurable signing keys and sign your own JWT in dev".)

Re: Ask HN: Best free compute and other resources for startups?

#76
post #63
post #52

Earlier quoted context omitted.

Until you need a database. And an API. And a website. And a CDN. And... And if you get as far as CloudFormation I just have one word of advice. Run!

CF isn't that bad... if you use one of the many abstraction tools like the CDK or SAM. It's ugly. It has a TON of powerful functionality that the documentation dives into way too early for most people. It has some weird behavior, especially when you get into networking or stateful resources. It's not perfect. But it gets the job done.

I worked at AWS on a service team, and did a lot of work with CF.

CF's limitations are in part due to the fact that AWS services are all independent entities and the interoperability services have tremendous difficulty getting other service teams to do their part.

The CloudTrail team, for instance, went to great lengths to furnish documentation for other teams to configure their API logging; I know our team fucked it up repeatedly because it was always an afterthought.

You can see in CF that some resources are basically useless, and are plainly provided by CF so that the service owner could check a box. Read "Updating DB Instances" here[1] and then look at all the properties that require replacement.

CF's design reflects this reality. It does not try to understand how services interact or what objects are. Rather, a "resource" knows how to set up and teardown and a few other operations.

If you manage resources exclusively through CF, it can handle most simple use cases. Which is the other limit of CF: by design, they're trying to keep their core invariants simple.

For instance, CF offers no mechanism to stage deploys. As an example, the popular Serverless tool has to initially construct a stack with just an S3 bucket, and then issue an update to that to include your actual stack.

Internally, we proposed doing staged deploys (because wound up hacking them together) and they weren't interested. And I think that's because they would rather keep the API simple even if it means users move away from CF; possibly a consequence of a loss leader business model.

So, yes, CF does get the job done at first, but you will eventually find yourself outgrowing it.

[1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGui...

Re: Ask HN: Best free compute and other resources for startups?

#77
post #64
post #59

Earlier quoted context omitted.

It's not the running that's the problem--it's the dependencies. You can run Serverless on Localstack, there's a plugin for it, and you can run locally while pointing at Localstack for your "AWS" dependencies, but the impedance mismatch remains pretty high. (Also, getting a bit further away from that, I find API Gateway kinda shifty and I dislike that it's so hard to run something like NestJS inside of Serverless. Doa…

But there is no deployment delay for the dependencies, so why can't calling the dependencies live in the cloud work? Are you saying you need an environment to test in that is 100% disconnected from the internet? Given the interconnectedness of APIs in 2019, that seems like making things harder than necessary.

For at-work projects, I don't want to/don't have the bandwidth to be responsible for developers not cleaning up after themselves or exploding DynamoDB with a million write requests or whatever. My team has not yet demonstrated that they can self-manage cloud dependencies and I don't have time to do it for them.

For personal projects, having to futz with Pulumi--and, I should note, Pulumi is the one I like--just to write some code on top of a web server just really sucks. Iterating on a heckin' cloud template just to be able to write some code sucks. Waiting (and as somebody who works on devops projects primarily at work, I am very familiar with how long one waits) destroys motivation to work on anything, both at the start of a session and in the middle--like, blowing away all those dependencies when I need to reset takes way longer than `docker-compose down && docker-compose up`. I am also incredibly cheap for personal projects, because I cannot rationalize spending money on something I'm not certain I'm going to ship, and so I can't adequately ensure that AWS is not going to start dinging my credit card for resources.

Re: Ask HN: Best free compute and other resources for startups?

#78

I'm something of a free tier connoisseur, and recently built an entire project with 13 forever-free tiers. It was more of a personal challenge than a business decision, but it might be a good reference for what's out there: https://www.simonmweber.com/2018/07/09/running-kleroteria-fo... Some other services not mentioned there that I've used for free recently: - humio cloud for log aggregation - nodequery for server m…

Simon Weber! You are a legend

Re: Ask HN: Best free compute and other resources for startups?

#80
post #4

your own computer.

I think this works for university student when 99.99% uptime isn't your highest priority. My university has static IP and near 700 up/down speed to each dormitory. So by investing in an old workstation I can easily work on various ideas and built MVP for it. I finally ended up running a crawler service for months before I migrated to a vps.

You can't really do NAT traversal on a university network though, so it's pretty useless for servers.
Post reply on HN