5 ms·
(Disclaimer: I am an Amazon employee, but my opinions are my own. I don't work in the AWS organization, so my knowledge of AWS services isn't substantially diff
by jkingsbery 8y ago
(Disclaimer: I am an Amazon employee, but my opinions are my own. I don't work in the AWS organization, so my knowledge of AWS services isn't substantially different than other engineers outside of Amazon.)
There obviously are servers, "serverless" just implies you don't own them.
There's a few problems that using serverless solves:
1. It's great for low volume sites or services. You don't need to rent hardware that runs the whole month if you only get pinged a few times per day.
2. It reduces operational burden. A whole class of problem goes away - patching operating systems and application servers.
3. It provides an abstraction layer for processing events. Events could be HTTP requests to a site, data coming in from an IoT device, that a new file was uploaded to S3, etc.
Performance isn't that different from using EC2 (or the non-AWS equivalents), other than cold start times, and choice of language platform can help mitigate that.
In terms of complexity, for the project work I've done the complexity isn't different than running something in any other application server.
Cloud providers other than AWS have a serverless offering, and there are frameworks out there for abstracting the differences, so tooling support doesn't have to come with lock-in. In addition, a well-architected serverless application has a pretty small layer interfacing with the serverless framework, so the code lock in is negligible.
- tomphoolery 8y agoI'm just waiting for "Serverless" to not mean "app-less" or "organization-less"...
- esotericn 8y ago#1 - A VPS that you can run multiple services on is 5 quid a month. I spent more than that on a single train in to the city today. Or you can just run from a residential connection for effectively free if your service is _that_ small. #2 - "Serverless" paradigms change often enough that it's essentially another form of patching. It's also obviously not true, any system you write code on needs to be patched because it has auth to this system. #3 seems to be buzzwords with no substance? As far as I can tell, the only "problem" that "serverless" (i.e. Our Servers) solves is Amazon not monetizing everything ever.
- jnty 8y agoQuoting the price of a VPS totally misses the point - the cost is in finding one, setting it up with an environment somehow, monitoring it, making sure it stays patched and current over years and years... While you're busy figuring out what monitoring solution to use on your VPS to monitor the running all for the sake of a little Python script, I've already set up a lambda function and maybe set a cloudwatch alarm to look after it and can move on to the next thing and leave it running indefinitely. Depending on the usecase I might not even pay a penny during that time, either. I swear 90% of the hate for serverless purely stems from irritation at the name.
- isomorph 8y agoHi - I couldn't find a way to contact you and was unable to reply in situ for some reason. Could you please say more about why you felt I had gratuitously editorialised the title to my latest submission? ( https://news.ycombinator.com/submitted?id=isomorph https://news.ycombinator.com/submitted?id=isomorph ) I have checked the definition of the word "editorialise: To present an opinion in the guise of an objective report." - I did not express any opinion in the title - I simply added context for those who don't know about the so-called "contaminated blood scandal" in the UK. Namely the three-letter detail I added was "HIV" i.e. that the UK's government-run National Health Service infected patients as young as 8 years old with HIV. This change was not gratuitous as it added essential context to the story. I have checked the Hacker News guidelines and since the article dispels myths people have about health systems, I felt it was pertinent.
- deleted 8y ago[deleted]
- scarface74 8y agoQuoting the price of a VPS totally misses the point - the cost is in finding one, setting it up with an environment somehow, monitoring it, making sure it stays patched and current over years and years... If you are spending that much time managing infrastructure on AWS, you’re doing it wrong. ElasticBeanstalk makes it dead simple. While you're busy figuring out what monitoring solution to use on your VPS to monitor the running all for the sake of a little Python script, I've already set up a lambda function and maybe set a cloudwatch alarm to look after it and can move on to the next thing and leave it running indefinitely. Depending on the usecase I might not even pay a penny during that time, either. And you can do the same with AWS and a bunch of micro instances. But if it’s that low volume, I would just host it myself. I swear 90% of the hate for serverless purely stems from irritation at the name. I love serverless for everything but APIs. But 90% of my hate for serverless is with APIs and the cold starts.
- pavlov 8y agoAlready a decade ago there was Google App Engine, which was “serverless” as far as I can tell. Back then developers were dismayed about the unpredictable cost of App Engine. The same problem remains today with Lambda and others. Is it just a solution whose time has come now, ten years later? Or is there something else to Lambda that I’m missing?
- nailer 8y agoGAE was very much the first serverless platform. Cost is very low - most people would make savings most months, but you can set up billing alerts to help you go higher. Also original GAE was hampered by having a product owner that didn't care about it (at the time I was working on the largest GAE app inside Google). We (as internal customers) ending up writing chunks of the AE SDK to be able to have our apps run reliably.
- int0x80 8y agoI don't think the 'cold-start' issue should be taken lightly. Yes, some services won't care at all, and you can mitigate it as you say by choosing a particular backend. Yet it is still a big concern for Java for example when you can not use graalvm etc.
- deleted 8y ago[deleted]
- scarface74 8y agoPerformance isn't that different from using EC2 (or the non-AWS equivalents), other than cold start times, and choice of language platform can help mitigate that. So performance any different except for it’s a huge difference depending on the language, whether it is in VPC forcing the need to create ENIs, etc. I’m a multi certified AWS true believer and I love lambda for everything else besides APIs, but let’s not ignore the large performance penalty of cold starts and lack of connection pooling. You really don’t save money over just using a bunch of micro instances behind a Load Balancer and autoscaling. Elastic Beanstalk makes managing it dead simple.