
Why Netflix Rolled Its Own Node.js Functions-As-a-Service Runtime - ingve
https://thenewstack.io/why-netflix-rolled-its-own-node-js-functions-as-a-service-runtime/
======
nicoburns
Function As A Service (FAAS) is so much of a better name than "serverless". I
wish everyone would adopt it, and stop confusing everyone.

~~~
jshen
Serverless includes other things like google app engine and Heroku.

~~~
fouc
I haven't heard of those being called serverless. Those are more PaaS I guess.

~~~
jshen
It’s a spectrum and the boundaries are unclear. By this definition
[https://www.cloudflare.com/learning/serverless/glossary/serv...](https://www.cloudflare.com/learning/serverless/glossary/serverless-
vs-paas/) they are more serverless than PaaS imo.

Either way, serverless is a superset of FaaS.

------
mattrjacobs
Every single comment here is about the name “serverless”. Can’t actually think
of a better bikeshed example than this.

~~~
kbenson
Just coming to this article, I find my self agreeing with you and the gist of
the thread about serverless being a horrible descriptor at the same time.

It was just one thread though, and I could see how it sucked people into its
vortex, I haven't even had a chance to read the article yet, and here I am
doing the same as everyone else (including you...). Well, worse actually, as
we've contributed to a new thread.

------
alexandercrohde
This is a garbage article. It reads as a commercial and not an informed
technical piece.

As I understand it, according to this article, netflix is 90% complex services
that have nothing to do with node. All this article is describing is adding an
additional layer in front of those services, which uses a hosted solution that
abstracts away servers.

So it sounds like by-and-large netflix still uses traditional solutions.

So what's not clear from the article:

1\. Why node?

2\. Why add a layer at all? I don't see why UI A/B testing couldn't be handled
with truly front-end changes. Does this somehow enable A/B tests on TV apps,
for example?

3\. How does this play with traditional version-control? (e.g. in a post-
mortem if you need to see who changed something, and who approved it, is there
a written log? And merge conflicts?)

4\. Does this add a new single-point-of-failure?

------
cheriot
Can we not debate the term "serverless" on every FaaS and PaaS article?

Edit: remove false claim

~~~
stephengillie
Really it should be called Serverless as a Service.

------
stephengillie
While the article focuses on the Why, the article isn't thick with
implementation details about the How. From the image, it looks like they wrote
a Node.js program and have it running inside Docker. The article mentions
their custom IDE (NeWT - Netflix Workflow Toolkit) that connects to the Docker
instance.

The lower half of the article covers their development toolchain:

\- Repo: Github?

\- CI/CD: Spinnaker

\- Testing: ???

\- Container orchestration: Titus

\- Dashboards and metrics: Atlas

\- Alerts and notifications: Pagerduty

------
ianseyer
Interesting that they show a usecase involving Vizceral (their traffic
visualizer, "intuition engineering"), despite them publicly abandoning the
project. Hope this implies they are working on releasing it formally!

[https://github.com/Netflix/vizceral](https://github.com/Netflix/vizceral)

------
christophilus
TL;DR: It sounds like they wanted their UI teams to be able to easily deploy
UI specific API endpoints, and existing offerings had too much latency.

I’ve often built UI-specific API endpoints, but have often been told such
endpoints are a bad practice. In reality, I think they’re great. It allows you
to serve up optimal payloads and move much more quickly than writing the
equivalent general APIs.

That said, wasn’t Falcor the Netflix solution to this very problem?

