5 ms·
Why lambda? Just run nodejs. The cloud has made otherwise smart people into unthinking drones. You don’t need any of the cloud stuff, except a Linux virtual
by andrewstuart 3y ago
Why lambda?
Just run nodejs.
The cloud has made otherwise smart people into unthinking drones.
You don’t need any of the cloud stuff, except a Linux virtual machine. Stop drinking the cloud kool ade, it’s making things much more complex and expensive for questionable gain.
Learn how to, you know, run software on a Linux computer.
- fuzzy2 3y agoAnd suddenly you have to manage an entire Linux server. (-:
- andrewstuart 3y agoOh the burden.
- kikimora 3y agoSSH keys, security updates, monitoring, access controls just to name a few. How do you stop a former employee from running a bitcoin miner in your servers? How do you detect that hacker has got access to your server?
- HyprMusic 3y agoThere are plenty of cases where lambda is a better fit than hosting a server. Just like there are plenty of cases where it's not an appropriate fit. By flat out refusing to consider it, you become as much of a "drone" as the people you call out.
- andrewstuart 3y ago>> There are plenty of cases where lambda is a better fit than hosting a server. Such as? If it’s regional latency then run a machine in the region.
- diesal11 3y agoOut of the box lambda costs $0 when not in use, built in autoscaling, automatic runtime security updates, stdout straight into Cloudwatch, docker support...the list goes on.
- jddj 3y agoUncomplicated image conversion / thumbnailing / pdf report generation / whatever that you don't want to keep a whole container or separate long running task around for. That's all. The rest goes in VMs.
- theshrike79 3y agoYou can have a dev team of 20, everyone has their own Lambda function running at all times so they can run their own branch without affecting others. When people go home, the dev Lambda cost instantly becomes zero. You can't do that with (virtual) servers, the cost is exactly the same 24/7. In some cases it's a good thing, some not. You can't also trivially handle Hug Of Death level load spikes. Not to mention Lambda uptime vs everything else.
- ezfe 3y agoSimple endpoints that have extremely low-volume traffic. If I have a project that has low usage and requires basic endpoints to handle server-side logic, lambdas are by far the cheapest way to do it and fully performant. I use Cloudflare Workers on hobby projects to provide server side work for things that have low volume, because the price is so low per user. It's true that Lambdas will become pricier with consistent high volume usage, but for extremely variable usage or low usage, lambdas are a great option.
- Cyriou 3y agoSay I am building a marketplace which I plan: will get many users. Also, we are only 2 building it. I am pretty sure this is way more expansive to spend engineering time making it possible for server(s) to scale using kubernetes and stuff, than just using serverless. And later with many users, we estimate what better be implemented manually to save money, because at this point it would actually save us money to employ a new engineer than continue paying serverless due to number of users. Don't you think serverless makes sense?
- andrewstuart 3y agoWhy would you run kubernetes? Do you really feel that serverless is somehow faster than a reasonably modern computer? Nodejs on a single machine can manage tens of thousands of connections if not hundreds of thousands. The vast, vast majority of sites would never be able to consume 50% of the computing power in a modern gaming OC.
- Cyriou 3y agoI don't think it is faster, I think it is way more convenient Ok, say I don't need kubernetes. I would still do it in AWS, as it is like golden garden, don't need to deep dive into security measures, to manage authorizations manually, to handle database sharding and optimizations, you get notifications systems, ML, data streams and everything just connects together. From there using lambda is way faster than to develop your own api with caching and making sure it is 100% optimized so that 10 thousands ppl can connect, while in fact you might change it tmrw.
- brap 3y agoIt's not all or nothing, there are in-between approaches. For example you can write your portable app in Node.js (with or without containerization) and push it to a "serverless" PaaS, without running your own linux machine or worrying about k8s. e.g Fly.io, Render, Railway...
- scarface_74 3y agoYes I’m going to tell my CTO to use any of those solutions and immediately be laughed out of the room.
- gadflyinyoureye 3y agoHere's my use case for a lambda monolith. We have a distributed process. It's very low activity; probably only a few hundred calls a day. However, it's a few hundred million in value over the year. We have 30 some odd services using NestJS to make Lambdas easier manage and to also run locally along with localstack. If each of these services was 1 server, and each server cost around $20, we'd have to spend $600/month. I know for a fact that there are times where each service request can consume 80% of the memory. For safety we'd want at least twice the memory or number of units, which are functionally doubling the cost. That $600 can easily balloon to 12 or 2400 per month if I were to host the services. Now add another $600 per month for the test environment. So we'd be looking at $1200 - $3000 a month if we kept things really lean. Now here's the lambda side. Most are about $3 per month (KMS is the lion's share of the cost) for the test & prod. So $90 in service hosting. Yearly lambda is $1080. Yearly self hosting/EC2/droplets is $14,000-36,000. Now repeat this pattern across 5 teams with similar approaches. The savings add up for us. Now is this a universally true statement? Nope. But there are valid reasons. Fun fact, if we ever needed to move off of lambdas, we can because NestJS sits on Express. As long as we can access the datastores there is minimal work to move.
- diesal11 3y agoMy company doesn't make more $$$ because i decided to spend a day setting up an EC2 over Lambda or a similar PaaS solution. If anything i've lost valuable time that could be spent elsewhere. Especially when stuff starts going wrong or i have to schedule time to manually apply OS/Runtime security updates. > The cloud has made otherwise smart people into unthinking drones. The cloud has allowed smart people to focus their time on unsolved problems, not waste hours/days setting up linux for the upteenth time.
- andrewstuart 3y agoIt’s fiction that configuring the cloud is easier than configuring a computer. I’ve worked at big companies with smart people who burn days and weeks trying to get IAM, gateways, vpcs, firewalls and lambda to play together. Let alone the ongoing nightmare of ops/dev interaction. Complete cloud fiction. The worst problem is the giant pile of cloud spaghetti you end up with and no one has any idea what connects to what and what depends on what. Easier to just accumulate more and more resources which cloud companies love. Just run a computer, it’s easier.
- alex_lav 3y ago> It’s fiction that configuring the cloud is easier than configuring a computer. > Just run a computer, it’s easier. Statements made confidently while also being totally untrue. > I’ve worked at big companies with smart people who burn days and weeks trying to get IAM, gateways, vpcs, firewalls and lambda to play together Working with incompetent people is not an excuse.
- diesal11 3y agoTo be blunt that sounds like operator inexperience. Throw someone who's spent their life setting up Windows servers on a Linux box and you'd hear similar resentments. At the end of the day you still need to configure the instances for things like auto scaling, security patches, logging and so on. IAM & VPC still come into the mix when running on EC2, so you've avoided nothing.
- 3y ago
- jvanderbot 3y agoI have done both, for many years. I hate managing a server, unless it's running a DB, relay, or other long-running service. For most my backend work, it's "Please calculate this", and that fits so well into a lambda I don't understand why people hate it so much. Zero maintenance, zero costs until used, much less security to manage, etc. It all works very well for me. I still run all kinds of stuff on a linux server, but the comment seems a little gatekeepy. There's nothing strictly better (or even simpler) about running on a server.
- scarface_74 3y agoHow does your proposal add business value - ie “how does it make the beer taste better?”
- solatic 3y agoIf you want to run node, why a full-blown VM and not a container? > Learn how to, you know, run software on a Linux computer. I know how to, I run NixOS at home. If you own the VM, you own the maintenance on the VM. Optimizing for the cost of setup is usually wrong, most people are better off optimizing for running costs and maintenance.
- meowtimemania 3y agoI really like lambda for all my personal projects. Linux virtual machine means paying a monthly fee. For me Lambda is free. Main benefit I see to Linux machine is not having to deal with deprecated run times. With lambda every few years, I have to redeploy my Lambdas when their runtime gets deprecated.