Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Are “no-code” and “serverless” terms misleading?
27 points by trabant00 9 months ago | hide | past | favorite | 25 comments
This might just be me as I remember rolling my eyes the first time I heard about "cloud" and I still think it's just somebody's else computers. Don't start me on "private cloud".

I find IaaS, PaaS and SaaS, WYSIWYG, etc a lot more accurate.

The server or the code not being visible to you and the fact that you can't work directly on them does not mean they do not exist. You just buy/rent an abstraction on top of them and you are still very much paying for the servers and the code. The server infrastructure still has < 100% SLA, the code still has bugs, etc.

Modern cars require pretty much no setup or maintenance of the engine by the driver. The engine is mostly successfully abstracted away. Would it be accurate to call modern cars "engineless"? Using a Taxi or a furniture moving company does not require you to own a car. That's the point of those services. But nobody describes those things as "no-car".

All this might seem as nitpicking but I don't think it is. I think the terms are intentionally misleading. What is your sentiment?

They’re marketing terms. Marketing terms are usually poorly defined at a technical level because they’re designed to extract the best sounding description from a “holy shit that’s cool” perspective.

Eg 4D baby scans, HD being a collection of specifications, etc.

I used to roll my eyes at these and cloud/serverless too but then I gave up caring the accuracy of the terms because those that understand the technologies understood what the terms meant and those that didn’t (like CEOs), didn’t care. And I find any term to be equally hard to learn. Sure “serverless” might be misleading, but at least you’re not memorising an acronym (which I personally find harder to do).

It’s also worth commenting that language is constantly evolving through usage. For example terms like “perverted” and “groom” have much more sexual connotations now than their original definitions. The same is true for technical jargon too (eg “theory” has different connotations in science than it does in common vernacular).

4d baby scans are actually a pretty good name because aside from being a marketing pitch by obviously contrasting against the 2d nature of traditional ultrasound, they actually are 4d if you include the time dimension - they can record clips of the baby. Under this scheme, traditional ultrasound would have to be called 3d, but nobody does this so it's a bit of a bait while still being technically accurate.

If you want to get technical then it should be called 2+1D (two dimensions plus time. Or 3+1D if you want to be charitable about the perceived depth). Obviously that would be a rubbish name though.

>“serverless” terms misleading? [...] I think the terms are intentionally misleading. What is your sentiment?

To make peace with it, just realize that a lot of words like the ones ending in suffix "-less" are not absolutes but relative to another context. More examples of that:

- "stateless" : nothing is truly stateless. E.g. a stateless function doesn't change visible input parameters or globals but the underlying cpu state is still changing. The context where the "-less" matters is the high-level language function syntax and not the cpu registers.

- "weightless" but always under influence of micro-gravity so not truly weightless

- "touchless" car wash and yet H2O and air molecules still touch the car. To resolve this, the "-less" refers to the cleaning brushes and not the water.

The term "serverless" is never misleading to me because I understand the context of how and why it's used. It's more about server-AdminHousekeepingTasks-less instead of a denying the existence of physical servers. "Serverless" is shorthand for a bunch of extra words we leave out.

I think some have tried to spread "FaaS" Function-as-a-Service as alternative to "serverless" but not sure how widely adopted it is.

FYI In many cases of

> "touchless" car wash

the car is actually touched(!) — just "less".

> Using a Taxi or a furniture moving company does not require you to own a car. That's the point of those services. But nobody describes those things as "no-car".

If you said "I'm carless" and I disagreed because you'd moved house or used a taxi, you'd think I was being a little odd.

These terms make much more sense to me because they describe what I care about. You pay someone to get you from A to B. They do so in a car, but it wouldn't matter if you sat in the same seat with the same experience but was on a bus, or the car-shaped box you were in was actually sitting on a train moving you along. That's a detail you don't care about.

I want to run code. I don't care if it's my server, a shared one, it moves from server to server or starts and stops on demand. I don't care about the server. I don't want to care about the server part.

I get the annoyance, but I think they're useful.

So if I'm renting a dedicated server just like I'd be renting a taxi, am I also "serverless"?

A closer analogy would be renting a car. And if you rent a car full-time, you can't really call yourself car-less.

In both cases there is a lot of grey areas, but the general concept is the same: If you don't own, maintain or operate (drive) a server/car, you can call yourself server/car-less, regardless of whether a server or car is still being used.

Great response! I will steal this and turn it around the next time some non-technical person asks me about serverless and such stuff. I will compare it to owning a car, using a taxi and maybe leasing a car or using a car-fleet.

Renting a dedicated server is more like leasing a car. You directly manage the car and care very much about its condition.

You're renting it for a few minutes at a time while not caring what it is other than "at least a generic sort of car" or whether it's the same one each time? Sure.

You're renting it long term? That's like leasing a very specific car, so no not really.

I don’t really think “serverless” is supposed to mean “no servers are involved in hosting your code”. It really is meant to mean that you/your engineers do not need to worry about servers, because as you’ve said, you don’t need to worry about them. So it’s _as if_ there were no servers, to you.

IMO, any singular word applied to a software engineering concept wouldn’t paint the full picture. But using AWS services as an example, I don’t think it’s intentionally misleading, or of malicious origin, to describe Lambda & Fargate as “serverless”.

Sure. In the same way that "full-stack" is misleading. I secretly think that people who describe themselves as being "full-stack developers" have no idea how deep the stack truly is. But it's still a useful description, and it's less of a mouthful than saying "I know html/css/js and also know about Java and some kind of RDBMS". It is a lot less precise, but still useful.

Your username suggests a certain age, perhaps we're both just too old and cynical to be on board with new, silly names ;-)

I am all for reducing hype and buzzwords. This post doesn't make the best case against them.

> Would it be accurate to call modern cars "engineless"?


Uber/Lyft/Taxi perhaps would be closer to "engineless".

The point of "serverless" is to allow you to run your functions without (in an ideal world) worrying about the foundation that needs to exist for your function to run

> All this might seem as nitpicking but I don't think it is. I think the terms are intentionally misleading. What is your sentiment?

My sentiment is to not get bothered by hype and buzzwords.

The reason why we have so much high quality OSS in 2022 is because a lot of people with money but little understanding of technology get excited by hype and buzzwords and put in billions of their dollars as investments.

It is these investments that subsidize the high quality OSS we all depend on.

Once you realize this, you start to fall in love with hype and buzzwords as a way to extract maximum money from the clueless. As long as you try your actual best to deliver something, it's all good.

PS: WEB3, AI/ML, Blockchain, Crypto, NFT, Decentralized. The people putting in actual money into these have no clue what any of these mean and that's ok - their money gets us hired to work on these things.

Using a taxi lets people say "I don't have a car", even when they use several cars a day. I think it's pretty clear that "no code" means you're not writing code.

I think "serverless" is more borderline. It encourages people to stop thinking about the server environment even though there are still operational risks that should be considered.

> intentionally misleading

Is "social media" truly social, or media?

Does "woke" really have anything to do with what you do when your alarm clock goes off at 6 AM?

What does an "online newspaper" mean? How can it be both on your Internet-connected screen and printed onto paper at the same time?

Does everyone understand what these three terms are, regardless? Yes. So they're useful.

I think no one will try to persuade you that the terms are not incorrect. But I think they are good enough for explaining the problem they are trying to solve.

I wouldn’t say that they are ”intentionally misleading”, more like trying to be a good name for the market while intentionally disregarding any technical accuracy.

Words and their usage change over time. The cloud has become a term for a place where you can easily rent compute power, in some way or another. That ease of use (you just provide your credit card, click a few times and you get a VM) has become synonymous with the cloud, now package that all up for private use within a company and you have a private cloud, perfectly sensible.

It's not about misleading you, it feels more like they have a definition in their general use you don't agree with. And I hate to bring it to you, but don't expect those meanings to change to what you think it should be.

The origin of the word television is that you see (vision) something that is far (tele). But you can also use it to see stuff that is near, or games, or use it as a screen to read a book. It's still called a television though.

I don't think either term is strange or misleading really, they're not suggesting what exists because of course in a "no code" application some code is actually running under the hood. They're marketing speak to describe what you need to think about when using a tool.

Serverless = I don't need to think about 99% of what I'd usually need to when running software on a server. The idea is to say "you do basically everything the same, but less the server part of things."

No code = I don't need to know how to code to use this tool, so I can get more people in my organisation using it.

I think the one that falls down is really "no code" because usually with those tools you do need the skills of understanding control structures, sequences, loops, etc. A lot of people aren't used to thinking that way and so no code products end up with a lot of the same learning curve, it's just less scary because it has a graphical UI rather than misterious words in a text editor.

I'm still not sure I'd say "no code" is misleading, at least not intentionally. It's just we've still trying to figure out how to give highly customisable tools to people with no programming experience. We're probably not there yet but I imagine someone will crack it eventually or everyone else will slowly learn the skills needed. Email probably did both, people learned more and the tools because more usable (perhaps not the best example).

People have used the term "driverless car" to describe self driving cars in the past. It's just conveying the idea that one day you could own a car without having to think about doing the driving yourself.

At the end of the day, both are just marketing phrases for "this can do <thing>, but without having to think about <thing>". For some scenarios it works well to use "no X" or "X-less" to describe "you don't need to think about X while doing what you did before".

Here's how I communicate it at my company: serverless simply means there's no server for us to manage and maintain. We can focus on the solution, not the infrastructure. Of course there's a server running, we just don't have to worry about it. That goes over really well.

No-Code is understood to be Citizen Development. I liken No-Code to developing a web site using Wix. Is there code? Of course! But you don't have to manage and maintain it.

In the end these terms are delineating your concerns. "Serverless" means you don't have any concern for servers. "No-Code" means you don't have any concern for code. Not having to manage concerns allows us to focus on solutions instead.

The difference in definition is partly whether you define based on what it is or on what it does for you. Serverless doesn’t make sense in the “is” description as you note but makes sense in the “function” description (managing the server is not your responsibility).

Marketing terms often focuses on the function aspect to do sales. The serverless seems fair, I don’t think no code has followed through on its promises.

"No code" isn't so strange I think. If you use a graphical tool instead if typing code, you don't need to handle/write/compile code. So from the perspective of the person creating the logic, there is "no code".

"Serverless" on the other hand I didn't quite understand. There are no fewer servers involved with serverless than there is with any other setup.

People need terms to refer to things.

Math uses words I associate with different things in real life. When I read "ring" or "magma" I have something different in mind than a mathematician.

ALB+ECS+RDS work vastly different from APIG+Lambda+DDB.

Serverless is just a word that tries to capture that difference.

Don't get too hang up on technicalities.

I agree.

Was pretty bummed when I looked up what's actually behind those terms.

No, you just failed to understand these terms.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact