RSSAmplifier

Blog

Ned In The Cloud

Recent content from Blog on Ned In The Cloud

nedinthecloud.comRSS feed ↗223 posts

Latest posts

Trail Running Stuff

This post has basically nothing to do with technology. If you’re looking for that stuff, check out the rest of (looks around) this whole site. I thought of this post while out trail running this weekend, and I didn’t have anywhere else to put it. I’m not going to start a totally separate website to post one page of stuff. Who knows? If this becomes a more regular thing, maybe I…

Developers Are People: The Psychology of Software Teams

There is a stubborn myth in tech that good software work is mostly about tools, velocity, and individual brilliance. If the metrics look good and features ship on time, everything else is secondary. People will adapt. Teams will sort themselves out. Culture is nice to have, but the real work is the code. I don’t think that story has ever been true. In an upcoming episode of Day Two DevOps,…

Jet Plane Blues

Neditor’s note: When I wrote this a few months ago, I really wasn’t sure I was going to publish it. It felt too raw, too personal, and too self-pitying. I shared it with a friend, who gave me constructive feedback that boiled down to: Tech ate your life a bit. Time for a break, and to go touch some grass for a while! She was 100% right, and that’s what I did.

How to Set Up an Exchange Online Mailbox for OpenClaw

I wanted to give OpenClaw its own mailbox in Microsoft 365 so it could read mail, send messages, and generally act like a useful automation agent without piggybacking on my personal account. The trick was doing it in a way that was secure, auditable, and constrained. After working through the options, I landed on a model that I think is the right fit for this kind of use case: Use a shared mailbox…

Actually Implementing AI

There is no shortage of AI content right now. Unfortunately, a lot of it lives somewhere between breathless hype and thinly disguised marketing copy. Every vendor claims AI will transform software delivery, replace half your team, and solve all your operational problems if you just buy the platform and turn the crank. That is not how real implementation works. In this episode of Day Two DevOps,…

Commvault Cloud Expands to Google Cloud: Protecting BigQuery and Beyond

Your workloads are probably spread across multiple clouds. That’s nothing new, but what I hadn’t heard before is that 84% of organizations are using two or more cloud providers for critical services. That’s not shocking, but I also didn’t realize the number was that high. Now you know me, I come from a cloud and infrastructure background. One of the things I quickly…

Open Source Malware, NPM, and the Risk of Helpful AI

I don’t think most practitioners spend a lot of time worrying about malware hidden inside an open source package. We worry about vulnerable code, sure. We worry about breaking changes, unplanned upgrades, and the occasional dependency rabbit hole. But malware? That still feels like something that happens to someone else, somewhere else, through an obviously sketchy email attachment.…

The State of Platform Engineering and DevEx

Platform engineering can be a slippery term because it means different things depending on where you sit. For some teams it means golden paths, paved roads, and internal platforms. For others it means the group that owns all the infrastructure glue no one else wants to think about. And somewhere in the middle is developer experience, which may or may not be a separate function depending on the…

Passing the AI-900 Exam

As I mentioned in my planning for 2026 post, I wanted to get the AI-900 and AI-102 certifications from Microsoft as part of a larger goal of learning more about AI Engineering and being able to deliver Microsoft Training in that area. Good news! Last week I sat the exam for the Azure AI Fundamentals (AI-900) certification and passed. I thought I would share my experience and what I did to prepare.

Beginning AI Engineering

Recently I’ve become interested in AI Engineering as a discipline. As an infrastructure guy, data science and analysis has always fascinated me, but I felt woefully unprepared to work with it. When I was in college, I took a course on relational databases and it left my head spinning. Building out a relational table design, worrying about normal forms, and writing SQL queries was not my…

Planning for 2026

Plans. What are these silly things we make? Each year I write a planning post for the coming 12 months for the sole purpose of having something to laugh at when the annum ends. As this has become a tradition, I see no reason to stop with 2026. What bold and completely wrong plans shall I make for the coming year? Stay tuned and find out. Things to Accomplish Doing things has never been a problem…

2025 Year in Review

Welcome to the annual review for Ned in the Cloud! Believe it or not, this is the eighth installment of the “Year in Review” series. Frankly, I’m impressed with myself for having kept this up for almost a decade. Going back to that first post, my goals for 2018 are hauntingly familiar: Build a successful cloud practice Learn to program in Go or Python (or both!) Keep creating new…

Vault Provider and Ephemeral Values

In my last post about ephemeral values and write-only arguments, I showed how you could use the updated AzureRM provider to leverage the new azurerm_key_vault_secret ephemeral resource with write-only arguments that have been added to other resources. But the AzureRM provider is not the only provider to introduce ephemeral resources and write-only arguments! Version 5 of the Vault provider also…

Write-only Arguments in Terraform

Ephemeral Values and Write Only Arguments Ephemeral resources were introduced in Terraform 1.10, but they were missing a key component. Write-only arguments are a new feature in Terraform 1.11, and they help to complete the goals of ephemeral resources. Ephemeral Values I’ve already written a whole post about ephemeral values, but allow me to summarize it here as well. Ephemeral values were…

Ephemeral Values in Terraform

Terraform 1.10 has introduced the concept of ephemeral values for outputs and input variables, and as a new object type. Before I dig into the details of how they work, first I think it’s important to understand the problem ephemeral values are trying to solve. We all know that Terraform state can contain sensitive information. After all, it contains all the attributes of each resource and…

On HashiCorp, IBM, and Acceptance

I originally started writing this post as a detailed history of my relationship with HashiCorp, how it grew as a company, and its IPO in December 2021- which happened at the exact wrong time. After laying down about 750 words, I deleted the whole thing. Why? Because that’s not the post I wanted to write. This one is. A Year Of Acceptance For me, 2024 was a year of acceptance. I had to accept…

The Science and Magic of Network Mapping and Measurement

Exploring Internet Equity and Network Magic with Dr. Nick Feamster In the latest episode of Day Two DevOps we covered some seriously cool stuff about networking, data science, and internet equity with Dr. Nick Feamster. Nick is a computer science professor at the University of Chicago, director of their Internet Equity Initiative, and someone who’s been knee-deep in network measurements and…

Planning for 2025

You know it’s funny. For 2024, I theoretically started with a plan. But that plan was in the form of a YouTube video instead of an actual blog post. The problem with creating a video instead of a post is that it’s hard to scan through it and check on how I did. It’s also hard to copy and paste the format for the next year’s blog post. So this year I’m doing my future…

2024 Year in Review

The overall theme of 2024 was acceptance. If you go through my 2023 year in review, I was generally pretty negative about the year. Not to say that nothing good happened in 2023, but it was a major down year in terms of revenue and I failed at a number of things. That’s okay though! One of my central pillars is to embrace failure, and I did that. Even though 2024 saw another dip in the Ned…

Resourcely Guardrails and Blueprints

I’ve spent the last eight years working with Terraform on an almost constant basis. Sometimes I think in HCL, and dream of waves of resource creation messages flying past my eyes. But for most people, that is not the case. While I’ve cultivated an expertise in Terraform, I cannot expect others to have done the same. That includes Ops folks, but also developers, networking teams, SREs,…

Deploying Azure Landing Zones with Terraform

A couple years ago I discovered the Azure Landing Zone module on the Terraform registry, and I was aghast. What was this nightmare tangle of nested modules with hundreds of resources? What was its purpose? What is an Azure Landing Zone anyway? Finally, I have answers for all these questions and more thanks to Kevin Evans over at Code to Cloud. Azure Landing Zones It’s really easy to create…

HashiConf 2024 Wrap-Up

As I write this, I’m on my way home from HashiConf 2024, hosted in the great city of Boston. This year’s HashiConf was the 10th of its kind and the first to be hosted on the East Coast- also know as the best coast or beast coast. I thought I would take a moment to collect my thoughts on the event as a whole, the announcements made during the keynote, and particularly awesome sessions I…

What's New in the AzureRM Provider Version 4?

Major version 4.x of the AzureRM provider was just released! What’s new, what’s different, and what do you need to know? That’s what I’m going to cover in this post. Introduction The AzureRM provider has been on major version 3 for two and a half years! Since that release, a ton of new resources and data sources have been added to the provider and they’ve kept up the…

Debugging the AzureRM Provider with VSCode

Recently I’ve been learning Go and applying it to technologies that I work on everyday, like Terraform. For instance, check out my Terrahash CLI tool for validating modules. It’s neat! I’ve also taken an interest in dipping my toe into the world of Terraform providers, and what better provider to start with than the azurerm provider I use for sooooooo many demos? Of course,…

State Encryption with OpenTofu

Wondering how to encrypt your state data using OpenTofu? Then this is the post for you! If you’d prefer your information in video format, check out the Terraform Tuesday video instead. Introduction For this post, we are going to return once again to OpenTofu. If you’re not familiar with OpenTofu and how it differs from Terraform, then you may want to check out the blog post I’ve…

Migrating to OpenTofu

Are you thinking about migrating from Terraform to OpenTofu? What are the possible benefits? What are the drawbacks? And can you migrate back? I’ll try to answer those questions in this blog post. If you’d prefer your information in video format, check out the Terraform Tuesday video instead. Why OpenTofu? In August of 2023, HashiCorp decided to change the licensing for their core…

Using Provider Defined Functions in Terraform

Have you ever wished there were custom functions in Terraform? Well now there are! Sort of. Let me explain. If you’d prefer your information in video format, check out the Terraform Tuesday video instead. Introduction Whenever I am delivering a course on Terraform and we get to functions, someone inevitably asks if they can write their own custom functions. And that makes perfect sense. In a…

Variable Validation Improvements in Terraform 1.9

The release of Terraform 1.9 brings with it a welcome improvement regarding input variable validation. In this post I’ll review the change in functionality and provide a few examples for reference. If you’d prefer your information in video format, check out the Terraform Tuesday video instead. Variable Validation A core tenet of programming is to sanitize your inputs, and a big portion…

Pluralsight Problems

I came across this Yahoo! Finance article via a LinkedIn post from Don Jones, and much like him I had a visceral reaction while reading it. The pit of my stomach dropped, my muscles tensed, and I felt vaguely nauseous. The tl;dr? Pluralsight was saddled with unsustainable debt when they were acquired by Vista Equity Partners and now the piper has come a calling. All usual, private equity firms…

Using Azure Container Instances for an Azure DevOps Self-hosted Agent

When you create a new organization in Azure DevOps, you’ll quickly discover you’re not able to run any pipeline jobs using Microsoft-hosted agents. In fact, if you kick off a pipeline, you’ll get the error: No hosted parallelism has been purchased of granted. This post will detail how you can host your own pipeline agents for almost free using Azure Container Instances.…

Creating Your First Terraform Repository

Terraform is an infrastructure as code tool. The key term here being code. And where do you store your code? In a version control system like GitHub! I recently published a video with the awesome April Edwards on creating your first Terraform repository. This blog post is a companion to that video. Let’s dive in! Why Use Version Control? If you’re seasoned developer using version…

Comparing OpenTofu and Terraform

[Last updated 2025-03-03 for Terraform 1.11] Terraform and OpenTofu are both IaC tools that share a common ancestry. OpenTofu was created when HashiCorp shifted the licensing of Terraform from Mozilla Public License 2.0 to Business Source License 1.1 aka BSL or BUSL. OpenTofu is a fork on Terraform before the BUSL licensing change, so anything that has been added in Terraform 1.6 or newer will not…

2023 Year in Review

If I’m being honest, 2023 was a mixed bag. There were several factors that lead to a serious drop in revenue (-30%!) for Ned in the Cloud versus 2022. However, I connected with several new vendors and further established my YouTube channel. In this post I would like to look back at 2023 and see what went well, how I did against my goals, and where I fell short. High-Level Review If I could…

Terraform Taint Is Bad, And Here's Why

The terraform taint command marks an existing resource in state data for replacement. On it’s surface, this seems like a useful feature. However, it’s actually a ticking time bomb that can sabotage your environment. In this post, we’ll explore why taint is bad, and what you should do instead. If you prefer a video version of this post, click here. What Taint Does Sometimes you…

New Site, Who Dis?

If you’re reading this, then I must have done something correct. That’s right dear reader, I’ve migrated my website off of Wordpress and onto Netlify using Hugo. I’m not going to lie, this process took longer than I expected. I hired two different people off of Fiverr to perform the migration for me. The first one was a bust, but the second one was able to get things 99% of…

HashiCorp Cloud Engineer: Terraform Associate Exam Update for Version 003

Are you preparing for the Terraform Certified Associate exam? Did you know there’s a new version? That’s what we’re going to cover in this post. Terraform Certified Associate Exam Summary Let’s start with the basics, if you’re not familiar with the Terraform Certified Associate exam, I covered it in some detail in a couple YouTube videos. The tl;dw is that the exam…

Kubernetes Monitoring Tutorial – Prometheus, Grafana, and Robusta

Are you working in the Kubernetes space and looking for a way to tie together your monitoring tools like Prometheus and Grafana? I took Robusta for a spin and here’s what I discovered. Background I’ve been working on some kind of technology for over 20 years now (don’t ask how long), and one of the things that has always been a challenge is monitoring of resources. While the…

Terraform Cloud - Managing Your Workspaces with Projects

Guess what?! That thing I’ve been complaining about for the last 2 years is finally here! Terraform Cloud Projects! Before we get into exactly what they are, here’s a little background for those who might not be familiar with my previous rants. Background Terraform Cloud separates things into Organizations and Workspaces inside organizations, and that is where the hierarchy ends. As…

Planning for 2023

For 2022, I didn’t go into the new year with a solid plan for what I wanted to accomplish, and more importantly what I wasn’t going to do. As a result, I ended up accepting projects that I did not have the bandwidth for and ultimately wasn’t excited to do. In 2023, I’d like to have a solid list of things that I want to do and stick to that list unless there is some…

2022 Year in Review

As 2022 winds to a close, it’s time to reflect back on the year. There were some triumphs, some failures, and a fair bit of frustration as I continue to try and figure out what Ned in the Cloud LLC should focus on and what I should avoid. If there’s one thing to take away from 2022, it’s that in 2023 I should endeavor to do less. This is not exactly a new problem for me and I…

AWS re:Invent 2022 - is AWS OK?

As I mentioned in this episode of Chaos Lever, re:Invent 2022 happened. And it was fine? Fine, yes. This is the 11th re:Invent and while it’s not the largest ever, attendance has certainly recovered from the pandemic. Depending on who you ask there was somewhere between 60k and an infinite number of people at the conference. The high end estimate came from an AI trained in crypto finance, so I…

Supercloud is neither super nor a cloud, discuss.

Supercloud - It’s a thing now, so I guess we have to address it. Crap. I mean yay? In the not too long ago, Chris and I discussed the Supercloud briefly on Chaos Lever as part of a larger discussion of hybrid, on-premises, and other things. My original take was, this is a stupid term someone invented so they could own and promote it. The term adds nothing substantive to the discussion on the…

My HashiConf Global 2022 Experience

This post was sponsored by HashiCorp, see the bottom for more details Before we get into the announcements and the event, I want to pause for a moment and just acknowledge how amazing everyone was at the conference. Before the keynote each day, the HashiCorp MCs explained the code of conduct for the event, ending with above all be kind. Without exception, the people I met at the conference were…

Using Optional Arguments in Terraform Input Variables

Well hot damn! Terraform 1.3 has introduced an incredibly popular feature for the Terraform community: optional arguments. This is a feature that has been requested for a long time, and it’s finally here. Let’s take a look at how it works. Type Constraints Before we dig into optional arguments, it’s probably important to address type constraints, you know the place where you…

What I'm Excited About At HashiConf Global 2022

This post was sponsored by HashiCorp, see the bottom for more details As I prepare for HashiConf Global in a couple weeks, I thought I would share the things that I am most excited about. That includes the sessions, the hallway track, and the other hallway track. What do I mean by that? Read ahead to find out. The Sessions Looking over the session catalog, there are a few talks that immediately…

Nonsensitive function fails in Terraform

When I was trying to work with a module in Terraform, I came across an interesting issue. The module in question created an Azure AD service principal and optionally a secret for the service principal. I wanted to print the service principal application id and secret to the screen so I could use it for testing. Naturally, the output for the service principal secret (client_secret) had been marked…

Using OIDC Authentication with the AzureRM Backend

Microsoft recently announced the general availability of OIDC authentication for GitHub Actions using Azure AD. Naturally, I immediately thought of how I could use this to remove static credentials from my GitHub Actions workflows that deploy Terraform configurations. I could use a service principal and OIDC for deployment of the Terraform configuration as well as the storage of state data in an…

Diversity Starts with Me

A couple weeks ago I received a notification from Onalytica that I would be included in their latest Who’s Who in Cloud? report for 2022 under the category of Content Creators. I’ve been aware of Onalytica for a while now, but haven’t paid them much mind. In fact, I wasn’t entirely sure of what they do, but I knew they had put me on some list in 2020 as a cloud influencer.

Migrating State Data Off Terraform Cloud

Terraform Cloud (TFC) is a pretty cool service with a bunch of excellent features. But what if you decide it’s just not working out? Sorry TFC. It’s not you. It’s me. How do you migrate off of Terraform Cloud and onto another platform? In particular, how do you migrate your state data off TFC to another backend? That is what I’ll address in this post. State Data Storage I…

Validating IaC with Terraform and GitHub Actions

This post is an accompaniment to my second appearance on the Azure DevOps Labs YouTube channel. My presentation focused on validating your Terraform code as part of a GitOps workflow. During the demonstration I ran into an unexpected policy violation from Checkov. I thought I would review what I presented in the demo, and the resolution of my policy violation. It was not what I expected! Why…