Skip to main content

Posts

Showing posts from October, 2018

Building an instance with CloudFormation

Welcome back and thank you for taking the time to read my blog. After the last few blog posts being about Docker, Kubernetes, and micro-apps, I wanted to switch gears and jump into some cloud based architecture. One of the blessings in disguise/new hotness is IaS (Infrastructure-As-Code). Essentially what IaS allows you to do is something similar to an AMI/OVA/template. However, there is one huge difference. when you create an AMI or a template, that's it. You have your golden image with all of your applications and configurations. What if you want to change things up? You have to recreate an entire golden image, build on it, capture it, etc. Time can add up if you do it often. That's where Infrastructure-As-Code comes into play.

Infrastructure-As-Code allows you to edit your template/AMI/OVA at ANY given time, whether it be a new application, a new file, a new instance size, etc. For our demo, we will be using CloudFormation. This is AWS's IaS solution. Azure has one call…

Docker & Kubernetes Part 3

Ladies and gentlemen, we are now at part 3, which is the last part of the Docker & Kubernetes series. Now that we know what Docker/Kubernetes is, what containers are, and we have minikube installed, let's move on to deployments and pods.

First and foremost, what are deployments and pods?

Deployments are a way to bring up your environment from your Docker images. They allow you to have your golden environment, with as many pods as you want, with the ability to update those pods on the fly and give you self-healing.

Pods Pods are a collection of containers. You can have multiple pods, with multiple containers inside of those pods. It also allows you to manage storage resources, unique network IPs, and options that show how a container should run.

Let's ensure that our minikube node is up and operational. Run the following and you should see the output below:



Now, let's create a Kubernetes manifest which will be stored locally (in production, you always want to store these …

Docker & Kubernetes Part 2 with Minikube

Greetings earthlings! And non-earthlings. Last time we spoke about Docker and Kubernetes was very brief. Today we're going to dive into running Kubernetes as your orchestration tool. Speaking of orchestration, what is this? Let's dig into why you need both Docker and K8 (short for Kubernetes). Docker, like LXC, is the container engine. This engine allows you to create your images that you will run as containers. These images consist of whatever you want, from a MySQL image to a Redis image to a Nginx image. Think of this as your "golden image" or your "template". This "golden image" or "template" allows you to spin up your environment however you'd like. Now, for the K8 part. What does K8 do? It gives you the orchestration. It allows you to spin up your environment, as customized as you want, and with however many of those environments you want. For example, let's say you're running an application for your organization. This ap…

Docker & Kubernetes Part 1

Containerization is taking over the world, and we owe it all to LXC... oops, I mean Docker (heh heh heh). Anyways, moving on. With the Docker Engine comes the ability to create containers. Containers are processes (not VM’s) running to spin up your application in a bite-sized environment (still not a VM). With containers, they allow you to use a host(s) to spin up and manage multiple applications (have I mentioned they are not VM’s?). As you have may heard, Docker/containerization is not a virtualization platform. Containers are more processes/images then they are actual hosts. Docker is the engine and what allows you to spin up your environment. Containers are thee environment. Now, this is all fine and dand, but how about if you want multiple environments? 10 of your application running? Or 50? That’s where K8 (Kubernetes) comes in. Today, we will be installing both for Mac.  The first thing you want to do is visit the Docker Community site. There are two forms of Docker. Community …