April 30, 2022
It's been a while since I have written anything new! But I'm excited to finally share why that has been the case and what I have been working on. For the past year, I have been building, with my friend and colleague, a new remote Docker build service that provides blazing fast compute and persisten
August 04, 2021
You may have seen if you follow me on Twitter, that I have been working on a fun new project called WTF YAML. Not a ton of details outside of its name has really been shared. It's a sort of tribute to our love/hate relationship with YAML. To help market the project, I thought it would be fun to crea
June 07, 2021
The world of tech and software development has created, for quite some time now, a dichotomy. Companies and teams are almost always looking to grow and hire. Yet, far too often they have interviewing processes that contradict everything they are trying to do. The technical interview in particular
January 12, 2021
Over two years ago I wrote a blog post on Medium that explained the S3 consistency model. Since then a lot has changed. I quit writing on Medium, as you can see. But also, the S3 consistency model has received a major update. The longest running AWS service, Simple Storage Service (S3), continues t
December 21, 2020
Recently I have been migrating the API of one of my original side projects, Ultimate Fantasy Supercross, to be 100% serverless. The API has moved over to .NET Core 3.1 and now it's down to porting each endpoint into Lambda functions. To ease the deployment pain I chose to make use of the dotnet Lam
December 08, 2020
As we round out 2020 we all feel the weight of this past year. With one more month to go, if you're like me, your hoping we are at the end of the tunnel. A tunnel filled with uncertainty, sadness, and at times, anger. This post isn't like any other I haven't written here before. Because this year is
October 20, 2020
Last week HashiCorp launched its latest open source project, Waypoint. Waypoint is a tool to streamline the build, deploy, and release workflow for all kinds of applications. Where Terraform focuses on provisioning infrastructure, Waypoint focuses on application deployment. It's an interesting new
August 17, 2020
A large part of my day to day work centers around Kubernetes. Or as it's often referred to, K8s. I blog about my experiences with AWS, serverless, and various architecture or programming concepts. I don't often write about my experiences with Kubernetes. To be honest, K8s is a complex system of sys
July 13, 2020
At this point, I spend a large part of my week inside of the Amazon Web Services ecosystem. If I had to make a guess I would say 85% of the day is creating, updating, or destroying AWS infrastructure. But, I spend less than 1% of my week inside of the AWS Console. That is to say that I don't touch
June 04, 2020
Amazon S3 is a powerhouse service inside of the AWS ecosystem. You can use it for storing petabytes of data, hosting static websites, building data lakes, and many more use cases. Today, we are going to take a look at one of the unsung heroes of Amazon S3, event notifications. We are going to take
March 31, 2020
I have written before about customizing the authentication UI that AWS Amplify gives you out of the box. But since writing that post I have received lots of questions around more robust ways to do this. In my latest project parler.io users can quickly convert written content into audio. Underneath
March 24, 2020
The reality in software development is that very few of us ever get to work on a greenfield project. Even our own personal projects start as shiny oases of pristineness. But even they eventually turn into Franksteins that we are afraid to open again. Most code, OK maybe all code, becomes legacy cod
February 14, 2020
Outside of tech and software development, a passion of mine for the past five years has been learning French. I have used many different tools along my language journey. From Rosetta Stone to Duolingo and then over to Memrise. Each tool was another step along my journey to becoming fluent. But, eac
January 26, 2020
I got a question recently from someone who purchased my Learn AWS By Using It course. They purchased the course a few months ago and used it to help them pass their AWS Solutions Architect exam. They wanted to know what changes once you have an AWS certification. How does becoming a certified AWS S
January 17, 2020
In a lot of my side projects, I make use of AWS Lambda for a large variety of things. But the most common thing I use it for is to automate a lot of the mundane and repetitive tasks I often have to do. Don't get me wrong, serverless is great for a lot of things. But it's fantastic for turning those
December 09, 2019
GitHub Actions is gaining popularity for its simplicity and for the fact that a ton of repositories live in GitHub already. With the general availability of Actions, it's now easy to incorporate your CI/CD practices into your repository. Before we use to have to use third-party tools like Travis CI,
November 25, 2019
It's that time of year. The massive developer conference Amazon throws is right around the corner and every AWS minded developer is getting very excited. A full week of AWS sessions in Las Vegas is in store starting December 2nd. But re:Invent is about much more than the talks and parties. It's a s
October 24, 2019
There are many different compute services within Amazon Web Services. There is the serverless route with AWS Lambda where you can provision your workload and run it only when you need it. Elastic Compute Cloud (EC2) allows you to run any workload inside of virtual machines that you pay for by the ho
October 11, 2019
Idempotent is a funny word when used outside of the context of development. In fact, it's a term that comes from mathematics. It describes an element that can be operated on more than once and produces the same value every time. For example, the operation, 1 \* 1, in traditional multiplication will
September 11, 2019
When we talk about infrastructure as code we often talk about declarative frameworks. Frameworks like Terraform or CloudFormation often come to mind first. Declarative approaches allow you to define what you want to be created and the tool provisions the resources for you. The general idea is that y
August 16, 2019
When it comes to being apart of a development team nowadays, two things that are certain. One, things will break and you will have bugs that need fixing. Two, the team you are a part of now is likely going to change, new folks are likely to join. This is fantastic because it brings in talented folks
June 30, 2019
Refactoring is something all developers do at some point. We tend to have a sixth sense when it comes to knowing when to refactor code. Some folks have solid principles to point to when making refactoring decisions. Others can sense that it is necessary when they are working on it. Whatever camp yo
May 15, 2019
I was working on a project recently that uses SQL Server as its primary database. This wasn't my first rodeo with SQL Server and in fact, I have a side project that makes heavy use of the .NET stack. But, in this project, I encountered a major performance problem that wasn't very clear and was very
April 11, 2019
Emily Freeman posted this thread on Twitter not long ago. The topic of hiring and interviewing developers is one that has been on the main stage for quite a while now. Hiring and the interviewing process is key to building diverse high functioning teams. But it's a topic that also has some very bad
April 04, 2019
If you're not familiar with my course, it focuses on learning Amazon Web Services by actually using it. We focus on the problem of hosting, securing, and delivering static websites. There are a million ways to solve that problem. Some that don't even involve AWS. But it's actually a fantastic proble
March 18, 2019
There seems to be a growing misrepresentation about DevOps. Sometimes it's represented as another team in the engineering structure. Other times it's a single individual inside of an existing team (i.e. DevOps Engineer). But these perspectives are wrong and missing the point of DevOps in my opinion.
March 07, 2019
For those that are new to the world of development as a career, there is something you should be aware of. Burnout. For me, it snuck up on me very quick. My story of burnout Before my burnout, I was thriving in my career. Learning every possible thing, contributing anywhere I could, and filling i
February 28, 2019
There is a growing audience surrounding serverless and many are keen to take advantage of the benefits it provides. There are a lot of different resources out there surrounding serverless, but they tend to focus on how you get started. They tend to focus on how you can build something brand new usin
January 29, 2019
Admittedly, the term "Strangler Pattern" doesn't sound all that great. But it is actually a pattern that can prove to be very useful for a wide variety of use cases. Breaking down a monolithic application into newer microservices. Migrating existing infrastructure from one platform to another. Mi
January 21, 2019
I have now created four different side projects that are public and accessible to the world. Each of them trying to solve a different problem or engage a different audience. Today I want to focus on the first side project I ever created. It's a project I created 4 years ago, but it's only now becom
December 31, 2018
In a few days, 2018 will come to a close and we will roll into another year. Therefore, I thought it would be a good chance to join a few other posts I have seen that are reflecting on the past year and planning for what is ahead. This year has been one to remember both personally and professionall
December 21, 2018
I have been a huge fan of Terraform for a lot of my recent work. There is something about the modularity it brings to infrastructure as code that I really like. If you haven't checked out my earlier posts around Terraform give them a read. How To Run Browser Tests via Cypress in Your CI/CD Pipeline
November 29, 2018
Update 5/15/2020 This blog post is a great starting off point for customizing the authentication UI that AWS Amplify provides. However, I recently published a new post Customizing the AWS Amplify Authentication UI with Your Own React Components that focuses on customizing the authentication UI via
November 20, 2018
General best practices say that we should isolate our development environments from our production environments. In terms of Amazon Web Services, this often means that we configure entirely separate accounts for each environment. Essentially, environments are segregated at an account level. If we n
November 13, 2018
My latest project parler.io has been built from the ground up using serverless microservices. Now that it is up and running it seems worthwhile to document the current architecture, advantages I have gained, and also highlight some of the pain points I have encountered. First, a little bit of conte
October 22, 2018
Everyone is always excited to work on a brand new project. A greenfield project allows developers to start from scratch, apply the lessons they learned from the past, and try to create a codebase that reflects high quality/low tech debt code. But, frankly, every codebase, no matter the developer is
October 15, 2018
When it comes to programming patterns, the command pattern is one that can take a bit to wrap your head around. But once you understand the components at play and the simplicity in which they can be implemented, it can be a real game changer to your coding. To summarize, the command pattern is a pr
October 08, 2018
Tracking AWS cost continues to be a very popular topic in the world of the cloud. The reasoning is often because folks are getting surprised by their bills at the end of the month. Or perhaps they thought a service was going to cost X, but at the end of the month it ended up costing 2X. This isn't
October 02, 2018
One day I was sitting in an office with one of my mentors talking about what I want to aspire to become in the future. I talked with her about how someday I wanted to start a company, build my own products, and have an impact on the world. In that conversation, my mentor gave me a piece of advice t
September 28, 2018
The reality of software development is that things break all the time. No matter the industry or application, it is inevitable that it will break at some point in time. Everything fails, all the time. - Werner Vogels (CTO @ Amazon) This failure could because the logic in the code is wrong. It coul
September 16, 2018
I have written a lot about the use case of static websites and leveraging AWS to host, secure, and deliver them. It is after all the context within my Learn AWS By Using It course that we use in order to accelerate our learning of Amazon Web Services. In addition to my course, I have also put toget
September 10, 2018
I've recently been working on a new project to automatically convert blog posts to audio that has a couple different serverless microservices. Each microservice is initialized using the Serverless Framework and typically consists of one or more Lambda functions and either an SNS topic, SQS queue, D
September 03, 2018
Since some of us are lucky to enough to skip work today due to Labor Day I figured it was a great time to announce two new bonus chapters for my Learn AWS By Using It course. I am very excited about this bonus content because it was sourced by those here on dev.to, my mailing list, and folks that r
August 30, 2018
Carrying on my latest theme of implementing as much automation as possible in AWS. Today I am going to share how we can build Docker images in our CI/CD pipeline within AWS. Specifically, we are going to explore: Extending our Terraform template that provisions our CI/CD pipeline to provision an AW
August 21, 2018
If you are beginning your journey in learning a cloud provider like Amazon Web Services or Google Cloud Platform you have likely come across the term Infrastructure As Code (IaC). It is a swiss army knife for both developers and system administrators. In this post, we are going to dive into what IaC
August 14, 2018
Recently I launched my own blog. During that process, I got interested in how I can automate testing the quality of my new blog. I didn't want a heavy duty framework. I didn't want deep tests because the functionality on my blog isn't very verbose. A basic thing I wanted to test was the mobile view
August 07, 2018
Let's dive into how I stood up my own static website blog, blog.kylegalbraith.com, by using GatsbyJS, TailwindCSS, and of course my go-to for all things website hosting related, Amazon Web Services. In this post I will cover the following topics: Getting started with Gatsby + TailwindCSS for a stat
July 16, 2018
I am constantly building and launching new projects. One of the many things I evaluate when starting a new project is how I am going to maintain it so that it doesn't become stale and continues to provide value. For folks to get value out of my project they must be engaged in what I am building. Thu
July 07, 2018
As someone who has obtained both the AWS Solutions Architect and DevOps Professional certifications the question I am asked the most is, how did I study for them. This is a harder question to answer than you might think. However, today I will share my approach to how I studied for both exams and pro
June 29, 2018
The adapter pattern is classified as a structural pattern that allows a piece of code talk to another piece of code that it is not directly compatible with. First, for the sake of the next few minutes let's frame our context within the bounds of a web application we are responsible for. The applica
June 28, 2018
Learning Amazon Web Services can be very tricky nowadays with over 100+ services that can satisfy thousands if not hundreds of thousands of use cases. Some use cases could even be solved with more than one service! This vast sea of information can make it challenging for hungry and passionate develo
June 14, 2018
Recently I wrote a playful article on how a developer would convince an IT manager to start using Amazon Web Services. This was quickly met with a lot of disdain across the internet because of the characters involved. The message I was trying to convey in the post was clearly not getting through. S
May 27, 2018
I must admit that I have been a long time Bootstrap user when it comes to CSS frameworks. This is largely because it was the first one I used and I never branched out. Also, admittedly, I don't spend a lot of my time doing CSS work. But as I have been ramping up to a new challenge, launching 4 diff
May 14, 2018
Terraform is a powerful tool for provisioning and managing cloud infrastructure. I recently wrote a blog post that provisions a CI/CD pipeline integrated with GitHub repositories to continuously deploy static websites. After going through the exercise of creating that template and blog post I realiz
May 01, 2018
You may have heard of the #100DaysOfCode challenge created by Alexander Kallaway. It is a public commitment to code at least an hour for 100 days and Tweet your progress every day. It has spurred every level of developer to give their craft a special level of commitment. Some have used it to focus
April 08, 2018
Test-driven development (TDD) is the act of writing tests before writing any code. Also known as red/green testing because you write the test, it fails, and then you write the code that makes it pass. This process has a lot of different benefits such as simpler designs, more test coverage, and impr
March 06, 2018
The repository pattern is another abstraction, like most things in Computer Science. It is a pattern that is applicable in many different languages. In fact a lot of developers use the repository pattern and don't even realize it. In this post I am going to transform a piece of code. We start with
March 02, 2018
It has never been easier than it is today to configure HTTPS access for our websites. What once use to be a painful task is now done in a few clicks of a button and often free. In this article I will explain how we can configure static websites living in AWS to leverage 100% free SSL. Prerequisite
January 29, 2018
I have recently been revisiting various coding patterns while learning new languages. One pattern that is a personal favorite of mine is the strategy pattern. The premise of the strategy pattern is to encapsulate a family of behaviors. When encapsulated we can then select which behavior to use at ru
December 31, 2017
It has never been easier for developers to configure websites for access over HTTPS. Services like AWS Certificate Manager and Let's Encrypt are making it cheap and easy. Of course there has never been an excuse for taking user information over HTTP. Configuring SSL for your website was once somewh
December 08, 2017
I will be the first to admit I don't have all the answers. I will also say that I speak as a white male programmer in a position of power. There is no one person to blame or entity that has failed. But as a member of this community I have a responsibility to report what I observed. The technology c
November 26, 2017
Amazon Web Services continues to gain more and more momentum with each passing day. Lots of companies are looking to move to AWS and they are looking for seasoned developers to help them do so. It isn't surprising that AWS certifications have become very popular. There are different certifications
November 13, 2017
It was a Friday night here in Portland, Oregon. Dinner in PDX with no reservation can be an adventure. Thankfully for me and my wife there are dozens of restaurants that leave room for walk ups. We made our way over to Southeast Portland to check out the Country Cat. The hipster hostess offered us
November 07, 2017
It's Saturday morning and I am scrolling through my various feeds when I see this article from Venture Beat, "The end of the cloud is coming". Now baited, I take a sip of my coffee and click through. Disclaimer: If you do believe the end of the cloud is coming, move along because you're not going t
October 18, 2017
"If you knew then what you know now you would do things (better, different, etc)." Learning Amazon Web Services is fun. It is exciting to start learning new services and apply them to the solutions you are building. You can learn fast if you are focusing on the problem you are trying to solve. Thi
October 11, 2017
The pull request is critical to development teams. They provide a mechanism to check in about a piece of code and where it fits within the greater context. They are crucial checkpoints to provide feedback. Whether you are planning to contribute to an Open Source project. Entering the development wo
September 23, 2017
I was participating in a Twitter chat the other night. The discussion was all about mentors, how to approach them, what to ask them, and the value in having great ones. This got me thinking about how important mentors have been for me. The role they have played in molding my professional development
September 03, 2017
Back when I first started learning AWS there was a handful of different services. Today, there is over 100 services and it continues to grow every year. There is loads of resources for each service. Each service has documentation, walk through videos, and enough GitHub sample code to make your head