top | item 41477181

Ask HN: Is there any service on AWS that enables *INSTANT* deployment?

1 points| boronine | 1 year ago

My use case is a singleton HTTP server (no horizontal scaling). I already tried ECS, App Runner, Elastic Beanstalk among other tools. Every deployment option has minute+ downtime or otherwise takes minutes to complete. Is there any option on AWS to achieve instant deploy like Heroku? I simply want to restart my app with new code / new configuration.

8 comments

order

ibash|1 year ago

If you don’t need to scale and you want something simple you might try rolling your own blue/green deployment using nginx or haproxy.

The basic idea is that traffic gets served by nginx or haproxy and forwarded to your app server. When you deploy another app server and background process gets spun up. Then when the new app server is ready you have nginx/haproxy switch where it’s forwarding traffic.

You can do this on a regular vm and skip all the extra tooling.

ibash|1 year ago

I just realized you’re the creator of hsluv… thank you for that!

fragmede|1 year ago

If Heroku has what you want, why not just use them? Why waste time/money/energy/effort trying to make Amazon into Heroku?

boronine|1 year ago

I am happily using a few other AWS services for this project, provisioned by CDK. I thought I could simplify things my getting rid of Heroku altogether but this turned out to be an incredibly frustrating rabbit hole with no solution in sight. Unless I’m missing something obvious, it seems that Amazon is incapable of this seemingly easy task.

znpy|1 year ago

Ecs should do what you want, you’re probably using it wrong. You should probably boot the new app first release and then shut down the old one.

In this way whether the startup takes one or 10 minutes is irrelevant

boronine|1 year ago

I should have mentioned in my original post that my web server also has a background process which needs to be a singleton. I could split it off into a separate container, but this will require a third container because they need a shared cache that's used for rate limiting. At that point I have little to gain vs. just running a single "web" dyno on Heroku.

nathants|1 year ago

lambda update zip. few seconds.