Skip to main content

Where have I been?

Hey everyone! I wanted to send a quick update as to why I haven't been posting much. I know I typically post more often but there is a reason I haven't... I got a new job! Yay :). The reason why I haven't been posting is because I've been focusing on getting up to speed with my new position, both at home (learning new technologies, practicing, etc.) and at work (learning the technology stack, how the applications work, dependencies, etc.).

So, what am I doing? As most of you know, I was a Cloud Engineer previously. Now I'm a DevOps Engineer. What has changed in my day-to-day?

First thing is CI/CD. I have been working with CI/CD much more in my new role. This has been an amazing experience and I'm glad I was able get up to speed quickly. My stack revolves around Azure DevOps which is pretty solid. You can do anything from spinning up Docker images to infrastructure to deploying your app.

Second thing is being back in Microsoft land. If you've followed me throughout my podcast and some blog post, you'll know that a big chunk of my career so far has been around Microsoft technologies. I then moved to primary Linux and AWS for a while. This was a complete 180 for me. Now I'm back in Microsoft land working heavily with Azure, PowerShell, ARM, and az cli. Microsoft has come a long way in the tooling for DevOps and Cloud Engineering from what I can see so far. It's certainly very interesting to see all of the open source love.

Third thing is, which I know I mentioned above, ARM Templates. ARM Templates are JSON configs for Infrastructure As Code and Configuration Management. It looks very similar to CloudFormation.

The fourth thing is being on a Windows machine vs Mac/Linux as I've been used to for a while. The primary tools I'd like to point out for anyone that is doing the transition is Windows Terminal, PowerShell Core, WSL, VSCode, and chocolatey. Windows Terminal is Microsoft's new terminal that allows you to have multiple tabs open and mixing those tabs with PowerShell, PowerShell Core, WSL distros, and command prompt. It makes SSH'ing much easier and has a terminal feel that all of us Linux folk are used to.

The fifth and final thing is going from 80-90% AWS to Azure. I was working with Azure previously, but my primary workloads were in AWS. I think Azure is great for a lot of things. One primary things is Resource Groups. I really love how you can bring all of your components (storage accounts, NICs, LB's, VM's, etc.) into one centralized location for management. Azure DevOps of course works very well with Azure (you can use it for other cloud platforms as well). Azure definitely has more of an enterprise feel vs the "open source development" feeling you get while in AWS. Using PowerShell and AZ CLI will certainly help for the command line folk out there.

So, what's next? As I'm working with multiple new technologies at the moment, I imagine my blogs will be more focused in those technologies. I will be keeping the focus in DevOps/Cloud Engineering as I have been.

Stay tuned and thanks for reading!


Popular posts from this blog

Run PowerShell code with Ansible on a Windows Host

Ansible is one of the Configuration Manager kings in the game. With it's easy-to-understand syntax and even easier to use modules, Ansible is certainly a go-to when you're picking what Configuration Management you want to use for your organization. Your question may be "but Ansible is typically on Linux and what happens when I'm in a Windows environment?". Luckily I'm here to tell you that Ansible will still work! I was pleasantly surprised with how easy it is to use Ansible on Windows with a little WinRM magic. Let's get started.

Pre-requisites for this post:
1) WinRM set up to connect to your Windows host from Ansible
2) Ansible set up for Windows Remote Management
3) SSH access to the Ansible host
4) Proper firewall rules to allow WinRM (port 5985) access from your Ansible host to your Windows host
5) Hosts file set up in Ansible that has your IP or hostname of your Windows Server.
6) At least one Linux host running Ansible and one Windows Server host …

Running PowerShell commands in a Dockerfile

As Docker continues to grow we are starting to see the containerization engine more and more on Windows. With the need for containers on Windows, we also need the same automation we get in Linux with Dockerfiles. Today we're going to create a Dockerfile that runs PowerShell cmdlets.
Prerequisites; 1. Docker for Windows
2. A code editor (VSCode preferred)

Let's go ahead and get our Dockerfile set up. Below is the Dockerfile I used for this post.

from MAINTAINER Michael Levan RUN powershell -Command Install-WindowsFeature -Name Web-Server RUN powershell -Command New-Item -Type File -Path C:\ -Name config
As you can see from the above, this is a tiny Dockerfile. What this will do is install the IIS Windows 

Feature and create a new file in C:\ called "config".
You should see something very similar to the below screenshot;

Next let's create a running container out of our image. First we'll need to run docker container ls to

 get o…

DevOps tooling in the Microsoft realm

When I really started to dive into automation and practicing DevOps with specific tooling, there were a few key players. At the time Microsoft was not one of them. They were just starting to embrace the open source world, including the art and practice of DevOps. Since then Microsoft has went all in and the tech giant has made some incredible tooling. Recently I switched to a Microsoft-heavy environment and I love it. I went from AWS/Python/Ansible/Jenkins to Azure/PowerShell/ARM/Azure DevOps. My first programming language was PowerShell so being back in the saddle allowed me to do a full circle between all of the different types of tooling in both worlds. Today I want to share some of that tooling with you.

The first thing I want to talk about is ARM. What is ARM? ARM is a configuration management tool that allows you to perform software-defined-infrastructure. Much like Ansible and Terraform, ARM allows you to define what you want your environment to look like at scale. With ARM, yo…