Live data from Hacker News

Serverless Best Practices

medium.com

91–100 of 104 posts

Re: Serverless Best Practices

#91
post #81

Earlier quoted context omitted.

I'd appreciate it if others could chime in on this one. I'm mystified by the word 'serverless'. Why are we using this word? There are clearly, _quite clearly_ servers involved. The wacky bugs involved in these 'server-less' services... are going to come down to what's happening on the servers involved. EDIT: my question seems to have offended. Unfortunate, and unintentional!

Serverless refers to you administering the application and its resources but not the server directly. Yes, at some level servers are involved, but generally the organization deploying applications is not responsible for administering the hardware, the OS, other resources, often including the scaling of the server resources: they're only concerned with the administration of the application. One can argue that at some…

Does make sense, but your description (and others) seems to match most vendors API out there today. It's not clear to me what 'serverless' means vs 'hosted / managed infrastructure', or even 'external API'.

It doesn't seem like a technical term at all.

Another commenter mentioned that it applies only to the price list, and that makes sense to me.

Re: Serverless Best Practices

#92
post #86

Earlier quoted context omitted.

I'd appreciate it if others could chime in on this one. I'm mystified by the word 'serverless'. Why are we using this word? There are clearly, _quite clearly_ servers involved. The wacky bugs involved in these 'server-less' services... are going to come down to what's happening on the servers involved. EDIT: my question seems to have offended. Unfortunate, and unintentional!

The pricing model is the only thing that seems to be serverless as far as I can tell.

I'm going with this for now, thank you!

Serverless... pricing models. The pricing models are just silent.

Re: Serverless Best Practices

#93
post #65

This probably should be retitled “why you shouldn’t use serverless for most things”. You would only need to slightly rephrase the sentences introducing each section. E.g., the sections could become: Function Don’t Compose Well Functions Don’t Connect to Data Stores Well Otherwise Unnessary Queues are Needed Based on this article, it makes it sound like current serverless isn’t a very widely useful tool.

There is more to Serverless than just APIs. For event based, eventually consistent workflows where you don’t need real time responses like working with queues, stream processing, etc. it’s great.

But, I think it’s used a lot more than necessary for end user facing APIs they need fast responses.

Re: Serverless Best Practices

#94
post #42
post #15

> If you’re not aiming to scale that far, then you can probably get away without following these best practices anyway. If you don't intend to scale beyond what a server can offer (which is a lot!), you probably shouldn't be "serverless" in the first place.

Not having to set up and maintain your own web/app/db-servers is quiet a nice thing to have, especially for small companies that don't have much money.

True and that’s completely orthogonal to Serverless.

Use RDS for DB servers and just use Elastic Beanstalk. It takes most of the complexity out of deploying load balanced web servers.

Serverless for app servers is sometimes fine if you don’t need real time responsiveness like working with queues.

Re: Serverless Best Practices

#95

These are all outdated already. Serverless is a meaningless term. The real name is platform-as-a-service, which is decades old. Running individual functions was just taking that to an extreme but any complex app will have multiple functions working together so it's right back to the same thing. Many "serverless" environments are in fact converting to running an arbitrary docker container for as long as it needs to ru…

Why do people keep posting this as if they are educating the masses who think when you refer to “Serverless” people think your code is being run by a bunch of leprechauns. Everyone in the industry knows in context what Serverless means.

Re: Serverless Best Practices

#96

These are all outdated already. Serverless is a meaningless term. The real name is platform-as-a-service, which is decades old. Running individual functions was just taking that to an extreme but any complex app will have multiple functions working together so it's right back to the same thing. Many "serverless" environments are in fact converting to running an arbitrary docker container for as long as it needs to ru…

Why do people keep posting this as if they are educating the masses who think when you refer to “Serverless” people think your code is being run by a bunch of leprechauns. Everyone in the industry knows in context what Serverless means.

> Everyone in the industry knows in context what Serverless means.

I don't. Divorced from the context of a very specific vendor offering, serverless could mean almost anything. There are many applications, services, and platforms out there that don't require customers to manage their own servers.

Now if we're talking about Amazon or Google's specific things that have the marketing term 'serverless' applied... then many (but not everyone) can start getting specific (like in this posted article).

EDIT: I think another interesting question might be why so many people react defensively when this misnomer is criticized

Re: Serverless Best Practices

#97

Earlier quoted context omitted.

Why do people keep posting this as if they are educating the masses who think when you refer to “Serverless” people think your code is being run by a bunch of leprechauns. Everyone in the industry knows in context what Serverless means.

> Everyone in the industry knows in context what Serverless means. I don't. Divorced from the context of a very specific vendor offering, serverless could mean almost anything. There are many applications, services, and platforms out there that don't require customers to manage their own servers. Now if we're talking about Amazon or Google's specific things that have the marketing term 'serverless' applied... then ma…

[deleted]

Re: Serverless Best Practices

#98

Earlier quoted context omitted.

Why do people keep posting this as if they are educating the masses who think when you refer to “Serverless” people think your code is being run by a bunch of leprechauns. Everyone in the industry knows in context what Serverless means.

> Everyone in the industry knows in context what Serverless means. I don't. Divorced from the context of a very specific vendor offering, serverless could mean almost anything. There are many applications, services, and platforms out there that don't require customers to manage their own servers. Now if we're talking about Amazon or Google's specific things that have the marketing term 'serverless' applied... then ma…

Likely because it's a pedantic, often futile discussion. Language and communication is descriptive, not prescriptive. Repeatedly trying to convince people that they're using words incorrectly when they are using them to effectively communicate gets very old. If you chose to use other words, by all means do so, but understand it may get in the way of communication, and that communication involves all parties.

There are many words in all languages that when viewed from certain perspectives don't seem accurate. People drive on parkways and park in driveways. Going around in circles like this amounts to trolling.

Re: Serverless Best Practices

#99
post #98

Earlier quoted context omitted.

> Everyone in the industry knows in context what Serverless means. I don't. Divorced from the context of a very specific vendor offering, serverless could mean almost anything. There are many applications, services, and platforms out there that don't require customers to manage their own servers. Now if we're talking about Amazon or Google's specific things that have the marketing term 'serverless' applied... then ma…

Likely because it's a pedantic, often futile discussion. Language and communication is descriptive, not prescriptive. Repeatedly trying to convince people that they're using words incorrectly when they are using them to effectively communicate gets very old. If you chose to use other words, by all means do so, but understand it may get in the way of communication, and that communication involves all parties. There ar…

You're right about the way language works, but how to probe the usage of a neologism like this without discussing (criticizing) the word?

'trolling' makes it sound like critics are acting in bad faith. : (

Re: Serverless Best Practices

#100
post #98

Earlier quoted context omitted.

Likely because it's a pedantic, often futile discussion. Language and communication is descriptive, not prescriptive. Repeatedly trying to convince people that they're using words incorrectly when they are using them to effectively communicate gets very old. If you chose to use other words, by all means do so, but understand it may get in the way of communication, and that communication involves all parties. There ar…

You're right about the way language works, but how to probe the usage of a neologism like this without discussing (criticizing) the word? 'trolling' makes it sound like critics are acting in bad faith. : (

They are dealing in bad faith when they post the usual retort - “why is it called serverless? Don’t you idiots know there are still servers involved?” Not directed at you, just speaking hypothetically.

In the context of AWS...

App/web servers

EC2 — I don’t have to manage the underlying hardware but I still have to either overprovision to deal with spikes, setup autoscaling based on metrics that I define, write scripts to make sure that new instances in an autoscalimg group is up to date, deal with OS patches.

Serverless - lambda - I give AWS a zip file and do a little configuration. It figures out how to autoscale.

Build servers

Same issues as above with EC2 and my build environment has to have everything every developer needs to build and one configuration can interfere with another developers build.

Serverless CodeBuild - I create a Docker image of my build environment or use one of the prebuilt ones and tell CodeBuild to spin it up on demand. If 10 developers need to build ten different repos at once, No problem. When no one is building, no charges.

Databases

EC2 - all of the problems about the EC2 and I have to manage OS patches, database patches, replication, and backups

RDS - removes most of those issues.

Serverless Aurora/DynamoDB. You don’t have to worry about “instance sizes”.

Docker.

ECS vs. Fargate - same as above With lambda.

Post reply on HN