This solution is sort of weird to me. To me, the allure of a static site or a static blog is to simplify the stack; To bring it back to the basics. Static HTML served by a good ole-fashion web server.
Adding the cognitive burden of "serverless" and/or lambda just to schedule seems to complicate something that isn't very complicated. Its almost like an invented problem.
That said, long live this static site generator movement.
I'm betting this movement will continue to grow which is why I'm bootstrapping https://www.remarkbox.com (comments-as-a-service)
I use jekyll NOT because it's simple (Actually it's 100 times more complex to use than a simple wordpress or medium) but because:
1. I can keep track changes with git
2. I can host them on Github pages for FREE
3. I own the content
4. More flexible
In fact I've been really annoyed with all the boilerplate code and extensions I need to deal with in order to have a "usable" workflow set up, I almost thought about moving back to free blog services like medium, tumblr, wordpress, etc. but the only reasons I can't are the ones I mentioned above.
But my point was it's not just about "simplifying the stack". You said "the allure of a static site or a static blog is to simplify the stack;", but the thing is, not everyone thinks that way.
A possible goal is to have the serving stack be as simple as possible.
After all, you can argue that the publishing-side stack is anyway very complex: it includes e.g. the Github UI, if one makes edits using the Github UI.
Yeah, they said its "serverless" but it requires an AWS lambda function. I use Jekyll for my blog but I simply commit, push, and run a script that copies the files to S3. https://www.tberra.com/aws/amazon/meta/2016/11/12/the-birth-... its not scheduled but I could easily tell linux to run that command once at whatever time I wanted.
> There's no notion of uptime, provisioning or managing servers when using lambda.
There's no notion of uptime, provisioning or managing Web sites when using Web sites; but the operators of the Web site certainly have to tackle such things.
Likewise, I'm sure the operators of AWS lambda are very much concerned about such things, even if the users aren't.
"Serverless" really means "your code is run as a container with a finite lifetime on an arbitrary machine in a standardized, non-configurable PaaS machine cluster."
In essence, it's a return to the "cgi-bin" model of scripting, where you write a script that only runs for the lifetime of one request, and then a web server will spin it up to respond to a relevant request and it'll terminate at the end of that request.
The only differences in the modern instantiation of the concept, are that:
1. the "cgi-bin" directory is a mounted object store, common to an entire cluster; and
2. there's some fancy preloading logic that lets Lambda functions stay "hot" between calls to them, so that they can run very quickly. (Sort of like Phusion Passenger does for Ruby code, except with enough isolation to make it safe for multitenant environments. Heroku's old Alpine stack might be a better comparison.)
Instead of hourly polling, which I find quite inelegant, couldn't you trigger creation of new schedule rule with the correct time that then triggers the publishing?
With Jekyll you can just future-date your blog posts then trigger a republish on a daily cron. By default future-dated posts won't show up. So a daily build will publish them on the right day.
If you host using Netlify you can create a build hook to just curl. You could even use Cronitor for a free cron.
Hello there! The serverless framework supports a number of different FAAS (function as a service) providers like IBM openwhisk, AWS lambda, & Azure functions from microsoft. See https://serverless.com/framework/docs/providers/ for more info.
And it's still a static web site, so you're only "screwed" in terms of updates. And if you can't wait for Lambda to be restored, either run the script locally or manually hot-fix those static HTML files.
I used Serverless back in the v0.5 days, picked it up again yesterday for another project. I have to say, the current version has improved vastly, from project architecture to ease of use (remember all those `json` files?!) and also documentations! Not to mention the provider support it now has. I like the idea of Serverless, and now I love it even more!
While I don't know your situation your use case is understandable. It's just hard to watch such big tools serving up simple HTML with what could be a shell script or two running in cron.
Avoiding AWS based solutions to "not rely on others" is like using a kerosene lamp in the center of Manhattan. You may be more self sufficient, but.... why?
... as for self-sufficiency, why not? You're trading freedom and independence for serfdom in Amazon's little kingdom. They'll seduce you with shit exactly like this -- stringing together pointless, useless services to achieve an end that in actuality requires 999999999% less machinery than what they sold you -- to make sure your next project is with them and all their comfy little tools at something 2x to 3x the price. The collective knowledge of running servers represented by a federated, disparate group of specialists slowly drains away from public access, only to re-coalesce behind private walls to enrich a bunch of greedy, already-rich fucks instead of the general public. (You can already see this in the declining quality of google results for technical queries)
Meanwhile lots of good admin guys lose their jobs and the world of software development continues its transformation into a cesspool of spoiled brat devs begging, neigh CRYING for Bezos/Nadella/etc to wipe their ass for them.
Welcome to the future! I'll take my self-sufficiency...
Pointing at a service with 99.99% uptime and claim the outages as a reason to go elsewhere? Host it yourself and hit that same uptime target. I'll be impressed.
AWS isn't built for little static sites. It is built to host Amazon. And others likewise as big. The ability to do neat toys like this at a low cost, utilizing far more machinery than you would ever need to for such small project, is a happy byproduct.
> Meanwhile lots of good admin guys lose their jobs
Don't go all union-y on me! Frictional Unemployment is unavoidable. The reality is that services like AWS free up all those clearly intelligent (by virtue of being "good") admins to utilize their intellect elsewhere. We live in the age of the STEM shortage. If you can work a computer and can be described as "good", I won't worry for you.
> Pointing at a service with 99.99% uptime and claim the outages as a reason to go elsewhere? Host it yourself and hit that same uptime target. I'll be impressed.
Well, according to pingdom I hit 99.98% uptime with the dozen-or-so cheap little DO boxes I run for my firm's infrastructure. That's playing the dual roles of sole developer and sole support on those systems. My data pipeline collects records from hundreds of deployments worldwide, through all manner of diverse corporate IT environments. It really isn't that hard.
I'll agree with your points on frictional unemployment when the thing displacing them represents actual forward progress. AWS is a land grab, not progress.
Adding the cognitive burden of "serverless" and/or lambda just to schedule seems to complicate something that isn't very complicated. Its almost like an invented problem.
That said, long live this static site generator movement.
I'm betting this movement will continue to grow which is why I'm bootstrapping https://www.remarkbox.com (comments-as-a-service)