Posted by & filed under Deployments, DevOps, Docker, Web development.

MySQL still plays a large part in many software stacks and while many IaaS vendors have their own hosted versions (i.e. Amazon RDS), it’s still fairly common to run MySQL in a Docker container, especially in development environments.

One common problem that’s encountered with MySQL is initializing it before its use and having your application connect only after initialization is complete. While some find it acceptable to include initialization code in their application startup, in my own projects I prefer a run script that handles initialization as part of starting the container’s process and then have the application startup gracefully handle the connection.

Read more »

Posted by & filed under CI, Deployments, DevOps, Docker, Go, Web development.

After using Jenkins for some time, the natural progression towards cheaper and simpler alternatives kicked in. While not the prettiest thing to look at, Jenkins served us well, but the costs involved with running at least one full-time AWS instance (plus workers) for our CI needs were becoming questionable.

Read more »

Posted by & filed under Go, Web development.

When I needed another outlet to begin blogging about another product we’re working on, I reached for another standard WordPress install. It’s what I’ve come to know over the past couple years and while I’ve never felt satisfied with it — it worked well enough to let me focus on writing.

Before I started the WP install, though, I took a few moments to consider what functionality I really needed: HTML templating, analytics, and a comfortable way to draft content. I’ve never been able to achieve that last one with WordPress. Writing in the WYSIWYG editor, even in distraction-free writing mode just wasn’t enjoyable. Copying and pasting my content from another source like Google Docs or https://draftin.com/ into the editor was disappointing to say the least.

Read more »

Posted by & filed under aws, DevOps, Web development.

Scheduling tasks to run at particular times is a fairly common occurrence when developing web applications. Cleaning out old session data, generating reports, flushing queues, checking job statuses, and sending emails are just a few examples of tasks that either need to run at specific times or might not have another event to trigger them.

Read more »

Posted by & filed under aws, Deployments, DevOps.

We recently started working with Slack to streamline workflows and try some ChatOps. While pushing our Jenkins and Shippable updates to Slack was accomplished with a single cURL command, we also wanted our Elastic Beanstalk notifications to show up in some particular channels.

I’ve been wanting to try out AWS Lambda for some time now, and it just so happens that SNS (which Elastic Beanstalk uses for notifications) supports piping directly to a Lambda function.

Read more »