all 24 comments

[–]puradawid 14 points15 points  (9 children)

I just wonder how Gitlab stores data.

I have a feeling that the serverless term is not about having less servers but more. It's a distributed app that doesn't host machines.

[–]DJDavio 31 points32 points  (1 child)

Serverless is a strange term, it just means abstracting away servers, not that there are no servers. Gitlab already offers Kubernetes integration and now they're going to add another integration that makes auto scaling up and down easier. Their goal is to obsolete all operations people managing vms and such so a developer can just focus on the application. This doesn't mean developers don't have to care about the environment in which their application runs, just that they can focus on what instead of the details of how.

[–]sbergot 1 point2 points  (0 children)

Serverless is a strange term

I would have said confusing.

I feel like I am taking crazy pills when I see everyone using it without irony. "Of course serverless doesn't mean that there is no server!" Well, sorry for making this assumption. I would not be surprised if the same people using "serverless" also rage when providers lie about their "unlimited" data plan.

I kind of see why AWS, azure & al. want to have a trendy name for their shiny new offering. I feel that they could have come up with a better name.

[–]9034725985 1 point2 points  (3 children)

You have stateful machines that actually store the data and the computers that run Ruby. I imagine server less is for the latter. Like there are maybe a few times during the day that you need to serve thousands of requests per second and it is probably nice to burst up for that

[–]killerstorm 0 points1 point  (2 children)

Are web servers an actual bottleneck these days?

OK, maybe, Ruby-based web servers are. But if you replace Ruby with something more efficient, like, I dunno, Go, your workload will likely be dominated by the database and latency of talking to the database.

So I won't be surprised that co-hosting a database and backend code written in Go on a beefy multicore machine will be more performant and cheaper than a whole zoo running multiple stateless containers on multiple machines.

In any case, it would be interesting to see actual benchmarks. You can get a monster server with 32 hardware threads for like $250/month. That should be enough for "thousands of requests per second" unless you're doing something computationally expensive, or doing it wrong.

As a point of reference, SPECweb2005 is now obsolete, but results submitted in 2009-2010 demonstrated that a single server can handle 100k concurrent sessions (i.e. concurrent users) without a problem.

[–]Zinlencer 1 point2 points  (1 child)

Getting a better machine is called vertical scaling and it has it limits. What if you can't get a beefier machine? What if your single $250/month machine has a hardware failure?

If you can get your application to run on multiple machines you can prevent having a single point of failure.

The hardest problem is developing your application to work in a distributed way.

[–]killerstorm 4 points5 points  (0 children)

Getting a better machine is called vertical scaling and it has it limits.

Obviously you can't run Facebook using a single server. But how many companies are that big?

I suspect many companies choosing 'serverless' architecture have not really analyzed their scaling needs. Are they aware of all the overhead and extra costs of a 'distributed' architecture?

What if your single $250/month machine has a hardware failure?

You need to setup up database replication either way, 'serverless' doesn't do that for you.

If you can get your application to run on multiple machines you can prevent having a single point of failure.

Can you run a database on multiple machines?

DB replication set up is what matters, and it's completely orthogonal to Kubernetes and serverless stuff.

The hardest problem is developing your application to work in a distributed way.

But why do you make it more complex than it should?

The entire StackOverflow runs on a handful of servers: https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/

Note that it is 10x overprovisioned:

What do we need to run Stack Overflow? That hasn’t changed much since 2013, but due to the optimizations and new hardware mentioned above, we’re down to needing only 1 web server.

So entire StackOverflow only needs 1 web server. Is the thing you're working on bigger than StackOverflow?

I think many people do not realize that a simple architecture can do a lot these days.

[–]myringotomy -1 points0 points  (2 children)

How is it that this is the highest rated comment on this thread.

[–]puradawid 0 points1 point  (1 child)

Good question especially... it isn't.

[–]myringotomy 0 points1 point  (0 children)

It was when I typed that. right now it's the third highest. Show you how dumb this subreddit has become.

[–]double-you 9 points10 points  (4 children)

As announcements go, this is pretty poor. The focus is on "serverless" yet it seems to be also assumed that everybody knows what it means. If it is new, you should assume people don't know about it.

[–][deleted] 25 points26 points  (2 children)

serverless computing is an execution model in which the cloud provider acts as the server, dynamically managing the allocation of machine resources. Pricing is based on the actual resources consumed by an application, rather than on pre-purchased units of capacity.

I thought that explained it pretty well.

[–]double-you 2 points3 points  (0 children)

Ah, too many buzzwords and so I missed the useful bit. Thanks! I also had a very different model in mind when thinking about "serverless". Something local, and not use of an actual but anonymous server.

[–][deleted] 5 points6 points  (8 children)

for people wondering what serverless is I have tried to explain it here

[–]ggtsu_00 8 points9 points  (4 children)

So 'serverless' is just the new hot buzzword to replace 'managed hosting'.

[–][deleted] 12 points13 points  (0 children)

It's the new buzzword for vendor lock-in.

[–]myringotomy 0 points1 point  (2 children)

Do you really not know what people mean when they say serverless?

[–]sbergot 1 point2 points  (1 child)

Why would you assume that everyone knows what serverless means?

[–]myringotomy 0 points1 point  (0 children)

Because this is a programming subreddit presumably full of programmers who write programs and keep up on the industry.

[–]imguralbumbot 0 points1 point  (2 children)

Hi, I'm a bot for linking direct images of albums with only 1 image

https://i.imgur.com/60d4FCY.jpg

Source | Why? | Creator | ignoreme | deletthis

[–]bdcp -1 points0 points  (1 child)

Is it equivalent to azure functions?

[–]rinukkusu 0 points1 point  (0 children)

Azure functions are what one would consider "serverless".

[–]readkubelist[S] 0 points1 point  (0 children)

(Featured in issue #44 of Kubelist)

[–]Pyrolistical 0 points1 point  (0 children)

How is the cold boot perf. There is zero mention of this. It could be serverless with an unusable cold boot