There was a great question over at Hacker News recently that caught my attention: What’s your favorite way of getting a web app up quickly in 2018? Or, in other words, what is your preferred stack for quickly spinning up a side project? Having given the subject a lot of thought in the past I found the responses (over 500) to be of great interest.

The thread is worth a read, but it’ll take some time to get through. In an effort to (collectively) save time I wanted to summary the takeaways. This is not an exhaustive list, just my takeaways based on a thorough read of the comments. And, yes, this is a obvious over-simplication and the below categories are somewhat arbitrary but I still think there is value in summarizing the entire (quite messy) set of responses.

Hacker News’ Top Web App Stacks:

  • Ruby on Rails
    • Problematic in many ways, but if all you care about is getting a web app up quickly, it’s still a top choice because of the gems and community support.
  • Flask
  • Django
    • Not as popular of an answer as I would have guessed, but still a top choice.
  • Golang
    • This came up many times, and it very much seems to speak to the Hacker News readership as well as the popularity of the language. Go was often mentioned alongside React.js or Vue.js. To mean this setup seems like a great way to build an app, but doesn’t really seem like the fastest way to spin up a new app, which was the topic of discussion.

Honorable Mentions

  • Vue.js
  • Laravel
    • This seems to be the go-to option for people using PHP.
  • Elixir and Phoenix
  • Grails
  • Pyramid
  • React + Firebase
  • React + Node.js
    • Node is another item was seems under-represented, but React remains popular for frontend work.
  • Create-react-app
  • Vanilla PHP + HTML5 UP + SQLite3
    • This was an interesting addition that sparked a huge number of comments. The suggestion was contentious, but it was still an interesting thread.
  • Meteor
    • This framework has fallen out of favor, but it was a popular option for a time. It still garnered a few mentioned, but not much discussion.
  • Clojure
    • Sometimes with Reagent or Pedestal
  • WordPress
    • Given the target audience it wasn’t shocking this didn’t come up much.
  • Springboot
    • There was no way Java wasn’t getting a mention here.
  • PostgreSQL
    • This was a popular mention as part of a stack

Hosting, Tools, and Misc.

  • Heroku
    • This came up time and again as a place to get your minimum viable product up and running quickly. Heroku seems to be host of choice for yet-to-be-scaled web apps.
  • Digital Ocean
    • Lots of of options, but a top choice is their cheap, easy-to-spin-up Ubuntu boxes (droplets)
  • AWS Lambda
    • Not a lot of mentions but its came up enough to be notable.
  • Firebase
    • This came up a number of times, and not just for data storage but also for easy user authentication.
    • Google App Engine was brought up a few times as well, but doesn’t seem as popular as Firebase on its own.
  • Static Hosting
    • Surge.sh, Netlify, S3, etc., are all popular tools for standing up a sites quickly. These are especially useful when they have free starter pages. Github Pages was popular as well, despite its limitations.
    • Extensions to static hosting sites, like Netlify CMS, were an interesting part of the discussion. They didn’t come up much but could have a real impact on some projects.
  • Gitlab
  • Docker
    • Regardless of the language or libraries you use, this was pointed out to be a way to reduce the total overhead of bundling and maintaining an app. This thinking in terms of overhead reduction really resonated with me.
    • Dokku would fall under this as well. Ansible was mentioned a few times in the same way.
  • Bubble.is
    • This only came up two or three times, but if you want a low- to no-code build this is a top option.

Takeaway

The most popular sentiment was that the fastest way is what you know, which is both obvious and avoids the entire point of the question at hand. While I don’t disagree with this point, it obviates the need for the entire discussion. Also, this sentiment missing the point that if a side project is a learning opportunity for you — in addition to building a business — then learning a skillset that lets you quickly deploy web apps is a huge benefit.

The sheer number of mentions of Heroku has caused me to need reexamine the platform. It turns out to be a real favorite with the commenters.

AWS seemed largely absent from the discussion. There were a few mentions of ECS and RDS, a few of S3, and some talk of AWS’s free tier, but people seem not to associate AWS with “quick and easy.” Elastic Beanstalk had just a few mentions despite being aimed exactly at this usage.

June 4th, 2018

Posted In: Web Development

Tags: , , , , , ,

While I’m partial to hosting static sites on AWS with S3, there other ways to solve the problem of cheap/free static hosting. One popular option that works for simple one-page sites, single-page applications, Jekyll blogs, and more is GitHub Pages. All you need to get started is a free (or paid) GitHub account, a basic understanding of how git or GitHub works, and about 10 minutes.

(more…)

May 15th, 2018

Posted In: GitHub

Tags: , , ,

So you have an awesome, affordable new VPS instance — maybe even a WordPress or Drupal installation — hosted on Amazon’s Lightsail. Setting up a Lightsail instance might be quick and easy, but moving it from HTTP to HTTPS isn’t as intuitive as you might expect. This is one of those instances where AWS stops holding your hand and expects you do to some real work of your own. But don’t worry, setting up HTTPS isn’t too tough and, thanks to Let’s Encrypt, it’s free.

(more…)

May 13th, 2018

Posted In: AWS

Tags: , , , ,

It used to be that hosting WordPress on AWS was a difficult task. You needed to deal with EC2 and the huge AWS management console with its dozens of tools and hundreds of options. Then Amazon introduced the AWS Marketplace and “WordPress powered by BitNami,” which made things easier but left many of the same hurdles in place. Then, finally, Amazon introduces Lightsail, which is basically AWS on easy mode.

(more…)

May 12th, 2018

Posted In: AWS

Tags: , ,

Amazon’s S3 is a great tool for hosting static sites for nearly free (and often times free). Setting up a website in S3 takes just a few minutes, and once it’s there it’s secure, scalable, and affordable. That said, it’s not the tool for everyone — like AWS, S3 has many quirks and it has a real learning curve. Also AWS support is far from free and if you want to do anything non-standard, like URL redirects, there can be many headaches. So here are some of the best alternatives to S3 static site hosting for every user, need, and budget.

(more…)

May 2nd, 2018

Posted In: AWS

Tags: , , ,

If you are looking for an explainer on S3 redirection rules, you are going to have a tough time finding a good one. Available on redirection rules is available from all over the place, no one source (including Amazon) is even close to complete, and then outcomes don’t always match exceptions. Welcome to cloud confusion.

(more…)

April 29th, 2018

Posted In: AWS

Tags: , , ,

HTTPS on AWS

If you have followed CloudConfusing’s previous guides on hosting a website on S3 and then adding HTTPS to that site, forcing HTTPS is surprisingly easy. The whole process will take about two minutes per site and involves no risk factors, assuming your HTTPS setup is already functioning properly.

(more…)

April 28th, 2018

Posted In: AWS

Tags: , , , , ,

Are you trying to upload a database to your site, but it’s getting rejected by phpmyadmin? That’s a common issue, but unfortunately it can happen under a number of circumstances and there are many places where the file size restriction can live, making the issue difficult (or at least tedious) to troubleshoot.

Recently this happened to me when trying to install a 200MB database onto a local installation of WordPress, using MAMP for the heavy lifting. My localhost setup would have no issues with a database of this size but phpmyadmin rejected it every time. I wanted to get my local environment set to match the production version, so this was a necessary step.

(more…)

February 5th, 2018

Posted In: Localhost / Environment

Tags: , ,

This has been one of the worst parts of S3 hosting for me. In fact, it’s been one of the worst parts of all of AWS since I started my cloud hosting journey (shenanigans?). Understanding the Amazon Web Services S3 Website and REST API endpoint has been endlessly confusing and has caused me hours of frustration.

(more…)

December 24th, 2017

Posted In: AWS

Tags: , , , ,

In my previous article about hosting a static website on S3, I realize that I may have rushed past the section on DNS. The AWS Static Site Quickstart tool does most of what you need, but upon further review, I can say that it doesn’t do everything and it doesn’t do DNS particularly well. So let’s revisit Route 53 and run through some of what I’ve managed to piece together.

(more…)

December 18th, 2017

Posted In: AWS

Tags: , , , ,

Next Page »