Devops

System Architecture (part 1) - Strategies by Andrew Wyllie

One of the keys to good architecture is understanding the problem before rushing to solutions. Don’t let the latest technology or concepts guide your decisions until you have defined the problem you are trying to solve and fully understand, at least at a high level, what the benefits and costs of various technologies will be.

Read More

Setting up a YubiKey for SSH by Andrew Wyllie

A Yubikey is a small hardware device that you install in USB port on your system. Its main use is to provide multifactor authentication (MFA) when connecting to various websites that support it. So instead of having the site text/email you a six digit code and then typing that code into a form on the site, you can just touch the sensor on the yubikey to send a MFA code - much simpler. As MFA is implemented by more and more sites, this can be a very handy device. One nice side benefit is that the key can be removed from your laptop, so in theory, even if someone has access to your laptop and your passwords, without the key they will not be able to get into sites that you have configured . Yubikey is supported on many major sites. The main ones I used it on are GitHub and AWS

Read More

AWS Serverless CI/CD with GitHub Actions by Andrew Wyllie

AWS and GitHub are great services for managing and deploying cloud applications but sometimes getting the code from GitHub to AWS is not as straight forward as we would like it to be. Sure, there are some tools out there that bridge the gap (CircleCi, Jenkins, many others) but that means learning another framework, and hoping that everything is tightly integrated and that you remember how it all works when something breaks half a year after you set it all up. GitHub Actions can help simplify this though. Actions are easily configured workflows that are triggered when you do something with git. For example, you can set up an action that automatically test your code every time you push it to github. You can then extend that workflow so that it builds your code in a test environment when you create a pull request. This allows another member of the team to easily access the running code while reviewing the source code, simplifying the code review process as you get that warm, cozy feeling knowing that the code you are reviewing does what you expect it to do.

Read More