• Storage Account with Private Endpoint for Kubernetes

    Recently, one of my customers asked for help in setting up their Azure Kubernetes Cluster specifically with associating an Azure Fileshare. In this post, I describe the requirements, the challenges I encountered, and the completed ARM template to automate the deployment of the Storage Account Private Endpoint.

  • Lowering long term CloudTrail storage cost

    Earlier this year I noticed that my AWS storage costs had increased significantly and wanted to understand why. In this post, I’ll describe my research, what I discovered, and how I adjusted my storage configuration.

  • SSH Key Management in Azure

    Workaround for Linux VM key generation

    A couple of weeks ago, one of my customers mentioned that when they tried to create a Linux virtual machine through the Azure portal, they weren’t able to download the generated SSH private key. For those who know me personally or read the posts in this blog, you know that as soon as I read the issue, I absolutely had to get to the bottom of it.

  • Contributing to Open Source

    For those of you that have not yet peaked under the hood of this blog, it’s running Jekyll. In short, I was no longer interested in maintaining a three tier infrastructure to simply host a blog. After comparing the field of static Content Management Systems (CMS), I chose it over Hugo only because I have a bit more experience with Ruby versus Go, and based on a cursory review felt that the breath of plugins was deeper based on its maturity. With that said, customizing it had a learning curve to understand the nuances of theming and the use of plugins through RubyGems.

    A little more than a week ago, I decided that I would migrate the site to Jekyll 4. In the process, I discovered that one of the plugins was not defined to support any version above 3. This sent me down a journey of contributing back to the community, instead of forcing the version on my own instance.

  • Sending CodeBuild project status to SQS

    Defining and sending the messages

    In the first post of this series, I described my thought process (or insanity) of this entire project, and made decent progress on my list of requirements by creating the SQS queue, and ensuring least privilege using CloudFormation. The intent of the project being to receive notification(s) indicating the final status of a CodeBuild build without having to continually poll the CodeBuild API, or view the console. I decided to use SQS instead of a combination of SQS, and SNS to keep complexity of the project down, and runtime costs low (effectively negligible considering the number of builds/month). In this post, I’ll discuss how I came up with the message delivery system from within CodeBuild, and reasoning behind the message templates.