12 ms·
I don't know anything about serverless --- to this day I fail to understand what this word is even supposed to mean. And the deployment diagram[1] sure looks co
by abjKT26nO8 7y ago
I don't know anything about serverless --- to this day I fail to understand what this word is even supposed to mean. And the deployment diagram[1] sure looks complicated to me. I think I prefer old-school servers.
[1]: <https://raw.githubusercontent.com/0x4447/0x4447-product-s3-email/assets/diagram.png> https://raw.githubusercontent.com/0x4447/0x4447-product-s3-e...
- chrischattin 7y agoThe term serverless is such a misnomer. While this is a cool project, you'd use 3 different servers at a minimum here.
- sfifs 7y agoIt's pretty well understood by now that serverless is meant to connote that you (the firm owning the application) don't manage the server(s). Someone else does it while you just bring your application code.
- chrischattin 7y agoCorrect. It is a misleading term, imo.
- scarface74 7y agoIt’s no more “misleading” than having a “bug” in your code. Does anyone with even an iota of computer experience think “Serverless” means that their software is being run by leprechrauns? Nowhere else on HN is willfully not taking the time to learn about technology celebrated except when it comes to cloud concepts.
- chrischattin 7y agoThe more you understand the architecture, the more absurd it sounds to call it serverless. Edit: Replying to the below comment... No, it's like calling produce you didn't grow yourself but came from a farm, farmless produce.
- scarface74 7y agoImagine if someone said “the more you understand about farming, the more absurd it is to call them server farms.” “the more you understand about biology, the more absurd it is to call them bugs” “The more you understand about meteorology the more absurd it is to call it ‘the cloud’” Yes, if it weren’t for people on Hn educating the poor unwashed masses we would all think that our software running “Serverless” was being run by elves at the North Pole.
- rospaya 7y agoServerless doesn't have a server like wireless doesn't have cables. It does, but you don't manage it.
- scarface74 7y agoDo you also complain when people say they have a “bug” in their code or that they have a “server farm”? Are they literally watering the server floor and waiting for computers to grow?
- chrischattin 7y agoNot at all. It's in this case, using the term serverless is akin to calling cloud based software (Google Docs, TurboTax, etc) softwareless. It's closer to calling a stop sign a "go sign" than descriptors from your example. Calling managed servers "serverless" is distinctively misleading.
- scarface74 7y agoHow is it any more misleading than “bugs”, “containers”, “the cloud”,”server farms”, etc. Wouldn’t you be the first to criticize someone who didn’t take the time to understand other computer concepts that had been around for years and then attempted to speak intelligently about them?
- chrischattin 7y agoThe term serverless is not a metaphor like your examples, it's a contradiction. Big difference. I feel like understanding the "computer concepts" makes the term seem even more absurd.
- scarface74 7y agoIt’s an abstraction - just like every other computer concept.
- wodny 7y agoAn abstraction where "positive" and "negative" mean the same just for safety so they can't be confused with each other.
- JulianWasTaken 7y agoIt's fairly simple, though maybe you mean you don't understand why it's good (or if it is), rather than what it is. But all it means is "we manage the server, both physically but also its operating system, you just bring your application code and we'll run it".
- bouncycastle 7y ago"serverless" is just "managed hosting" under a new name, I believe.
- scarface74 7y agoNo it’s not just managed hosting. Managed hosting still means there is a server to maintain, patch, and that it is always running.
- tyingq 7y agoThere's a firecracker VM and a Linux OS under the Lambda. Both of which need to be maintained by Amazon. Edit: "managed cgi-bin" is perhaps more apt.
- scarface74 7y agoExactly - maintained by Amazon not by you.
- pantalaimon 7y agoThat's pretty much the definition of managed hosting.
- scarface74 7y agoWhen you are just using a VM - it’s your responsibility to keep the VMs and the runtimes patched, design a scaling solution, etc.
- vidarh 7y agoManaged hosting is used in at least two different ways: * As a synonym for dedicated hosting. E.g. you rent a machine, and run what you want on it. And have to patch stuff etc. * As a separate tier of service above dedicated hosting where the hosting provider is responsible for running the services on the machine. Some managed hosting providers will take responsibility for scaling too, though often it will be a semi-manual process. Managed hosting in this second sense is to serverless what dedicated hosting is to "regular" cloud instances.
- throwGuardian 7y agoThe benefits to using this approach over a traditional server are: 1. Someone else maintains the software running these services, including OS upgrades, security upgrades and patches, uptime monitoring, etc. 2. Since every logical component is an independent service, each scaling independently, any one single component is unlikely to become a bottle-neck while scaling. In traditional monolithic servers, you'll have to have contingency plans if you beat storage/network/CPU/RAM limits 3. The closest thing to this is to break up a monolithic email server into microservices and deploy them as independently scalable containers, which is a considerable engineering effort. Assuming this works as advertised, you can go from zero to a full blown email service for organizations with thousands of people (assuming the stated AWS limits are lifted), in record time
- darau1 7y agoThis mentions that they're using S3 as the interface, and I'm not sure if SES provides POP/IMAP support for your email clients.
- vidarh 7y ago> Assuming this works as advertised, you can go from zero to a full blown email service for organizations with thousands of people (assuming the stated AWS limits are lifted), in record time All the hard parts of doing that are in dealing with reputation, not in setting up a mail server or or scaling it. I've run an e-mail service with ~2 million users on hardware with comparable CPU, memory and IO capacity to my current laptop in the past. Setting up the mail server was not the time consuming part. And the reputation bit in this instance is handled by SES. If you put a regular mail server behind something like SES for outbound messages, that's simple too. While I do see benefits to serverless, this seems to me to be a good demonstration of how it is still in a totally embryonic state when it comes to things like ease of use.
- tuldia 7y ago> 1. Someone else maintains the software running these services, including OS upgrades, security upgrades and patches, uptime monitoring, etc. This is the standard marketing phrase echoed to promote serverless. By experience, I don't think is valid. Packages like unattended-upgrades automates all this stuff. Also, not being able to verify what the software is doing is scary and looks like a 10 steps backwards to me. > 2. Since every logical component is an independent service, each scaling independently, any one single component is unlikely to become a bottle-neck while scaling. In traditional monolithic servers, you'll have to have contingency plans if you beat storage/network/CPU/RAM limits Except when it comes with a bottle-neck by default. Running mail servers requires rather little resource. > 3. The closest thing to this is to break up a monolithic email server into microservices and deploy them as independently scalable containers, which is a considerable engineering effort. Why in earth? Have you seen the postfix architecture? > Assuming this works as advertised, you can go from zero to a full blown email service for organizations with thousands of people (assuming the stated AWS limits are lifted), in record time. I'm pretty sure one can have a up and running mail server while the "cloudformation" thingy will still be running :)
- kseistrup 7y agoServerless: Somebody else's server
- scarface74 7y agoNo, and this is why we have a bunch of old school Net ops guys who pass one certification, call themselves “cloud consultants”, do a bunch of lift and shifts and leave clients paying more than just using a colo.
- ldoughty 7y agoServerless is an architectural and design strategy. Run away from anyone that claims EC2 is serverless. You can't lift and shift to serverless... Period. The design choices are almost always breaking changes.
- ldoughty 7y agoI would argue a better description is -- Serverless: abstracted services that don't require you to know or care about the underlying server. It's still not perfect, sometimes you do need/want to know/care, but it's usually superficial -- e.g. what libraries are installed by default so I can optimize the build.
- kcdev 7y agoI think and hope this guy is trolling. If not he will be left behind if a back end dev. Even if you have"real" servers this is how your micro services should be built.
- abjKT26nO8 7y ago> I think and hope this guy is trolling. If not he will be left behind if a back end dev. There is a world of software outside of the web-development bubble. Just saying.
- perlpimp 7y agoHigher level of execution abstraction. With cloud execution granularity is an instance on a server somewhere that you have to deal with. With serverless execution granularity is your bit of code "function" and cloud now provides not only processor but also a software platform to execute your logic.
- genezeta 7y agoOne of the things that characterizes our culture in Cybernus is language. As we aimed to be an ever evolving civilization, it was decided that our language should then be, also, ever evolving. Once a month, during The Update -our most significant celebration where new discoveries, thought trends, etc, were presented to the population at large- a time was reserved for the ritual of language renovation. A number of random words, somewhere in the range of 30 to 50, were marked as outdated while a similar number, again from 30 to 50, of new words was introduced into the language as the words to show you were current with your civic duties of evolution and progress. Usage of so called outdated words wasn't re-classified as a crime until much later, and only as a way to better enforce the goal of Continuous Progress. For some time you were just seen as an outcast or simply as one of the billions of poor people. Poverty was not so much defined in economic terms mainly because it wouldn't have meant much, with what happened in 2043 and all that. Instead being poor now meant you were someone that did not have access to enough information to participate in the careless happiness of Continuous Progress. But as I said, not keeping up with language evolution is now considered an offence and repeater offenders are forced to undergo re-adjustment. Of course, after a short period of going through this, it was noticed that it's not so easy to continuously come up with new words and not make the language a unintelligible garble. And so words are recycled rather than discarded, which was a wasteful and unsustainable thing to do anyway. -- Excerpt from "A Visitor in Cybernus" - a "recollection of future history" from Sean M. Ferion. 2007. Sadly out of print and very difficult to find.
- rahuldottech 7y agoYeah, it's a really dumb term. > Serverless computing is a cloud-computing execution model in which the cloud provider runs the server ...so, there is a server? What's with the name, then?
- arno1 7y agoProbably this means that there is no server you can SSH to nor need to maintain. It could probably be called a serverhostage/server-lock-in computing, where someone else keeps the _shared_ server(s) away from you and runs other people's, potentially harmful, instructions as well :-)
- AznHisoka 7y agoSo how is it different than running it in the cloud?
- scarface74 7y agoWhen you are “running it in the cloud” with a traditional VM you still have a server that you can log into, that’s always running, requires patching and if you get a spike, you have to set up your own scaling policies and it will usually scale more slowly.
- cs02rm0 7y agoIt is in the cloud. It's different in that you don't have access to the cloud server, just a service on it. To me it's like having one hand tied behind your back while someone else uses their hand to do what you'd have done with the one tied behind your back. It's cheaper, sometimes it works the way you want it to, but you always feel a bit restricted.
- vidarh 7y agoThe less pessimistic interpretation is that it's like having someone else be your devops department. Unlike what people like to think, most people running traditional VMs and containers end up doing just as much devops as on a dedicated server (while doing consulting, I'd typically get more hours at higher rates out of people insisting on AWS, because getting an AWS setup right is a lot of work), so serveless is appealing as a way of making more of the devops stuff someone elses problem. I get your feeling - I like to be able to ssh in as well, but then I see people I've worked for, and realise that to most of them having ssh access does no good, because they don't know how to troubleshoot over an ssh connection, and they don't want to have to know. To them, losing that flexibility doesn't really matter, because they weren't doing it anyway.
- k__ 7y ago"the deployment diagram[1] sure looks complicated to me" It's just very detailed. It also includes all the CI/CD services/roles they used. 28 boxes alone are permissions related. The stuff that runs in the end (like a server would) are 3 Lambda functions and an S3 bucket.
- jessaustin 7y agoMaybe that tells us something about how complicated handling permissions on AWS might be?
- k__ 7y agoI don't know. You have a service and give it a role that has some permissions. If you want to have the minimal permissions probably would at least end up with services*2 roles&policies if you write a custom policiy for every role, so the service can't do more than needed. I mean, you could probably calculate one role and one policy for all the stuff that runs, to make it really simple, but I don't think this will make it secure. But, yes, I don't like IAM either. I read some people don't even use it anymore, but I didn't find out what they are doing instead.
- scarface74 7y agoI still fail to understand why 4 years in, people seem to be confused about the idea that definitions of words involve over the years and that the computer industry has both been coining and adopting phrases. But a quick Google search is all that it would take to “understand it” https://en.wikipedia.org/wiki/Serverless_computing https://en.wikipedia.org/wiki/Serverless_computing
- deleted 7y ago[deleted]
- corobo 7y agoI've found that "I don't even get what the word is supposed to mean" is someone's first experience with tech fear. In my experience (including my own personal anecdata) they tend to mean "I don't want to learn this new thing and because of that I'm worried I'll be left behind if everyone switches to this"
- scarface74 7y agoI also don’t get this. I’ve been programming either professionally or personally for 30+ years. But this isn’t a new phenomenon. Back in the early 90s you had an “Apple II Forever” movement with people still holding on to their 8 bit Apple //e’s while Apple and the rest of the world moved on.
- rumanator 7y ago> I've found that "I don't even get what the word is supposed to mean" is someone's first experience with tech fear. This is a gross misrepresentation of the actual problem affecting the "serverless" fad, which is the buzzword overload accompanied by a lack of objective definitions. Function-as-a-service (FaaS) is an objective, clear-cut concept, but "serverless computing" is supposed to be a more general term where FaaS is only a realization of the concept. Yet, by keeping the concept as a buzzword then the proponents actually avoid having to argue the merits and the advantages of this sort of architecture, thus contributing to the growing skepticism.
- 7y ago
- tyingq 7y agoYour link, fixed: https://raw.githubusercontent.com/0x4447/0x4447-product-s3-email/assets/diagram.png https://raw.githubusercontent.com/0x4447/0x4447-product-s3-e...
- anonu 7y agoServerless is beautiful. You just need to try some basic serverless concepts. Like run a website on S3. But to your second point, I agree. the technical hurdle required to learn all the configuration and moving parts ... And then to know that this language is vendor specific... Makes it less palatable. That's why I expect the cloud vendors to normalize their offerings over time. I should be able to take a CloudFormation template from aws and put it through Googles Deployment Manager
- bathtub365 7y agoHow is running a website on S3 different from uploading your website to a shared hosting provider 20 years ago? How is it “beautiful”?
- notyourday 7y agoI'm afraid you are forgetting about developers today that had never uploaded a static website to a shared hosting provider.
- jdminhbg 7y agoMy shared hosting provider 20 years ago didn't have a CDN and would fall over if I got too popular.
- anonu 7y agoThat type of hosting didnt scale. You paid a flat fee for capped CPU and bandwidth. Hosting today scales linearly in terms of resources and costs... In addition you can hook up additional AWS services as your needs arise: Add a CDN and deliver content to the edges, faster . Add lambdas to handle regular updates to content, or basic authentication when users come in. Monitor usage via Cloudwatch Add in serverless API via API Gateway - and provides users more dynamic functionality. Yes - the vendor lock-in is a major downside. Serverless isnt for everyone, neither are the big cloud vendors... YMMV.
- tuldia 7y agoIndeed. I suspect the "serverless" word was created due to the emotional appeal to a specific (majority) group that is strongly opinionated against having servers at all. Reading from the README.md file: There are two major limitations with SES: For security reasons, AWS defaults to 200 emails sent per 24 hour period at a rate of 1 email/second. If you need to send more than that, you'll need to ask AWS to increase your limit. By default, you can't send emails to unverified addresses. If you'd like to be able to send (as opposed to just receiving), you'll need to reach out to AWS to remove this limitation from your account. I see zero benefit in having complete vendor lock-in, non-sense limitations, seriously, with a $5 VPS can send at least 300 emails per minute.
- kccqzy 7y agoThe emails sent by your $5 VPS wouldn't stand a chance of actually being delivered to people's Gmail or Outlook mailboxes. Whereas SES actually works. Also, it is incredibly easy to ask AWS support to increase the limit. A startup I worked with had only thousands of users; we told AWS about it and they gave us 5 million emails per 24 hours.
- tuldia 7y ago> The emails sent by your $5 VPS wouldn't stand a chance of actually being delivered to people's Gmail or Outlook mailboxes. The emails sent from my $5 VPS arrives in Gmail's priority box :)
- tehbeard 7y agoThey stand the same chance, just setup dkim and spf as any of the hundred guides will tell you how to. Debate it on vendor lock in, reliability and out sourcing sysops, not on having to maybe manually set up some DNS records.
- URSpider94 7y agoBy all reports of people who have set up their own mail server lately, just having SPF and DKIM set up still won’t cut it for delivery to the major mail providers these days.
- docuru 7y agoA fancy word for “hosting for modern web/app”
- Waterluvian 7y agoServerless = Managed Server
- scrollaway 7y agoManaged on-demand server, specifically.
- manigandham 7y agoIaaS = your data + code to run it + create servers to run the code. PaaS = your data + code to run it. Servers automatically provided. SaaS = your data. Code and servers are automatically provided. Serverless is just another name for PaaS where your bring your code, which can be deployed as a single JS function in a text file or an entire container running anything.
- grepfru_it 7y agoPaaS is a collection of SaaS's. Your platform is made up of x,y,z services. Your services are made up of x,y,z infrastructure.
- tomc1985 7y agoIt means you string a bunch of shit together via aws lambda instances and docker microservices If its any consolation, at this years Vegas AWS love-fest, most people started walking out once the Amazon presenter started talking 'serverless' recipes
- choward 7y agoMy biggest problem with the "serverless" term is that it's a solution to a few different problems conflated into one term. * Not having to manage a server. * Not having to have dedicated resources which can be wasteful. * Having an architecture that scales. When most people talk about serverless, they mean something that solves all three of those problems. When I think of serverless, I think it only needs to solve the first problem. What if I don't want to manage a server, but I want dedicated resources? I just want to deploy a standard web app (written with node js for example) with a postgres backend and preallocated resources but without having to maintain a server? Is that serverless?
- im3w1l 7y agoSounds like a webhost.
- reaperducer 7y agoto this day I fail to understand what this word is even supposed to mean It means the same thing as "cloud:" You're renting someone else's server.