featured image

Deploying Kubernetes locally on Proxmox

Introduction Here it is - The mountain that I’ve been excited and nervous to climb. Today I’ll describe my experience getting a local, multi node cluster of Kubernetes running. I was excited to play with one of the most interesting and now rather ubiquitous technologies in modern software operations. The nerves came from the amount of difficulty and complexity that was regularly reported by people online. In order to reduce the overwhelming task to a digestable portion, I decided to go with a somewhat automated deployment....

November 4, 2024 · 6 min · Rick Thackeray
featured image

Using Ansible to Configure a New Workstation

Introduction I’d been wanting to check out Ansible for a while. When I learn a new technology I prefer to have a real use for it. Up to this point I hadn’t found one for Ansible, until I decided to switch my daily driver from Ubuntu to Debian. I realized that I could probably codify all of the software installs and configuration using Ansible, so that the next time I rebuild my workstation it would be automated....

October 17, 2024 · 4 min · Rick Thackeray

Using Terraform for ECS/EC2

Introduction Today I’d like to share my experience of learning the basics of Terraform. I will show how I used it to set up AWS infrastructure to run the FastAPI backend of my notes app. Namely, I will be setting up an ECS cluster with one EC2 provider. I will also share some of the struggles I had to overcome - at least the ones I haven’t suppressed. This post is part of a series where I create a basic CRUD app and improve upon the development and deployment of the app using DevOps tools and techniques....

December 17, 2023 · 6 min

Load Balancing Using Nginx and Docker

Introduction In my ongoing effort to learn DevOps tools and practices, today I’d like to share my experience setting up scaling for the FastAPI back end of my notes app, using Docker’s Compose feature as well as setting up the incredibly common webserver, Nginx, as a load balancer. Setup To get started, I made a new git branch of my project’s repo. This wasn’t super necessary since this is a relatively simple project that I alone work on, but I wanted to get more practice with an important part of the git ecosystem....

November 28, 2023 · 5 min

Setting Up GitHub Actions to Deploy to ECS

Introduction I was excited to tackle today’s topic of using a CI/CD tool, GitHub Actions, to automate part of the deployment of my Notes app. One of my favorite aspects of working with technology is getting to automate things. Much of what I built in my last post was done manually in a graphical interface, which wasn’t as exciting for me, but was a necessary step in the learning process. So, let’s see how I automated part of the deployment process using GitHub Actions....

November 10, 2023 · 9 min

Deploying a FastAPI Container to AWS ECS

Introduction In my latest efforts to learn more about DevOps tools and practices, I set out to deploy the Docker image for my FastAPI app API to AWS. You can read about the process of building the image in my last post. This post is part of a series where I create a basic CRUD app and improve upon the development and deployment of the app using DevOps tools and techniques....

November 7, 2023 · 5 min

Containerize a FastAPI App with Docker

Introduction In my ongoing effort to learn the tools and practices for DevOps engineering, today I wanted to containerize the FastAPI backend of the notes app that I created previously, using Docker. This post is part of a series where I create a basic CRUD app and improve upon the development and deployment of the app using DevOps tools and techniques. Title Creating a Notes App with FARM Stack Containerize a FastAPI App with Docker Deploying a FastAPI Container to AWS ECS Setting Up GitHub Actions to Deploy to ECS Using Terraform for ECS/EC2 Getting Started I started off by creating a Dockerfile....

October 10, 2023 · 4 min

Parsing CSV Data Using Python

Introduction I recently had another use case for writing a script to parse some data. Normally, I would use Powershell for something like this (see Updating a CSV using Powershell), but this time I wanted to challenge myself to do it in Python. I’ve used Python a little, but I’m not as strong with it as I am with Powershell. The problem I wanted to solve was that I needed to take a pool of digital cards for my MTG Cube, sort them into their color categories, shuffle the color-grouped cards, and deal them into “booster packs” - groups of 15 cards....

October 5, 2023 · 5 min

Creating a Notes App with FARM Stack

Introduction I’ve been wanting to learn more about CI/CD tools and techniques. To do this I could use an existing project, but I also want to get more reps in with the development process, so I decided to start a new project. A note taking app sounded interesting and simple enough to cover what I want to learn. So, I started by setting up a basic structure using the FARM stack....

September 14, 2023 · 7 min

Updating a CSV Using Powershell

Introduction I love Powershell. Over my IT career I have spent a lot of time learning how to use it to automate all kinds of things: batch creation of Active Directory accounts, interfacing with APIs, tracking network congestion, and conducting mass software deployments. During the past year I’ve been focused on learning DevOps practices, where Linux is king and Powershell is rarely mentioned - and I’ve missed using it. Fortunately, I had a use case recently where Powershell would be a great tool....

July 18, 2023 · 4 min