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.
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.
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…
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.
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.
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…
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.
We need to build structs to represent all the possible objects that compose HTTP responses.