Live data from Hacker News

Serverless Architectures

martinfowler.com

21–30 of 149 posts

Re: Serverless Architectures

#21

Is Google App Engine an example of serverless? The user does not really think about servers, and the code is mostly written as event handlers. The abstraction is a bit leaky though, and you can tell that there are instances being spun up and down.

Uploading PHP scripts on a remote server provided by an hosting company is "serverless". I don't have to manage the server /s

That buzzword means absolutely nothing.

Re: Serverless Architectures

#22
post #5

How did this came to be known as serverless? It just seems to be an extreme case of microservices running on someone else's computer?

I think it might have something to do with the fact that the payment model isn't connected to a server instance, but how often your code is run. Heroku, GAE etc. are server-oriented. Your code is running on a dyno or an instance, and you pay based on the number of instance-hours you use. In AWS Lambda, or Azure Functions, you pay for the number of requests you process and the time spent processing those requests, how many instances are spent processing those requests are irrelevant. It's a serverless payment modell.

Re: Serverless Architectures

#23

If your PaaS supports scaling down to zero (Heroku free tier, Cloud Foundry somewhere in the future) and resuming on incoming traffic, it's basically a much better version of FaaS. The way you deploy code, the way services are coupled to the app etc is much better.

Heroku is much slower at resuming on incoming traffic, because it has to boot up a dyno to serve your code. A cold start on Heroku usually takes 30 seconds (for me anyways). A cold start on AWS Lambda takes 2-5 seconds, which the user won't notice on my services because the frontend is served from S3 and rendering is client side.

And the way services are coupled to the app is about the same. I've used both Heroku and AWS a bit, there really isn't that big a difference here, except that Heroku as a lot more third party services that can be connected.

Re: Serverless Architectures

#24

It is misleading that the HN title suggests the author is Martin Fowler, but this is not the case for this guest article. The actual author is Mike Roberts, the article is hosted on Fowler's site.

Yes, but that's probably because the HN submission bookmarklet puts the site name behind the dash.

It annoys me every time I'm submitting something. But evidently not enough to finally edit the bookmarklet.

Re: Serverless Architectures

#25
post #14

Serverless = new name for PaaS. VPS (virtual private servers) were available (and largely ignored) for quite a while before 2006, when AWS came along with the catchy word "cloud". This single word changed everything. Same technology all of the sudden became cool, and everybody started using it. Maybe now it is the turn of PaaS [1] - call it "serverless" and folks finally start seeing all the benefits (true scalabilit…

Might get this wrong but from my understanding:

PaaS: Platform (as in Server eg used for API) on demand (as in api.something.com/*)

FaaS: Function (as in eg api endpoint) on demand (as in api.something.com/v1/get_latest_posts)

Of course you can create the 2nd with the approaches of the 1st but the from my understanding the main benefit is that you dont have to - as in: you can just take one endpoint and have it managed by something else.

Re: Serverless Architectures

#26
post #14

Serverless = new name for PaaS. VPS (virtual private servers) were available (and largely ignored) for quite a while before 2006, when AWS came along with the catchy word "cloud". This single word changed everything. Same technology all of the sudden became cool, and everybody started using it. Maybe now it is the turn of PaaS [1] - call it "serverless" and folks finally start seeing all the benefits (true scalabilit…

Since serverless is a kind of a PaaS, it offers many of the same benefits. However, unlike Heroku, Cloud Foundry, OpenShift, and other traditional PaaSes focused on supporting long running applications and services, serverless frameworks offer a new kind of a platform for running short lived processes and functions, also called microflows.

The distinction between the long running processes and microflows is subtle but important. When started, long running processes wait for an input, execute some code when an input is received, and then continue waiting. In contrast, microflows are started once an input is received, and are terminated by the platform after the code in the microflow finishes executing. One way to describe microflows is to say that they are reactive, in the sense that they react to the incoming data.

Re: Serverless Architectures

#27
What kind of evil genius devised a term that suggests peer-to-peer, to describe something that relies more than ever before on central services and authorities?

It feels like "intellectual property" all over again —which suggests the rules used for rival goods can be used for ideas, hence ignoring the difference between moving and copying.

Re: Serverless Architectures

#28
With this type of architecture, aren't you creating latency by separating out the "backend" from the database? In the traditional approach the backend server and database are in the same datacenter, but it seems that's often not the case in FaaS approach, what are the ramifications of that?

Re: Serverless Architectures

#29
post #28

With this type of architecture, aren't you creating latency by separating out the "backend" from the database? In the traditional approach the backend server and database are in the same datacenter, but it seems that's often not the case in FaaS approach, what are the ramifications of that?

If you were on AWS, I would expect the Lamdba fn to be running in the same datacenter as the backing dynamodb table, or at least in the same region. dynamodb response times are pretty good - typically under 10 milliseconds.

Re: Serverless Architectures

#30
post #23

If your PaaS supports scaling down to zero (Heroku free tier, Cloud Foundry somewhere in the future) and resuming on incoming traffic, it's basically a much better version of FaaS. The way you deploy code, the way services are coupled to the app etc is much better.

Heroku is much slower at resuming on incoming traffic, because it has to boot up a dyno to serve your code. A cold start on Heroku usually takes 30 seconds (for me anyways). A cold start on AWS Lambda takes 2-5 seconds, which the user won't notice on my services because the frontend is served from S3 and rendering is client side. And the way services are coupled to the app is about the same. I've used both Heroku and…

Sure, it's designed to be faster to boot up, but Heroku could optimize their startup time.
Post reply on HN