Continuous Integration and Continuous Deployments creates and environment of less bug by running test against all commits to a codebase.


The aim of this post is to set up a CI/CD pipeline with Github Actions so that every commit made to the master branch will trigger a set of actions to run against our code and deploy to Elastic Beanstalk if all actions pass. the code base will be below. First, note that the Docker-compose has been full explained in my previous post. In addition, the concepts of Elastic Beanstalk and the eb cli has been explained in previous post.

Setting up Github Actions

Github actions allow us to perform actions and commands every time a specific even fires against our codebase in a…

If there is ever a need to start up multiple containers to support an application, docker-compose will in most cases be the best tool for the job. Docker-compose allows one or more containers to be built and ran at the same time. This greatly reduces the time of changing into different directories and building the images manually. In reality, most apps require persistent data; thus, databases will at least be a second needed Docker container. In the docker ecosystem above, our application will consist of a React client, Node server, and Nginx load balancer.

It may appear to be pointless…

I would say that successfully deploying a Docker container into Elastic Beanstalk is the first step to an amazing future with Amazon Web Services. Elastic Beanstalk abstracts the details of scaling, load balancing, and capacity provisioning away from the developer so that we can focus on writing clean code. The code base for this article will be the same code base for the article series Guid to Deploying K8S on AWS. Instead of deploying multiple containers, the client image will only be deployed.

For this tutorial to run smoothly, these prerequisites are needed.

  • aws-cli installed with set up credientials
  • eb…

Welcome to part two, where the journey of deploying a kubernetes cluster onto Amazon Web Services is documented. The first part of this series focused on setting up the kubernetes network with a deployment of multiple server pods as well as an ingress nginx controller. In that post, I explained how to pull local images into K8S and some key commands that will be needed to understand concepts in this post. This post will walk through the steps of deploying client containers into an established kubernetes network.

In the same fashion of the server, to install out client containers into…

Photo by cottonbro from Pexels

Topics Covered

  • Building Docker Image for NodeJS Server
  • Starting MiniKube VM
  • Build K8S Using These Docker Images

Building Docker Image

Docker is possibly the greatest technology I will ever learn. I started getting familiar with Docker in 2018, but my knowledge exploded all through 2019. During that year, I was working as a full time software dev intern in D.C. where all development was exclusively conducted in containers.

A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.

This is exactly how Docker defines what it…

Hello all! This blog post will serve as the gateway that links my blog series where I build out a full stack NodeJS project, containerize it, place the containers into a K8S network, and deploy it on AWS. Initially, this projected started off without much though of how I will deploy it, so the process of deploying an already established application will be a focus of this series.

To follow this series, a basic understanding of Docker, Kubernetes, AWS, debugging, and Javascript is necessary. The steps and concepts highlighted in my articles will run smoothly in most cases, but there…

Photo by Pixabay from Pexels

If you are not a Docker expert, like most people, the best possible way to learn is to start up a terminal and mess around in an empty container. One example is to open up an Ubuntu image, install python, and write the iconic “Hello World” script. Doing this all within the Ubuntu image, Docker will start to make sense.

This is the fun way to learn Docker: Start from a base image and from within, install all necessary dependencies to get your program to work.


Say you have a simple Golang application that imports other Go files. As expected, we will always import Go files via the import statement with respect to our set GOPATH:

With the database package imported, we can easily import…

Photo by Shane Aldendorff from Pexels

As a person who loves to run, I quickly decided to sign up for the 2018 Richmond Marathon. Twenty six miles was daunting, but not outside of my capabilities especially with three months to train.

I started to train everyday averaging ten miles a day. Jogging on the trails paralleling the James River, my knees were hitting a lot of concrete, which lead to my knees being destroyed within a month of conditioning. My usual trails in Virginia Beach are all dirt; I exclusively run at First Landing, so my body was not use to being assaulted by pavement. As…

As a fun project and a useful tool to see the power of an API, I decided to build a Go project that overloads any API. The reason I chose to use Go instead of Java, JS, or even Python was because Goroutines are incredibly low cost and fast. With Java or Python I would have to spawn threads which are limited by the CPU, but Goroutines can be mass produced without much overhead.

Building Blocks

We need to build structs to represent all the possible objects that compose HTTP responses.


Software Dev

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store