
List of Serverless Functions for JAMstack Apps - leerob
https://jamstackfns.com/
======
testbot123
Question for the frontend crowd: how have microservices/serverless aged over
the past few years? I've largely avoided learning/using this type of
architecture because intuitively it seems like a bad idea to split your app
and business logic across a bunch of tiny services with unknown uptime stats
(difficult to maintain, difficult to see macro view of your application,
cascades of service dependencies, hard to onboard new people, etc). Are
microservices and serverless architecture still considered a good idea? What
are the benefits I'm not seeing?

~~~
finestkludge
I'm not aware of a real "consensus," but a popular view (reflected by my
experience) is that they're great for a large org with many teams working
asynchronously (though they still introduce headaches), but that for most
startups, the payoff is reduced greatly while the pain remains consistent.

You've probably around seen this, but DHH has a good piece on this in Signal
v. Noise: [https://m.signalvnoise.com/the-majestic-
monolith/](https://m.signalvnoise.com/the-majestic-monolith/)

~~~
ornornor
I feel this post is addressing something else. Serverless is pretty much
simple especially with a framework of the same name or on say netlify. All
your code is in one repo and you don’t have to worry about the servers at all.

The blogpost is more about orgs deciding to manage their servers too, going
full on kubernetes, docket, etc. That’s what complicated everything because
now you need dozens of other systems just to make your container architecture
work.

But serverless? You need nothing. Just push to a repo and you’re done because
someone else is doing the cat herding of running the containers.

------
rubyn00bie
Sooo... the "JAMstack" is like the inside of a controller action, where the
service provider gives you a route to it? Why do this to yourself? Like you
didn't have to do ./app run, okay... but what does it look like when you have
10+ "serverless" functions?

It seems to me, it would look an awful lot like a badly organized server
application. Kind of like PHP sites were (generally) organized circa 2003.

Speaking of which, isn't PHP like "OG Severless?" In fact, isn't this a more
complicated deployment of what you can do with PHP? I don't even care for PHP,
but it seems a lot easier than this, and certainly at least as cheap and easy
to deploy.

I'm just at loss what the purpose of this is... or how it isn't reinventing a
specific set of wheels that everyone already passed on (or already uses for
those specific purposes).

~~~
splintercell
> It seems to me, it would look an awful lot like a badly organized server
> application. Kind of like PHP sites were (generally) organized circa 2003.

Isn't this in alignment with the theory that technology is a flat circle.

Redux became the message passing architecture of win32 programming. Java got a
huge resurgence in late 2000s when it was discovered that instead of being
good for running TV and refrigerators it's actually great for running web
servers. How BEAM was discovered to be great for real time web (because we're
finally arriving at real time web).

One day we'll go back to writing frontend apps just like late 90s embedded
inline JS code used to be. CSS would be inline again. Then monolithic services
architecture would be back again, and one day Facebook will introduce the
ability to have 'themes' on your profile like MySpace did.

------
leerob
Creator here, happy to answer any questions. Here's why I built this.

JAMstack (JavaScript, APIs, and Markup) is fundamentally reshaping the web.
Coined by Netlify's co-founder, JAMstack bridges the gap between static and
dynamic websites. Capitalize on static site performance, security, and
scalability while still having dynamic data.

I've seen this first-hand, building many JAMstacks sites myself. As a front-
end developer, it was always challenging to find good examples of serverless
functions. I'd usually have to dive through documentation, search
StackOverflow, and ask questions on GitHub. They might have code but never had
complete instructions for set up.

JAMstack Functions is a directory of the best serverless functions for
JAMstack applications. Each function includes code for both Vercel (Next.js)
and Netlify Functions, as well as instructions for setting up. Quickly deploy
the function to your static site and start building.

Let me know which functions you'd like to see added.

~~~
Nicksil
>JAMstack (JavaScript, APIs, and Markup) is fundamentally reshaping the web.

How? "fundamentally reshaping the web" is a bold claim; how are those things
reshaping the Web -- what's changing shape?

~~~
leerob
Static sites have evolved. Today, they can handle real-time requests, process
payments, manage customer accounts, and a lot more. Some other benefits:

    
    
      * Cheaper – Not making requests to the server on-demand
      * Faster – Served from a global CDN close to your users
      * Easier – No complicated deployments, better DX
    

How is this reshaping the web? In a way, we've come full circle. What's
changing is how we get to a static site. JAMstack unlocks all the benefits of
static sites with today's complex data requirements.

~~~
nogabebop23
>> Easier – No complicated deployments, better DX

I'm a big fan in many use-cases, but this one is overstated IMO. Yes, your
"site" is essentially a bunch of static pages but in order to do all that
fancy stuff that the JA-part is selling you now have a massive deployment
challenge that's just as prone to the same problems as the distributed
monolith.

The big win IMO is moving runtime concerns to build-time. There are a
surprising number of scenarios where the backing data changes on predictable,
not-that-frequent basis. For example, it is far easier to publish a product
catalog based on some internal system via a static generator than some sort of
real-time link.

There are lots of cool use-cases but JAM is not reshaping the web in any
structural way, at least if you've been programming it for more than 5-10
years...

~~~
leerob
Fair points – "reshaping the web" was a probably bit overzealous.

------
benatkin
This is pretty cool. It's about the same concept as
[https://stdlib.com/](https://stdlib.com/) but using JAMstack providers to
build the serverless functions instead of dealing with the complexity of the
major cloud providers and supporting different programming languages.

~~~
leerob
Thanks for sharing stdlib, I hadn't seen it before.

Netlify Functions are essentially AWS Lambda functions. They just abstract
away all the tedious parts for you. Serverless functions with Next.js & Vercel
have an abstraction with (req, res) to support multi-cloud.

