aaron dodd dot com

    Latest Posts

    • Running Jekyll on Amazon Linux 2

      Switching to AWS Workspaces using the Amazon Linux 2 image as my main development machine, I was struggling to get Jekyll running. There are a few differences from Ubuntu and the Jekyll installation instructions.

    • Effective report visualization: an example

      A few years ago we had inherited the support of several dozen applications from another vendor, partially because that vendor was not meeting their Service Level Agreement (SLA) obligations. After we started, we realized one of the issues was a lack of resources. Other efficiencies were needed, but people were as well. We effectively convinced the client to gradually expand the team to what we projected was needed, with the caveat that we would pay a severe penalty if the added people (and cost) did not bring SLAs up within a year and into compliance after two.

    • Continuous DevOps: The difference between Continuous Delivery and Deployment

      Continuous Integration, Delivery, and Deployment sound like similar concepts and there is often confusion around the last two. Many in DevOps have a good understanding of CI, but what is the difference between Continuous Delivery and Deployment?

    • DevOps Lessons Learned: Don't become the problem (again)

      This was published in the company newsletter for the topic of describing a DevOps-related failure and what was learned.

    • Opening links from WSL Ubuntu in Windows' Chrome

      Aside from Chrome, MS Office, and some work chat apps, most of my time is spent in WSL (using VcXsrv for X11 with WGL enabled).

    • Scale an AWS Aurora cluster's writer node

      While there is no “autoscaling” for RDS, for adjusting an instance on a schedule, the AWS CLI can be used. For an Aurora cluster, when you resize the primary node (the writer), AWS fails writes over to one of the readers but never switches that role back (see the AWS doc for details on the failover settings and logic). This would leave the cluster in a state where the up-sized node becomes a “reader” and one of the smaller nodes would remain a “writer”.

    • Query AWS EC2 nodes launched older than a certain date

      The AWS CLI allows for querying and filtering results, but I was having issues with creating a script to give me a list of running nodes launched more than 10 minutes ago.

    • Using the AWS PHP SDK to get a current EC2 node from a group of nodes

      When porting a Drupal application from on-site to cloud hosting, one of the issues was the use of drush aliases in one environment for drush commands to be run against the cloud environment. Since EC2 nodes in an autoscaling group can be replaced at any time, the developers needed an alternative to hard-coding IPs.

    • Updating AWS Autoscaling Launch Configs with a new AMI using Lambda

      Amazon provides a great article1 on using Lambda to automate updating the AMI of an auto scaling group’s launch configuration. The only problem with their provided code is that the existing launch configuration’s storage settings (ebs volumes) are not kept, so the new launch config has no disks specified, resulting in new launches using the AMI’s default settings.

    • Calling AWS for current nodes in a group instead of hardcoding public IPs

      When integrating CI/CD with cloud instances, the old-school method of specifying a server IP is problematic since a well-architected cloud solution allows for instance to be replaced as needed. Instead, Jenkins or other processes should verify the current running nodes before issuing a connection attempt.

    subscribe via RSS