2020

Big Things have Small Beginnings – How I Beat 2020

I’ve got well north of a decade of VMware experience and I finally took the the VCP-DCV exam. Much more importantly, this is the third cert I’ve achieved in the last month. The state of the world got me down. I decided I didn’t like that feeling, so I did something about it. I’m embracing hard learning and pushing myself to learn net new technologies while also expanding my current baseline. I’ll get the AWS Certified Solution Architect – Associate cert before October, and a couple more before the end of the year. I’m not quite ready to talk about the last two, but they are going to be significant. Most importantly, I’m feeling good!

Continue reading “Big Things have Small Beginnings – How I Beat 2020”

VMware Provisioning using Hashicorp Terraform – Part 2

In the first part of this series we went over Terraform at a very high level and discussed a basic example of using it to provision a single Windows VM or a single Linux VM. While this is a helpful baseline, it doesn’t realistically help us when defining our application structure in code. For example, if you wanted to set up a three tier application you’ll need to have three separate instances of the project we used. At that point we’re not really gaining much efficiency over deploying a template in vCenter. In this post I’ll discuss Terraform Modules, give an example of how to store your Terraform Module in GitHub, and provide a real-life example of how to deploy a three tier application using multiple source images.

Continue reading “VMware Provisioning using Hashicorp Terraform – Part 2”

Jitsi for Just in Time Conferencing using Terraform on Vultr with Route 53

With everything going on in the world with COVID-19 and the social distancing that is happening, people are looking to connect with friends, family and co-workers via Video conferencing more than ever. Recent vulnerabilities in Zoom have made people more cognizant than ever that security needs to be considered when using these platforms no matter what you are using them for.

Jitsi is an open source video conferencing platform that I’ve been hearing about a lot lately, and finally had a chance to look into. In this post I’ll explain how to use Terraform to provision a Jitsi instance when you need a conference and tear it down when you are done. We’ll be using Vultr and their Jitsi “application” and AWS Route 53 for DNS.

Continue reading “Jitsi for Just in Time Conferencing using Terraform on Vultr with Route 53”

Set Up Enpass With HTTPS Protected WebDAV and Ditch LastPass

It’s time to ditch cloud based password managers. There.. I said it. What we are doing when we use them is giving ownership and management of our trusted secrets to someone else, and hoping that they will be able to protect them from bad guys, and make sure they are available when we need them.

That’s a heck of an ask, isn’t it? I’ve been a LastPass customer for a very, very long time.. I use it to share secrets with my family, I use it on my mobile device to log into apps. It’s a safe bet to say it’s a critical piece of how I operate, and they have never once let me down. That said, if they asked for money to continue using their service, I’d have to pay. If they had a security event where secrets were compromised or if they lost my data, I’d be in very, very bad shape.

In this article, I will talk about how to set up a WebDAV share that’s protected by HTTPS using Traefik, Let’s Encrypt, and a WebDAV container on your own server, and use it to sync your secrets with devices.

Continue reading “Set Up Enpass With HTTPS Protected WebDAV and Ditch LastPass”

VMware Provisioning using Hashicorp Terraform

As a part of my effort to use Infrastructure as Code to define and automate VMware environments, I’m taking a look at Terraform for VMware provisioning. In this article, I will give a brief intro to Terraform, talk about how it can help in managing your enterprise environments, as well as how it’s different than Ansible. I’ll also provide example code and description for how to provision Windows and Linux VMs.

Continue reading “VMware Provisioning using Hashicorp Terraform”

Poor Man’s AutoDeploy Using Custom Kickstart, and Python

I recently encountered a situation where I needed to provision hundreds of ESXi hosts. The thing is, there was no vSphere Autodeploy, or HPE Synergy Image Streamer, and no ability to (long story, trust me here) spin them up. No way I’m going to manually provision all of those hosts by hand, so what’s a guy to do?!

This solution will automatically provision ESXi hosts and “get them on the network” so you can add them to vCenter just by using tools that VMware gives us, and a little bit of creativity.

While I designed this solution to work with hundreds of production ESXi hosts, there’s nothing from preventing you from using this method in smaller production environments, or even your own home lab.

Continue reading “Poor Man’s AutoDeploy Using Custom Kickstart, and Python”

VMware Template Management using Hashicorp Packer

VMware Templates: they make life amazing, don’t they? Creating a your first vSphere template is easy, but there are limitations when using them in enterprise environments. In this article, I will talk about the downsides of traditional enterprise template management, how Packer can help, and give examples (and code!) for creating Windows and Linux templates in VMware vCenter using Packer.

Table of Contents

Toggle

Traditional Enterprise Template Management

  1. Templates Across Multiple Sites – create a master template and replicate to ensure the same state exists
    1. Introduces operational complexity
    2. Extends the total amount of time it takes to patch all templates
  2. OS and Application updates need to be performed for every application on every template
    1. Repetition sucks!
    2. Introduces risk due to C2K errors
  3. Template creation ends up being a work of art.
    1. Individuals sometimes spend years fine-tuning all of the customization in a windows template.
    2. On-boarding time is significantly increased
    3. Projects delivered by third parties will take extra time to complete projects, as reverse engineering will need to occur in templates
  4. Documentation? Do you have it for your Windows and Linux Template?

Continue reading “VMware Template Management using Hashicorp Packer”

Deploy VCSA via PowerShell

I’ve been spending a lot of time lately thinking about how organizations can provide services can operationalize the principles behind Infrastructure as Code in a way that’s accessible. In my experience, if a tool isn’t easy to use, it won’t be used. This is one of the biggest barriers to organizations (and companies that provide services, like mine) benefiting from IaC. It’s my intention that this script will achieve a high level of usability and will also generate and consume reusable code for future use.

Continue reading “Deploy VCSA via PowerShell”