14 ms·
Imo lambdas are super cool, and the best way to have a no-headache fast-iteration time deployment service. What most people realize, that you don't have to go
by torginus 5mo ago
Imo lambdas are super cool, and the best way to have a no-headache fast-iteration time deployment service.
What most people realize, that you don't have to go microservice or fragment your code to a billion little repos, you could take a standard webserver, and move it to lambda, as long as you don't expect requests to be able to share on-server state.
- kikimora 5mo agoI second that. I use lambda as on demand server with one lambda handling entire web app.
- petesergeant 5mo agoWhat is lambda adding in this situation that throwing a docker image up somewhere isn't?
- torginus 5mo agoWell, complexity and iteration time for example. For docker, you need something that runs it (like your own cluster of EC2 or ECS), a private registry you push to, a separate user that provisions the actual server, while iteration (code changes, or something as simple as changing an env var) - involves the cycle of upload new image, shut down the old containers, try to start up the new ones, with all sort of weird failure cases, like if your container depends on a dockerhub image like alpine, you can run into a ratelimit scenario with dockerhub,as AWS is too cheap to pay for dockerhub access, and doesnt have their own mirror, so your containers may fail to start unless you explicitly mirror your base image. Then you have to take care to update your images etc. All this stuff, like ECS also lives in a subnet, so you have to manage routing, and public accessibility and stuff - its legit crazy amout of work compared to either lambda or just running stuff on a virtual machine. Imo it's the worst of all worlds.
- bpicolo 5mo agoYou’re describing incidental complexity of running a container on AWS, though. Which you can also do with lambda because there are 15 different ways to do it. Dead simple on GCP Cloud Run.
- viccis 5mo agoI agree. Web service hosted on Lambda that, for long running async tasks, uses FIFO SQS (optionally by way of FIFO SNS) connected to the task runner Lambda. Easy. It's not hard to deploy like OP claims. Build a Docker image, toss it in ECR, and use AWS CDK to do infra. Done.