Is GitLab really so easy to use? is gaining a reputation for being a simple, streamlined version of not only its Git version control competitor GitHub, but also many other CI/CD tools including Jenkins and Docker.

Let’s try to build and deploy a static website on All you should need is a GitLab account and a credit card for validation when prompted.

Let’s see how easy it really is!

Step 1: Login and Click “New Project”

First, log into your GitLab account and go to your Projects page. Click the “New project” button on the right end of the page:

Use repeatable Terraform modules to provision an EKS cluster with scalable, highly available, and fault-tolerant supporting architecture.

Sourced from

To paraphrase The Beatles’ tune Her Majesty: “Terraform’s a pretty nice girl, but she changes from day to day.”

With frequent changes in cloud technologies, including Terraform, a crucial factor in building modules and resources is the dependability and compatibility of the code being used. Projects can quickly go off the rails if one of your modules is dependent on a resource that is deprecated. …

Building a Terraform module that builds a bare-bones EC2 application server, qualifies for the AWS free-tier, and auto-assigns the ID of a registered AMI.

Scenario: Your team needs you to create a custom module for an EC2 instance with an Amazon Linux 2 AMI ID. Sounds like a job for … Terraform!


  1. Fork and locally clone a GitHub repository with an template as a starting point to create the EC2 module.
  2. Create a custom module for EC2 out of the resource block that you can use as repeatable infrastructure.
  3. Push the newly created module and the …

Set up a VPC, three subnets, an RDS MySQL instance, and an application load balancer.

In this article, I’ll document my first Terraform project: building a 3-tier network configuration in AWS. We will be following the general Terraform workflow: Write, Plan, Apply.

For better resource creation speed, adaptability, and portability, we will use four separate files to store variables and output commands. We will create a total of 18 AWS resources through Terraform, including “aws_vpc”, “aws_subnet”, “aws_internet_gateway”, “aws_db_instance”, and “aws_alb”.


  1. Deploy a VPC with CIDR
  2. Create 2 public subnets with CIDR and, …

Demonstrating a simple Docker setup using Nginx as a web server and storing the data in AWS S3.

Use Case: Your team needs you to deploy a custom image quickly and write a quick script in a file to accomplish a task.

We will complete four tasks:

  1. Create a custom Docker image based on Nginx
  2. Add a file that shows the date and time the container was deployed
  3. Deploy the Nginx container with port 8080 open
  4. Save the container data in an AWS S3 bucket


  1. A Docker account with Docker Desktop and CLI access
  2. A file editor of your choice (I used Atom for this project)
  3. An AWS account with AWS CLI configured

Let’s begin!

Step 1: Docker Pull, Docker Build

First, we need to…

How to create an EC2 instance with an Ubuntu 20.04 AMI, then install a Python virtual environment via the AWS CLI.

Using both the AWS CLI and the AWS console, we will run through the steps necessary to meet seven objectives:

  1. Create a user, download credentials, and set up the AWS CLI.
  2. Create an Ubuntu 20.04 Ec2 instance (t3.small).
  3. Connect and log in to the instance using your keypair.
  4. Refresh updates and upgrade all packages on the instance.
  5. Create a directory called “environment” and create a virtual python environment in that directory.
  6. Activate that virtual environment and confirm the environment is up.
  7. Create a program called, print “Hello, World!” in that file, exit vim/nano, and run the program.

Step 1: User and CLI Setup

Log in…

Scenario: In this demonstration, we will use the AWS Command Line Interface (CLI) to create a new IAM user with programmatic permissions, launch an EC2 instance, build an EC2 launch template, and build an auto scaling group (ASG) using that launch template, all with a few simple commands and values. We’ll then use the AWS Management Console (console) to verify the CLI- and ASG-generated instances are working as configured.


Download and install the Amazon Web Services Command Line Interface (CLI) for your operating system, and follow the installation instructions. …


By Amazon Web Services LLC —, Public Domain,

This guide documents the steps required in AWS to configure an auto scaling group (ASG) with a launch configuration for creating EC2 instances with an Apache web server. We will then test the implemented ASG’s ability to scale out with changes in instance state and handle increased traffic.


  • Create a Launch Configuration for launching t3.nano EC2 instances, with an Apache web server bootstrap script in the user data section.
  • Create an ASG with a minimum of 2 and a maximum of 5 instances running.
  • The ASG should include a target scaling policy to scale in and out depending on…

Set up a Bastion Host and Private Instance in EC2, using Separate Subnets within the Same Custom, Built-from-Scratch VPC

For the Level Up In Tech bootcamp, the AWS VPC Project instructions were as follows:

  • Build a Custom VPC with a CIDR of
  • Create a Public subnet with a CIDR of
  • Create a Private subnet with a CIDR of
  • Launch an EC2 t2 or t3 nano instance in the private subnet with only a private IP address
  • You will need to create a bastion host in the public subnet with a public IP address
  • You will need to…

Jay Van Blaricum

DevOps Engineer pivoting from the legal profession.

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