SamCaldwell.net (@x684867)

DevOps,  Site Reliability,  Security  &  Politics

Round Rock, Texas  512-963-7805

About The New Site: Static-Serverless vs. Server-Based Content-Management Systems

Monday, 21 October 2017 09:00

We have come a long way in technology. I still remember when most sites were just static websites hosted on simple servers with content edited in Microsoft FrontPage or Dreamweaver. But we went too far in the other direction. We deployed everything we could on a content-management system, hosted on a fat and expensive server. With that came SQL and code injection, directory traversals and other nightmares. It did not have to go this far. In most cases it was the result of greedy consultants (I used to be one) and a lack of technical courage to do something different.

This site is an example of what a serverless static-content site can do in 2017. The cost of this site with its approximately 4K hits per month is $0 (even with a caching layer in front of it) and it can scale to millions of hits per month easily.

But it's not pretty? Well...that's because it is just a start. Over the next few months, Lydia and I will be adding more CSS and JavaScript to create the same high-level functionality you expect with one great benefit to us--you'll execute the code in your browser and not on my servers. This means, lower cost on this end and a faster response on your end (without all the significant security risks of a traditional CMS). Here's our vision...

We're working to flip the CMS model on its head. Rather than a CMS that deploys to the front for real-time edits, we're pulling the content editor back behind the firewall to a Docker container that runs on our laptops. When content is edited, the output is a static HTML document, CSS stylesheet and some JavaScript files. These can then be published through Atlassian Bitbucket pipelines to Amazon S3 (where the static content is hosted).

Traditional server-side automation (when it is needed) will be provided through Amazon AWS Lambda functions and S3 buckets or API Gateway. This means that the JavaScript executed on the browser can quickly interact with an independent API that will render output through S3 at a lower cost than even the cheapest ($5/mo) Digital Ocean servers can provide.

For now, we're focused on the backend CMS containers, but you should start to see more features emerge as we have time to add them.

--Sam and Lydia Caldwell