The purpose of this lab is to demonstrate how create a custom VPC with public subnet and an Internet gateway that will access our web server.

What is a VPC and why is it important?

Amazon Virtual Private Cloud (Amazon VPC) enables you to launch AWS resources into a virtual network that you’ve defined. This virtual network closely resembles a traditional network that you’d operate in your own data center, with the benefits of using the scalable infrastructure of AWS.

Amazon VPC enables you to build a virtual network in the AWS cloud — no VPNs, hardware, or physical data…


The process of building and deploying AWS Lambda and API Gateway using Terraform modules, and loading code repository with Git.

What is AWS Lambda?

AWS Lambda is a compute service that lets you run code without provisioning or managing servers. Lambda runs your code only when needed and scales automatically, from a few requests per day to thousands per second. You pay only for the compute time that you consume — there is no charge when your code is not running.

What is API Gateway?

An API gateway provides a single, unified API entry point across one or more internal APIs. They typically layer rate limiting and security…


The process of automating Lambda function to apply S3 bucket encryption by running Python script.

Encryption is the process that scrambles readable text so it can only be read by the person who has the secret code, or decryption key. It helps provide data security for sensitive information. Every S3 bucket should have encryption applied it, but what if you forget? In this project I will show you the process of applying encryption by triggering AWS Lambda with Python Programming.

AWS Lambda is an event-driven, serverless computing platform provided by Amazon as a part of Amazon Web Services. It is…


Automating Terraform configuration by utilizing CircleCI to deploy an S3 backed web application.

The continuous integration workflow enables development teams to automate, self-test, quickly build, clone, and deploy software. Terraform deploys infrastructure repeatably. By adding Terraform into a CircleCI workflow, you can deploy your infrastructure in the same pipeline.

Benefits of continuous integration-continuous deployment (CI-CD)

  • Smaller code changes are simpler and have fewer consequences.
  • Fault isolation is simpler and quicker.
  • Testability improves due to smaller, specific changes.


MySQL is one of the most popular database management systems (DBMSs) on the market today. As most software applications need to interact with data in some form, programming languages like Python provide tools for storing and accessing these data sources.The database is deployed in production at some of the highest trafficked sites such as Uber, Twitter, Facebook and many others major organizations.

Advantages of Database Programming with Python

  • Platform-independent
  • Faster and more efficient
  • Portable
  • Support for relational database systems
  • Easy to migrate and port database application interfaces
  • Support for SQL cursors
  • It handles open and closed connections

Requirements:

This lab is demonstrating using MacOS. …


Utilizing Kubernetes with Terraform, by scheduling and exposing a NGINX deployment on a Kubernetes cluster.

Kubernetes (K8S) is an open-source workload scheduler with focus on containerized applications. “In other words, you can cluster together groups of hosts running Linux containers, and Kubernetes helps you easily and efficiently manage those clusters.”

There are many advantages in using Terraform to provision Kubernetes Cluster:

  • Allows maintaining Kubernetes Cluster definitions in Code.
  • Modify Kubernetes Cluster configurations through variables.
  • Modularize the infrastructure in code.
  • The biggest benefit when using Terraform to maintain Kubernetes resources is integration into the Terraform plan/apply life-cycle. So you can review…


And the gems I have gained going forward.

FAIL: FIRST. ATTEMPT. AT. LEARNING.

The fear of rejection and shame is real but honestly failure is a part of the process. Failure can make us feel helpless and distort our vision. It can harden our hearts, and makes us feel resentful and bitter towards others.

We start asking ourselves questions like…

  • “See I knew I would fail.”
  • “I knew it wouldn’t workout.”
  • “Im not good enough.”
  • “I quit.”

Those kind of thoughts ensure we fail way before it even happens. You begin to take less chances which means less opportunities at success. I’ll admit I’ve been…


In this lab we’ll run through the process of creating a Kubernetes Cluster using Amazon EKS.

Amazon EKS:

Amazon Elastic Kubernetes Service (EKS) is a managed Kubernetes service that makes it easy for you to run Kubernetes on AWS and on-premises. Amazon EKS is certified Kubernetes conformant, so existing applications that run on upstream Kubernetes are compatible with Amazon EKS.

EKS runs the Kubernetes control plane across multiple AWS Availability Zones, automatically detects and replaces unhealthy control plane nodes, and provides on-demand, zero downtime upgrades and patching.

Course files can be found here: https://github.com/quiwest/Course_EKS-Basics.git


This lab will be creating a LAMP stack using Docker and solving some of the errors that will happen along the way.

What is the LAMP Stack? The widely popular LAMP stack is a set of open source software used for web application development. For a web application to work smoothly, it has to include an operating system, a web server, a database, and a programming language.

Docker-LAMP is a set of docker images along with a LAMP stack (Apache, MySQL and PHP) all in one handy package.

LAMP can help you reduce development time. Because LAMP is an open…


This lab we will create a Docker Stack then deploy it to a Docker Swarm. It will also talk about some of the troubleshooting involved during the process.

What is Docker stack deploy?

When running Docker Engine in swarm mode, you can use docker stack deploy to deploy a complete application stack to the swarm. The deploy command accepts a stack description in the form of a Compose file. The docker stack deploy command supports any Compose file of version “3.0” or above.

Docker swarm is a Clustering and orchestration tool. It is used for scheduling containers across multiple nodes…

Christopher Quiles

Junior DevOps Engineer

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