Comparison of s3_website and ScottyJS

Jeff Barr Tweets about ScottyJS

Jeff Barr, the AWS Blog Guy, recently tweeted about ScottyJS citing it as a method for uploading static sites to AWS for hosting using S3 and Cloudfront.

I have been using s3_website for years to handle my static-site uploads to S3, so I decided to do a quick evaluation of ScottyJS.

Summary and Recommendation

Scotty is a cool I would like my static website to be in AWS please tool, with a target audience that knows little about AWS under the covers.

s3_website handles uploads to existing S3 buckets and existing cloudfront distributions, meaning that it will leverage the infrastructure you already have while Scotty will create infrastructure for you.

Scotty feels more like a one-time use tool for beginners who just need an easy way to get their website up in to AWS and want to worry about the inner-workings later. S3_website is a full featured tool that, with its ability to create cloudfront invalidations for detected changes, makes it the long-term tool of choice for anybody maintaining a static website on s3 and cloudfront.

So while ScottyJS is very impressive, I will be sticking with s3_website for now.

Installation of the tools

S3_Website

gem install s3_website

ScottyJS

npm install scottyjs

Side-by-side feature comparison of s3_website and Scotty.JS

FeatureS3_WebsiteScotty.JS
Uses Config Fileyesno
Uses Commandline options for the confignoyes
LanguageRubyNodeJS
Cloudfront supportset cloudfront_distribution_id in config filesupports creation of the distribution, but will not set aliases or use a pre-existing distribution.

Upload static website to S3 and update Cloudfront

S3_Website

ScottyJS

Using configuration options from s3_website.yml 
s3_website push
scotty --website \
  --source _site \
  --bucket devonhubner.org \
  --region us-east-1 \
  --profile scottUpload
categories: aws | devops | static-website |