When searching "Postgres vs MySQL" you'll find an unlimited number of comparison articles. Many of which, have feature/pro-con matrices which are both informative and misleading. Ultimately, the reality is, it's a matter of preference and related to specific need. You can make your specific decision based on a variety of factors. Rather than re-hash the debate here, let me explain why we made the move from Postgres to MySQL at Lodgik.
I'm continually exploring various cloud offerings. Heroku, Google Cloud, Azure, AWS, etc... Previously Lodgik.com (a Rails 5 app) was hosted via AWS ElasticBeanstalk. Even though everything worked perfectly fine once it was deployed, I had a lot of concerns with the difficulty / quirks involved. A few of the issues I faced and wasn't very happy about with AWS Beanstalk:
- Environment variables configured in .ebextensions didn't completely map to the deployed app. Instead, I had to set some (not all) of the env variables in the admin console. There doesn't seem to be a good explanation for why some would map and others just didn't show up.
- The configuration files used when deploying the app were complex, confusing and didn't always work as expected.
- The cost of a simple, very modestly resourced deployment of this simple site was running $80+ a month. Which seemed excessive considering the auto-scaling configuration had a minimum of 1 instance and scaling was not ever being triggered to use more.
We've been experimenting with AWS services. Specifically, how do we best utilize IaC (Infrastructure as Code) concepts when deploying entire application stacks? The answer (as many of you know) is not a simple one. There are several technologies that attempt to tackle this problem. Each of them require a bit if buy-in and investment, which means ample research is required before making a selection.
Our latest experiments involved comparing AWS ElasticBeanstalk with something more agnostic (in this case Terraform by Hashicorp).
We recently moved my Rails applications over to AWS EBS from Digital Ocean. The goal here was to get setup on AWS's platform so I can continue to experiment with AWS's set of services. I continue to use DO for a lot of my development work. That won't change. Yet, being able to use Lodgik as a testing ground for various technologies is a primary focus. Thus the move. So here's the rundown on what we're doing now...
- Rails 5 app with Bootstrap Alpha6 on EBS instances for auto-scaling and continuous deployment
- Route53 for DNS settings
- Postgres for DB via an AWS RDS instance
Bootstrap 4, Alpha6 was released today. As with any Alpha release there were several breaking changes. I'm not going into the ones which were relevant to this site because is it's easy enough to track changes related to your own project if you're on the alpha release branch for your testing purposes. I will say that the navbar changed dramatically again.
I've updated the code for Lodgik.com to make use of the latest Alpha6 release. I've also added a couple quick-links to the home-page status message area. These direct to the Github repositories I've published. In 2017 I'm making a concerted effort to contribute more code to the open-source community in general. So far, it's come in the form of a couple useful (hopefully) Docker configurations.
I welcome your feedback or contributions to those two (very small) projects. Larger and more meaningful contributions to come.
If you're a front-end developer, you're already fully aware of Twitter Bootstrap. Bootstrap 3 is already "the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web." Yes, that's a quote from Bootstrap's site, but it also happens to be true. Even though Bootstrap 3 is an incredibly powerful, flexible and useful framework, it has always lacked in a few areas. Vertical alignment of "cells" being one of the most pervasive. Also, it was heavily reliant on basic CSS or LESS for its styling system. While LESS is a great CSS-preprocessor, it's not nearly as versatile or logical as SASS (in my opinion). There's been a consistent migration for many front-end developers away from LESS, moving more towards SASS. The fact that you had to find a port of Bootstrap 3 in order to utilize SASS's features was a point of contention. Thankfully, with Bootstrap 4 the team has made the transition from CSS/LESS to SASS as a foundation of the framework. Here's an overview of changes in Bootstrap 4: http://v4-alpha.getbootstrap.com/migration/
The all new Lodgik site has launched. I plan on sharing a lot of useful (hopefully) information about how the site is constructed, hosted and even eventually making the code open source (eventually). The goal is to help share experiences, shortcuts and whatever else proves useful with anyone interested.