<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Ned In The Cloud</title><link>https://nedinthecloud.com/blog/</link><description>Recent content from Blog on Ned In The Cloud</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Sat, 29 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://nedinthecloud.com/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Prepping my AI PC</title><link>https://nedinthecloud.com/2026/08/29/prepping-my-ai-pc/</link><image href="https://nedinthecloud.com/2026/08/29/prepping-my-ai-pc/PrepAIPC.png"/><category>tech-tutorials</category><category>AI</category><media:keywords>IntelArc, AMDRadeon, Nvidia, AI</media:keywords><pubDate>Sat, 29 Aug 2026 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2026/08/29/prepping-my-ai-pc/</guid><description>I&amp;rsquo;ve been building an AI PC for myself as part of the preparation for a series of courses on Pluralsight focusing on running Small Language Models. Local AI is an area that I&amp;rsquo;ve wanted to dig into for a while, and building a course for others is a great way to force myself to learn. It&amp;rsquo;s also a fantastic excuse to spend money on hardware - like I needed one.</description></item><item><title>Trail Running Stuff</title><link>https://nedinthecloud.com/2026/05/23/trail-running-stuff/</link><image href="https://nedinthecloud.com/2026/05/23/trail-running-stuff/TrailRunning.png"/><category>general</category><media:keywords>trailrunning, techfree</media:keywords><pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2026/05/23/trail-running-stuff/</guid><description>This post has basically nothing to do with technology. If you&amp;rsquo;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&amp;rsquo;t have anywhere else to put it. I&amp;rsquo;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 will.</description></item><item><title>Developers Are People: The Psychology of Software Teams</title><link>https://nedinthecloud.com/2026/05/11/developers-are-people-the-psychology-of-software-teams/</link><image href="https://nedinthecloud.com/2026/05/11/developers-are-people-the-psychology-of-software-teams/DayTwoDevOps-CatHicks.png"/><category>podcasts</category><category>software-development</category><category>leadership</category><category>culture</category><media:keywords>day-two-devops, psychology, software-teams, developer-experience, leadership</media:keywords><pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2026/05/11/developers-are-people-the-psychology-of-software-teams/</guid><description>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&amp;rsquo;t think that story has ever been true.
In an upcoming episode of Day Two DevOps, Kyler and I talk with Dr.</description></item><item><title>Jet Plane Blues</title><link>https://nedinthecloud.com/2026/05/04/jet-plane-blues/</link><image href="https://nedinthecloud.com/2026/05/04/jet-plane-blues/JetPlaneBlues.png"/><category>general</category><media:keywords>techburnout, AI</media:keywords><pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2026/05/04/jet-plane-blues/</guid><description>Neditor&amp;rsquo;s note: When I wrote this a few months ago, I really wasn&amp;rsquo;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&amp;rsquo;s what I did.</description></item><item><title>How to Set Up an Exchange Online Mailbox for OpenClaw</title><link>https://nedinthecloud.com/2026/05/01/how-to-set-up-an-exchange-online-mailbox-for-openclaw/</link><image href="https://nedinthecloud.com/2026/05/01/how-to-set-up-an-exchange-online-mailbox-for-openclaw/OpenClawMailbox.png"/><category>tech-tutorials</category><category>AI</category><category>microsoft-365</category><media:keywords>openclaw, exchange-online, microsoft-graph, shared-mailbox, entra-id, automation</media:keywords><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2026/05/01/how-to-set-up-an-exchange-online-mailbox-for-openclaw/</guid><description>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 instead of a licensed user mailbox Authenticate with a Microsoft Entra app registration using a certificate, not a password Scope mailbox access with Exchange RBAC for Applications Enforce outbound safety with Exchange transport rules Optionally use a mail-enabled group as a preflight recipient allowlist This post walks through that setup and the reasoning behind it.</description></item><item><title>Actually Implementing AI</title><link>https://nedinthecloud.com/2026/04/29/actually-implementing-ai/</link><image href="https://nedinthecloud.com/2026/04/29/actually-implementing-ai/DayTwoDevOps-EnricoTeotti.png"/><category>podcasts</category><category>AI</category><category>software-development</category><media:keywords>day-two-devops, AI, agentic-workflows, software-engineering, product-management, security</media:keywords><pubDate>Wed, 29 Apr 2026 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2026/04/29/actually-implementing-ai/</guid><description>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, Kyler and I spoke with Enrico Teotti, an independent consultant with deep experience in software development, product management, and practical AI adoption.</description></item><item><title>Commvault Cloud Expands to Google Cloud: Protecting BigQuery and Beyond</title><link>https://nedinthecloud.com/2026/04/25/commvault-cloud-expands-to-google-cloud-protecting-bigquery-and-beyond/</link><image href="https://nedinthecloud.com/2026/04/25/commvault-cloud-expands-to-google-cloud-protecting-bigquery-and-beyond/Commvault-GoogleCloud-Next.png"/><category>techanalysis</category><category>publiccloud</category><media:keywords>Commvault, GoogleCloudNext, GoogleCloud, CloudResilience, Sponsored</media:keywords><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2026/04/25/commvault-cloud-expands-to-google-cloud-protecting-bigquery-and-beyond/</guid><description>Your workloads are probably spread across multiple clouds. That&amp;rsquo;s nothing new, but what I hadn&amp;rsquo;t heard before is that 84% of organizations are using two or more cloud providers for critical services. That&amp;rsquo;s not shocking, but I also didn&amp;rsquo;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 realized was the importance of having a single tool that worked across all the different environments I manage.</description></item><item><title>Open Source Malware, NPM, and the Risk of Helpful AI</title><link>https://nedinthecloud.com/2026/04/14/open-source-malware-npm-and-the-risk-of-helpful-ai/</link><image href="https://nedinthecloud.com/2026/04/14/open-source-malware-npm-and-the-risk-of-helpful-ai/DayTwoDevOps-JennGile.png"/><category>podcasts</category><category>security</category><category>AI</category><media:keywords>day-two-devops, open-source, malware, npm, ai</media:keywords><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2026/04/14/open-source-malware-npm-and-the-risk-of-helpful-ai/</guid><description>I don&amp;rsquo;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.
Unfortunately, that&amp;rsquo;s not the world we live in anymore.
In an upcoming episode of Day Two DevOps, Kyler and I talk with Jenn Gile about the sharp rise in open source malware and why the problem is getting worse, not better.</description></item><item><title>The State of Platform Engineering and DevEx</title><link>https://nedinthecloud.com/2026/04/13/the-state-of-platform-engineering-and-devex/</link><image href="https://nedinthecloud.com/2026/04/13/the-state-of-platform-engineering-and-devex/DayTwoDevOps-AnnemShah.png"/><category>podcasts</category><category>platform-engineering</category><category>terraform</category><category>AI</category><media:keywords>day-two-devops, platform-engineering, devex, terraform, ai</media:keywords><pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2026/04/13/the-state-of-platform-engineering-and-devex/</guid><description>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 size and maturity of the organization.</description></item><item><title>Passing the AI-900 Exam</title><link>https://nedinthecloud.com/2026/02/04/passing-the-ai-900-exam/</link><image href="https://nedinthecloud.com/2026/02/04/passing-the-ai-900-exam/Passing-the-AI-900-Exam.png"/><category>general</category><category>AI</category><pubDate>Wed, 04 Feb 2026 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2026/02/04/passing-the-ai-900-exam/</guid><description>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.</description></item><item><title>Beginning AI Engineering</title><link>https://nedinthecloud.com/2026/01/07/beginning-ai-engineering/</link><image href="https://nedinthecloud.com/2026/01/07/beginning-ai-engineering/D2DO291-Artwork.png"/><category>podcasts</category><pubDate>Wed, 07 Jan 2026 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2026/01/07/beginning-ai-engineering/</guid><description>Recently I&amp;rsquo;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 forte.
However, I have to reckon with the fact we live in a world awash with data.</description></item><item><title>Planning for 2026</title><link>https://nedinthecloud.com/2026/01/02/planning-for-2026/</link><image href="https://nedinthecloud.com/2026/01/02/planning-for-2026/Planning-for-2026.png"/><category>general</category><pubDate>Fri, 02 Jan 2026 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2026/01/02/planning-for-2026/</guid><description>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 for me.</description></item><item><title>2025 Year in Review</title><link>https://nedinthecloud.com/2025/12/30/2025-year-in-review/</link><image href="https://nedinthecloud.com/2025/12/30/2025-year-in-review/2025-Year-in-Review.png"/><category>general</category><pubDate>Tue, 30 Dec 2025 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2025/12/30/2025-year-in-review/</guid><description>Welcome to the annual review for Ned in the Cloud! Believe it or not, this is the eighth installment of the &amp;ldquo;Year in Review&amp;rdquo; series. Frankly, I&amp;rsquo;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 Pluralsight courses Blog on a weekly basis Podcast on a weekly basis Speak at more user groups and conferences Granted, that first bullet point Build a successful cloud practice doesn&amp;rsquo;t really apply anymore.</description></item><item><title>Vault Provider and Ephemeral Values</title><link>https://nedinthecloud.com/2025/07/21/vault-provider-and-ephemeral-values/</link><image href="https://nedinthecloud.com/2025/07/21/vault-provider-and-ephemeral-values/VaultProviderEphemeral.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform, azure</media:keywords><pubDate>Mon, 21 Jul 2025 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2025/07/21/vault-provider-and-ephemeral-values/</guid><description>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 has these new capabilities, as does the Random provider. In this post I thought we could explore bother providers to see how they have implemented ephemerality.</description></item><item><title>Write-only Arguments in Terraform</title><link>https://nedinthecloud.com/2025/07/15/write-only-arguments-in-terraform/</link><image href="https://nedinthecloud.com/2025/07/15/write-only-arguments-in-terraform/WriteOnlyArguments.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform, azure</media:keywords><pubDate>Tue, 15 Jul 2025 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2025/07/15/write-only-arguments-in-terraform/</guid><description>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&amp;rsquo;ve already written a whole post about ephemeral values, but allow me to summarize it here as well. Ephemeral values were created to help address the issue of sensitive values being stored in state and plan files.</description></item><item><title>Ephemeral Values in Terraform</title><link>https://nedinthecloud.com/2025/07/01/ephemeral-values-in-terraform/</link><image href="https://nedinthecloud.com/2025/07/01/ephemeral-values-in-terraform/EphemeralValues.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform, azure</media:keywords><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2025/07/01/ephemeral-values-in-terraform/</guid><description>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&amp;rsquo;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 data source and any output values defined in the configuration.</description></item><item><title>On HashiCorp, IBM, and Acceptance</title><link>https://nedinthecloud.com/2025/03/03/on-hashicorp-ibm-and-acceptance/</link><image href="https://nedinthecloud.com/2025/03/03/on-hashicorp-ibm-and-acceptance/HashiCorpIBM.png"/><category>general</category><pubDate>Mon, 03 Mar 2025 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2025/03/03/on-hashicorp-ibm-and-acceptance/</guid><description>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&amp;rsquo;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 a lot of things I didn&amp;rsquo;t necessarily like.</description></item><item><title>The Science and Magic of Network Mapping and Measurement</title><link>https://nedinthecloud.com/2025/01/09/the-science-and-magic-of-network-mapping-and-measurement/</link><image href="https://nedinthecloud.com/2025/01/09/the-science-and-magic-of-network-mapping-and-measurement/D2DO262-artwork.png"/><category>podcasts</category><pubDate>Thu, 09 Jan 2025 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2025/01/09/the-science-and-magic-of-network-mapping-and-measurement/</guid><description>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 analysis for years. He’s fascinated by how networks work (and don’t work), and his curiosity has led to some groundbreaking projects in internet performance and accessibility.</description></item><item><title>Planning for 2025</title><link>https://nedinthecloud.com/2025/01/02/planning-for-2025/</link><image href="https://nedinthecloud.com/2025/01/02/planning-for-2025/Planning-for-2025.png"/><category>general</category><pubDate>Thu, 02 Jan 2025 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2025/01/02/planning-for-2025/</guid><description>You know it&amp;rsquo;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&amp;rsquo;s hard to scan through it and check on how I did. It&amp;rsquo;s also hard to copy and paste the format for the next year&amp;rsquo;s blog post. So this year I&amp;rsquo;m doing my future self a favor and sticking to the blog post format.</description></item><item><title>2024 Year in Review</title><link>https://nedinthecloud.com/2024/12/30/2024-year-in-review/</link><image href="https://nedinthecloud.com/2024/12/30/2024-year-in-review/2024-Year-in-Review.png"/><category>general</category><pubDate>Mon, 30 Dec 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/12/30/2024-year-in-review/</guid><description>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&amp;rsquo;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 in the Cloud revenue, I have made my peace with that and moved into the phase of acceptance and planning.</description></item><item><title>Resourcely Guardrails and Blueprints</title><link>https://nedinthecloud.com/2024/11/15/resourcely-guardrails-and-blueprints/</link><image href="https://nedinthecloud.com/2024/11/15/resourcely-guardrails-and-blueprints/res-header.png"/><category>tech-tutorials</category><media:keywords>resourcely, terraform</media:keywords><pubDate>Fri, 15 Nov 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/11/15/resourcely-guardrails-and-blueprints/</guid><description>I&amp;rsquo;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&amp;rsquo;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, and security peeps. They all have responsibilities and skills that aren&amp;rsquo;t thinking about Terraform 24/7.</description></item><item><title>Deploying Azure Landing Zones with Terraform</title><link>https://nedinthecloud.com/2024/11/12/deploying-azure-landing-zones-with-terraform/</link><image href="https://nedinthecloud.com/2024/11/12/deploying-azure-landing-zones-with-terraform/azure-landing-zones.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform, azure</media:keywords><pubDate>Tue, 12 Nov 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/11/12/deploying-azure-landing-zones-with-terraform/</guid><description>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&amp;rsquo;s really easy to create an Azure subscription with a credit card and start deploying resources willy-nilly.</description></item><item><title>HashiConf 2024 Wrap-Up</title><link>https://nedinthecloud.com/2024/10/18/hashiconf-2024-wrap-up/</link><image href="https://nedinthecloud.com/2024/10/18/hashiconf-2024-wrap-up/hashiconf-2024.png"/><category>general</category><media:keywords>hashicorp, terraform, vault, hashiconf</media:keywords><pubDate>Fri, 18 Oct 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/10/18/hashiconf-2024-wrap-up/</guid><description>As I write this, I&amp;rsquo;m on my way home from HashiConf 2024, hosted in the great city of Boston.
This year&amp;rsquo;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 attended.</description></item><item><title>What's New in the AzureRM Provider Version 4?</title><link>https://nedinthecloud.com/2024/08/27/whats-new-in-the-azurerm-provider-version-4/</link><image href="https://nedinthecloud.com/2024/08/27/whats-new-in-the-azurerm-provider-version-4/azurerm-version-4.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform, opentofu, azure</media:keywords><pubDate>Tue, 27 Aug 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/08/27/whats-new-in-the-azurerm-provider-version-4/</guid><description>Major version 4.x of the AzureRM provider was just released! What&amp;rsquo;s new, what&amp;rsquo;s different, and what do you need to know? That&amp;rsquo;s what I&amp;rsquo;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&amp;rsquo;ve kept up the pace of releasing a new minor version of the provider roughly every two weeks.</description></item><item><title>Debugging the AzureRM Provider with VSCode</title><link>https://nedinthecloud.com/2024/08/20/debugging-the-azurerm-provider-with-vscode/</link><image href="https://nedinthecloud.com/2024/08/20/debugging-the-azurerm-provider-with-vscode/debugging-azurerm-provider.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform, opentofu, azure</media:keywords><pubDate>Tue, 20 Aug 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/08/20/debugging-the-azurerm-provider-with-vscode/</guid><description>Recently I&amp;rsquo;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&amp;rsquo;s neat!
I&amp;rsquo;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, working on provider issues means debugging the provider itself and I had to learn how to set up debugging for VSCode.</description></item><item><title>State Encryption with OpenTofu</title><link>https://nedinthecloud.com/2024/08/01/state-encryption-with-opentofu/</link><image href="https://nedinthecloud.com/2024/08/01/state-encryption-with-opentofu/opentofu-state-encryption.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform, opentofu</media:keywords><pubDate>Thu, 01 Aug 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/08/01/state-encryption-with-opentofu/</guid><description>Wondering how to encrypt your state data using OpenTofu? Then this is the post for you!
If you&amp;rsquo;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&amp;rsquo;re not familiar with OpenTofu and how it differs from Terraform, then you may want to check out the blog post I&amp;rsquo;ve been maintaining that compare the differences between the two.</description></item><item><title>Migrating to OpenTofu</title><link>https://nedinthecloud.com/2024/07/24/migrating-to-opentofu/</link><image href="https://nedinthecloud.com/2024/07/24/migrating-to-opentofu/migrating-to-opentofu.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform, opentofu</media:keywords><pubDate>Wed, 24 Jul 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/07/24/migrating-to-opentofu/</guid><description>Are you thinking about migrating from Terraform to OpenTofu? What are the possible benefits? What are the drawbacks? And can you migrate back? I&amp;rsquo;ll try to answer those questions in this blog post.
If you&amp;rsquo;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 products from Mozilla Public License (MPL) 2.0 to Business Source License (BSL) 1.</description></item><item><title>Using Provider Defined Functions in Terraform</title><link>https://nedinthecloud.com/2024/07/18/using-provider-defined-functions-in-terraform/</link><image href="https://nedinthecloud.com/2024/07/18/using-provider-defined-functions-in-terraform/provider-defined-functions.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform</media:keywords><pubDate>Thu, 18 Jul 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/07/18/using-provider-defined-functions-in-terraform/</guid><description>Have you ever wished there were custom functions in Terraform? Well now there are! Sort of. Let me explain.
If you&amp;rsquo;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 general purpose programming language, you can write your own methods and functions to help with reusability and consistency.</description></item><item><title>Variable Validation Improvements in Terraform 1.9</title><link>https://nedinthecloud.com/2024/07/08/variable-validation-improvements-in-terraform-1.9/</link><image href="https://nedinthecloud.com/2024/07/08/variable-validation-improvements-in-terraform-1.9/variable-validation.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform</media:keywords><pubDate>Mon, 08 Jul 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/07/08/variable-validation-improvements-in-terraform-1.9/</guid><description>The release of Terraform 1.9 brings with it a welcome improvement regarding input variable validation. In this post I&amp;rsquo;ll review the change in functionality and provide a few examples for reference.
If you&amp;rsquo;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 of sanitization is making sure the input structure and values match what you expect.</description></item><item><title>Pluralsight Problems</title><link>https://nedinthecloud.com/2024/07/06/pluralsight-problems/</link><image href="https://nedinthecloud.com/2024/07/06/pluralsight-problems/pluralsight-problems.png"/><category>general</category><media:keywords>pluralsight</media:keywords><pubDate>Sat, 06 Jul 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/07/06/pluralsight-problems/</guid><description>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 continue to destroy everything they touch and should be heavily regulated if not made outright illegal.</description></item><item><title>Using Azure Container Instances for an Azure DevOps Self-hosted Agent</title><link>https://nedinthecloud.com/2024/04/15/using-azure-container-instances-for-an-azure-devops-self-hosted-agent/</link><image href="https://nedinthecloud.com/2024/04/15/using-azure-container-instances-for-an-azure-devops-self-hosted-agent/ado-self-hosted-agent.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform, azure</media:keywords><pubDate>Mon, 15 Apr 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/04/15/using-azure-container-instances-for-an-azure-devops-self-hosted-agent/</guid><description>When you create a new organization in Azure DevOps, you&amp;rsquo;ll quickly discover you&amp;rsquo;re not able to run any pipeline jobs using Microsoft-hosted agents. In fact, if you kick off a pipeline, you&amp;rsquo;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.
Background In 2021, the good folks over at Microsoft were fed up with people abusing the free Microsoft-hosted agents that come with an Azure DevOps organization.</description></item><item><title>Creating Your First Terraform Repository</title><link>https://nedinthecloud.com/2024/03/04/creating-your-first-terraform-repository/</link><image href="https://nedinthecloud.com/2024/03/04/creating-your-first-terraform-repository/Create-Your-First-Terraform-Repo.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform</media:keywords><pubDate>Mon, 04 Mar 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/03/04/creating-your-first-terraform-repository/</guid><description>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&amp;rsquo;s dive in!
Why Use Version Control? If you&amp;rsquo;re seasoned developer using version control, then I don&amp;rsquo;t need to convince you of its benefits.</description></item><item><title>Comparing OpenTofu and Terraform</title><link>https://nedinthecloud.com/2024/01/22/comparing-opentofu-and-terraform/</link><image href="https://nedinthecloud.com/2024/01/22/comparing-opentofu-and-terraform/opentofu-vs-terraform.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform, opentofu</media:keywords><pubDate>Mon, 22 Jan 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/01/22/comparing-opentofu-and-terraform/</guid><description>[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 be in OpenTofu, or at least the code backing any given feature will not be copied over.</description></item><item><title>2023 Year in Review</title><link>https://nedinthecloud.com/2024/01/17/2023-year-in-review/</link><image href="https://nedinthecloud.com/2024/01/17/2023-year-in-review/2023-Year-in-Review.png"/><category>general</category><pubDate>Wed, 17 Jan 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/01/17/2023-year-in-review/</guid><description>If I&amp;rsquo;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 sum 2023 up in a word, it was less.</description></item><item><title>Terraform Taint Is Bad, And Here's Why</title><link>https://nedinthecloud.com/2024/01/16/terraform-taint-is-bad-and-heres-why/</link><image href="https://nedinthecloud.com/2024/01/16/terraform-taint-is-bad-and-heres-why/TT-2024-01-09-TerraformTaint.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform</media:keywords><pubDate>Tue, 16 Jan 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/01/16/terraform-taint-is-bad-and-heres-why/</guid><description>The terraform taint command marks an existing resource in state data for replacement. On it&amp;rsquo;s surface, this seems like a useful feature. However, it&amp;rsquo;s actually a ticking time bomb that can sabotage your environment. In this post, we&amp;rsquo;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 have a resource in your Terraform configuration that just didn&amp;rsquo;t provision quite right or you need to force the replacement for reasons outside of Terraform.</description></item><item><title>New Site, Who Dis?</title><link>https://nedinthecloud.com/2024/01/03/new-site-who-dis/</link><image href="https://nedinthecloud.com/2024/01/03/new-site-who-dis/New-Website-2024.png"/><category>general</category><pubDate>Wed, 03 Jan 2024 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2024/01/03/new-site-who-dis/</guid><description>If you&amp;rsquo;re reading this, then I must have done something correct. That&amp;rsquo;s right dear reader, I&amp;rsquo;ve migrated my website off of Wordpress and onto Netlify using Hugo. I&amp;rsquo;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 the way there.</description></item><item><title>HashiCorp Cloud Engineer: Terraform Associate Exam Update for Version 003</title><link>https://nedinthecloud.com/2023/03/10/hashicorp-cloud-engineer-terraform-associate-exam-update-for-version-003/</link><image href="https://nedinthecloud.com/2023/03/10/hashicorp-cloud-engineer-terraform-associate-exam-update-for-version-003/TT-2023-03-08-TerraformAssociateUpdate.png"/><pubDate>Fri, 10 Mar 2023 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2023/03/10/hashicorp-cloud-engineer-terraform-associate-exam-update-for-version-003/</guid><description>Are you preparing for the Terraform Certified Associate exam? Did you know there&amp;rsquo;s a new version? That&amp;rsquo;s what we&amp;rsquo;re going to cover in this post.
Terraform Certified Associate Exam Summary Let&amp;rsquo;s start with the basics, if you&amp;rsquo;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 covers nine primary objectives, is intended for people who have been using Terraform in development/prod for about six months, and is a multiple choice test lasting one hour.</description></item><item><title>Kubernetes Monitoring Tutorial – Prometheus, Grafana, and Robusta</title><link>https://nedinthecloud.com/2023/03/06/kubernetes-monitoring-tutorial-prometheus-grafana-and-robusta/</link><image href="https://nedinthecloud.com/2023/03/06/kubernetes-monitoring-tutorial-prometheus-grafana-and-robusta/RobustaVideo1.png"/><category>tech-tutorials</category><media:keywords>devops, kubernetes, robusta</media:keywords><pubDate>Mon, 06 Mar 2023 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2023/03/06/kubernetes-monitoring-tutorial-prometheus-grafana-and-robusta/</guid><description>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&amp;rsquo;s what I discovered.
Background I&amp;rsquo;ve been working on some kind of technology for over 20 years now (don&amp;rsquo;t ask how long), and one of the things that has always been a challenge is monitoring of resources. While the tools have evolved from Nagios, Cacti, and even- god forbid- SCOM, the actual challenges have been roughly the same.</description></item><item><title>Terraform Cloud - Managing Your Workspaces with Projects</title><link>https://nedinthecloud.com/2023/02/09/terraform-cloud-managing-your-workspaces-with-projects/</link><image href="https://nedinthecloud.com/2023/02/09/terraform-cloud-managing-your-workspaces-with-projects/Managing-Workspaces-with-Projects.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform-cloud</media:keywords><pubDate>Thu, 09 Feb 2023 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2023/02/09/terraform-cloud-managing-your-workspaces-with-projects/</guid><description>Guess what?! That thing I&amp;rsquo;ve been complaining about for the last 2 years is finally here! Terraform Cloud Projects! Before we get into exactly what they are, here&amp;rsquo;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 someone who comes from a Microsoft background, I&amp;rsquo;m used to multiple hierarchical layers for administrative and security reasons.</description></item><item><title>Planning for 2023</title><link>https://nedinthecloud.com/2023/01/02/planning-for-2023/</link><image href="https://nedinthecloud.com/2023/01/02/planning-for-2023/Planning-for-2023.png"/><category>general</category><pubDate>Mon, 02 Jan 2023 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2023/01/02/planning-for-2023/</guid><description>For 2022, I didn&amp;rsquo;t go into the new year with a solid plan for what I wanted to accomplish, and more importantly what I wasn&amp;rsquo;t going to do. As a result, I ended up accepting projects that I did not have the bandwidth for and ultimately wasn&amp;rsquo;t excited to do. In 2023, I&amp;rsquo;d like to have a solid list of things that I want to do and stick to that list unless there is some overriding condition, which I will also try and quantify.</description></item><item><title>2022 Year in Review</title><link>https://nedinthecloud.com/2022/12/30/2022-year-in-review/</link><image href="https://nedinthecloud.com/2022/12/30/2022-year-in-review/2022-Year-in-Review.png"/><category>general</category><pubDate>Fri, 30 Dec 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/12/30/2022-year-in-review/</guid><description>As 2022 winds to a close, it&amp;rsquo;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&amp;rsquo;s one thing to take away from 2022, it&amp;rsquo;s that in 2023 I should endeavor to do less. This is not exactly a new problem for me and I think I&amp;rsquo;m handling my overall workload better now than in previous years.</description></item><item><title>AWS re:Invent 2022 - is AWS OK?</title><link>https://nedinthecloud.com/2022/12/16/aws-reinvent-2022-is-aws-ok/</link><image href="https://nedinthecloud.com/2022/12/16/aws-reinvent-2022-is-aws-ok/AWS-reInvent-2022.png"/><category>tech-analysis</category><media:keywords>aws, reinvent</media:keywords><pubDate>Fri, 16 Dec 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/12/16/aws-reinvent-2022-is-aws-ok/</guid><description>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 wouldn’t trust anything it has to say relating to reasonable numbers.</description></item><item><title>Supercloud is neither super nor a cloud, discuss.</title><link>https://nedinthecloud.com/2022/10/24/supercloud-is-neither-super-nor-a-cloud-discuss./</link><image href="https://nedinthecloud.com/2022/10/24/supercloud-is-neither-super-nor-a-cloud-discuss./Supercloud.png"/><category>tech-analysis</category><media:keywords>supercloud</media:keywords><pubDate>Mon, 24 Oct 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/10/24/supercloud-is-neither-super-nor-a-cloud-discuss./</guid><description>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 future of technology, conflates multiple terms we already lack a solid definition for, and adds a fluffy confusing buzzword to the marketing hell-scape vendors will glom onto and abuse until the term is more meaningless than it started.</description></item><item><title>My HashiConf Global 2022 Experience</title><link>https://nedinthecloud.com/2022/10/19/my-hashiconf-global-2022-experience/</link><image href="https://nedinthecloud.com/2022/10/19/my-hashiconf-global-2022-experience/My-HashiConf-Global-2022-Experience1.png"/><category>general</category><category>tech-analysis</category><media:keywords>hashiconf-global, hashicorp</media:keywords><pubDate>Wed, 19 Oct 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/10/19/my-hashiconf-global-2022-experience/</guid><description>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 overwhelmingly kind, generous with their time, and excited to engage with fellow attendees.</description></item><item><title>Using Optional Arguments in Terraform Input Variables</title><link>https://nedinthecloud.com/2022/09/26/using-optional-arguments-in-terraform-input-variables/</link><image href="https://nedinthecloud.com/2022/09/26/using-optional-arguments-in-terraform-input-variables/Using-Optional-Arguments-in-Terraform-Input-Variables.png"/><category>tech-tutorials</category><media:keywords>hashicorp-terraform-tutorial, terraform</media:keywords><pubDate>Mon, 26 Sep 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/09/26/using-optional-arguments-in-terraform-input-variables/</guid><description>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&amp;rsquo;s finally here. Let&amp;rsquo;s take a look at how it works.
Type Constraints Before we dig into optional arguments, it&amp;rsquo;s probably important to address type constraints, you know the place where you would use them. For the casual Terraform user, you probably haven&amp;rsquo;t written a lot of type constraints for input variables, so the need for optional arguments may not be immediately obvious.</description></item><item><title>What I'm Excited About At HashiConf Global 2022</title><link>https://nedinthecloud.com/2022/09/20/what-im-excited-about-at-hashiconf-global-2022/</link><image href="https://nedinthecloud.com/2022/09/20/what-im-excited-about-at-hashiconf-global-2022/What-Im-Excited-About-For-HashiConf-Global-2022.png"/><category>general</category><media:keywords>hashiconf-global, hashicorp</media:keywords><pubDate>Tue, 20 Sep 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/09/20/what-im-excited-about-at-hashiconf-global-2022/</guid><description>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 jump out at me.</description></item><item><title>Nonsensitive function fails in Terraform</title><link>https://nedinthecloud.com/2022/06/29/nonsensitive-function-fails-in-terraform/</link><image href="https://nedinthecloud.com/2022/06/29/nonsensitive-function-fails-in-terraform/Nonsensitive-function-fails-in-Terraform.png"/><category>tech-tutorials</category><media:keywords>terraform</media:keywords><pubDate>Wed, 29 Jun 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/06/29/nonsensitive-function-fails-in-terraform/</guid><description>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 as sensitive, so in order to print it to the terminal window I would need to use the nonsensitive function.</description></item><item><title>Using OIDC Authentication with the AzureRM Backend</title><link>https://nedinthecloud.com/2022/06/08/using-oidc-authentication-with-the-azurerm-backend/</link><image href="https://nedinthecloud.com/2022/06/08/using-oidc-authentication-with-the-azurerm-backend/Using-OIDC-Authentication-with-the-AzureRM-Backend.png"/><category>tech-tutorials</category><media:keywords>azure, microsoft-azure-terraform</media:keywords><pubDate>Wed, 08 Jun 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/06/08/using-oidc-authentication-with-the-azurerm-backend/</guid><description>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 Azure Storage account.
The actual process of using OIDC with Azure AD and Terraform will be the subject of an entirely different post.</description></item><item><title>Diversity Starts with Me</title><link>https://nedinthecloud.com/2022/05/01/diversity-starts-with-me/</link><image href="https://nedinthecloud.com/2022/05/01/diversity-starts-with-me/Diversity-Starts-with-Me.png"/><category>general</category><category>rant</category><media:keywords>onalytica</media:keywords><pubDate>Sun, 01 May 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/05/01/diversity-starts-with-me/</guid><description>A couple weeks ago I received a notification from Onalytica that I would be included in their latest Who&amp;rsquo;s Who in Cloud? report for 2022 under the category of Content Creators. I&amp;rsquo;ve been aware of Onalytica for a while now, but haven&amp;rsquo;t paid them much mind. In fact, I wasn&amp;rsquo;t entirely sure of what they do, but I knew they had put me on some list in 2020 as a cloud influencer.</description></item><item><title>Migrating State Data Off Terraform Cloud</title><link>https://nedinthecloud.com/2022/03/03/migrating-state-data-off-terraform-cloud/</link><image href="https://nedinthecloud.com/2022/03/03/migrating-state-data-off-terraform-cloud/Migrating-Off-TFC.png"/><category>tech-tutorials</category><media:keywords>hashicorp-terraform, terraform-cloud, terraform-tutorials</media:keywords><pubDate>Thu, 03 Mar 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/03/03/migrating-state-data-off-terraform-cloud/</guid><description>Terraform Cloud (TFC) is a pretty cool service with a bunch of excellent features. But what if you decide it&amp;rsquo;s just not working out? Sorry TFC. It&amp;rsquo;s not you. It&amp;rsquo;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&amp;rsquo;ll address in this post.
State Data Storage I want to start with a few Terraform basics, since this is going to factor heavily into how state data is managed and migrated.</description></item><item><title>Validating IaC with Terraform and GitHub Actions</title><link>https://nedinthecloud.com/2022/02/23/validating-iac-with-terraform-and-github-actions/</link><image href="https://nedinthecloud.com/2022/02/23/validating-iac-with-terraform-and-github-actions/Validating-IaC-with-Terraform-and-GitHub-Actions.png"/><category>tech-tutorials</category><media:keywords>azure-devops-labs, github-actions, hashicorp-terraform, hashicorp-terraform-tutorial</media:keywords><pubDate>Wed, 23 Feb 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/02/23/validating-iac-with-terraform-and-github-actions/</guid><description>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 Validate? One thing that host, April Edwards, brought up during my presentation that I completely failed to communicate was the why of validation.</description></item><item><title>Managing Terraform Cloud with the TFE Provider</title><link>https://nedinthecloud.com/2022/02/03/managing-terraform-cloud-with-the-tfe-provider/</link><image href="https://nedinthecloud.com/2022/02/03/managing-terraform-cloud-with-the-tfe-provider/Managing-TFC.png"/><category>tech-tutorials</category><media:keywords>hashicorp-terraform-tutorial, terraform-cloud, terraform-enterprise</media:keywords><pubDate>Thu, 03 Feb 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/02/03/managing-terraform-cloud-with-the-tfe-provider/</guid><description>While working on my newest Pluralsight course, Getting Started with Terraform Cloud, I learned a lot about how Terraform Cloud functions and the services it includes. As I was bulding out the demonstrations, I kept thinking about real world environments and how you might go about organizing and managing Terraform Cloud in an SMB or a 10k seat enterprise. That led me down a rabbit hole of using the tfe provider and Terraform Cloud to manage Terraform Cloud.</description></item><item><title>Choosing Between Count and For-Each</title><link>https://nedinthecloud.com/2022/01/27/choosing-between-count-and-for-each/</link><image href="https://nedinthecloud.com/2022/01/27/choosing-between-count-and-for-each/Count-and-For-Each.png"/><category>tech-tutorials</category><media:keywords>hashicorp-terraform, hashicorp-terraform-tutorial</media:keywords><pubDate>Thu, 27 Jan 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/01/27/choosing-between-count-and-for-each/</guid><description>Terraform has two looping mechanisms for creating multiple resources, count and for_each. The count meta-argument has been around for a long time, but for_each is a relative newcomer (introduced in version 0.12). Each meta-argument allows you to create more than one resource or module with a single configuration block.
A common question is when to use count versus for_each. I would make the argument that for_each is almost always preferred, and in this post I hope to show you why.</description></item><item><title>Replacing the template_cloudinit_config data source</title><link>https://nedinthecloud.com/2022/01/18/replacing-the-template_cloudinit_config-data-source/</link><image href="https://nedinthecloud.com/2022/01/18/replacing-the-template_cloudinit_config-data-source/Replacing-template_cloudinit_config.png"/><category>tech-tutorials</category><media:keywords>hashicorp-terraform-tutorial, terraform</media:keywords><pubDate>Tue, 18 Jan 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/01/18/replacing-the-template_cloudinit_config-data-source/</guid><description>I was working on updating some Terraform code as part of a consulting engagement and I came across an EC2 configuration that was using the template_cloudinit_config data source to create user_data to send to the instance. Since I know that the template provider has been archived by HashiCorp and the recommendation is to use the templatefile function, I endeavoured to replace the template_cloudinit_config data source with templatefile and that is where I fell down a rabbit hole of the MIME format, cloud-init picadillos, and nested templates.</description></item><item><title>Using the Terraform Cloud Configuration Block</title><link>https://nedinthecloud.com/2022/01/12/using-the-terraform-cloud-configuration-block/</link><image href="https://nedinthecloud.com/2022/01/12/using-the-terraform-cloud-configuration-block/Using-Terraform-Cloud-Blocks.png"/><category>tech-tutorials</category><media:keywords>hashicorp-terraform, hashicorp-terraform-tutorial, terraform-cloud</media:keywords><pubDate>Wed, 12 Jan 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/01/12/using-the-terraform-cloud-configuration-block/</guid><description>Terraform 1.1 brings with it some new cool Terraform Cloud management options. Cloud blocks, Tags, and Workspace commands Oh MY! But wait. What was broken about the old system? And why is this better? Let&amp;rsquo;s dig in.
Terraform Cloud Workspaces Everything in here is about the CLI workflow for a Terraform Cloud workspace. If you&amp;rsquo;re using the VCS or API workflow, you can safely ignore most of this post. The only major improvement for you is the proper evaluation of terraform.</description></item><item><title>2021 Year in Review</title><link>https://nedinthecloud.com/2022/01/03/2021-year-in-review/</link><image href="https://nedinthecloud.com/2022/01/03/2021-year-in-review/2021-Year-in-Review.png"/><category>general</category><pubDate>Mon, 03 Jan 2022 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2022/01/03/2021-year-in-review/</guid><description>Entering 2021, I think we all were happy to say adios to 2020 and harbor a little hope for the coming year. After all, we had several viable vaccines about to roll out, meaning this worldwide pandemic might just end up in our rearview mirror. Oh what sweet summer children we were. Maybe 2021 didn&amp;rsquo;t work out the way we all hoped, but that doesn&amp;rsquo;t mean nothing positive happened. Amongst all the turmoil and bad takes were some gems of genuine kindness.</description></item><item><title>Terraform Apply? When External Change Happens.</title><link>https://nedinthecloud.com/2021/12/23/terraform-apply-when-external-change-happens./</link><image href="https://nedinthecloud.com/2021/12/23/terraform-apply-when-external-change-happens./2021-12-23.png"/><category>tech-tutorials</category><media:keywords>hashicorp-terraform, hashicorp-terraform-tutorial</media:keywords><pubDate>Thu, 23 Dec 2021 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2021/12/23/terraform-apply-when-external-change-happens./</guid><description>In an ideal world, all changes to your infrastructure would be managed through Terraform. In reality, that doesn&amp;rsquo;t always happen. Which can leave you in a bit of a conundrum regarding your next terraform apply. What will happen to the changes made outside of Terraform? Does it matter whether you saved the last terraform plan output? Will Terraform even see the changes made to the infrastructure? Will it overwrite those changes?</description></item><item><title>Using the Moved Block in Terraform 1.1</title><link>https://nedinthecloud.com/2021/12/14/using-the-moved-block-in-terraform-1.1/</link><image href="https://nedinthecloud.com/2021/12/14/using-the-moved-block-in-terraform-1.1/Untitled-design3.png"/><category>tech-tutorials</category><media:keywords>hashicorp, hashicorp-terraform, terraform, terraform-tutorials</media:keywords><pubDate>Tue, 14 Dec 2021 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2021/12/14/using-the-moved-block-in-terraform-1.1/</guid><description>The release of Terraform 1.1 has brought with it a new configuration block type called moved. This is a super-cool new block that helps with when you want to refactor your Terraform code without breaking production. There are two primary use cases for the moved block. The first is to refactor versioned modules you have published in a directory. The second, and the one we&amp;rsquo;ll focus on in this post, is refactoring your code by renaming resources, adding loops, and moving resources into modules.</description></item><item><title>GitHub Actions with Terraform</title><link>https://nedinthecloud.com/2021/12/08/github-actions-with-terraform/</link><image href="https://nedinthecloud.com/2021/12/08/github-actions-with-terraform/Untitled-design.png"/><category>tech-tutorials</category><media:keywords>github-actions, microsoft-azure, terraform</media:keywords><pubDate>Wed, 08 Dec 2021 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2021/12/08/github-actions-with-terraform/</guid><description>Recently, I was a guest on the Azure DevOps Lab YouTube channel, talking about using GitHub Actions with Terraform to deploy infrastructure on Azure. April Edwards was a gracious host and let me ramble on for 10+ minutes about the very basics of GitHub Actions. Due to the short format of DevOps Lab videos, I wasn&amp;rsquo;t able to really dig into specifics around the GitHub Actions file. I thought I would write a blog post to fill in the gaps, and so here we are.</description></item><item><title>Data Transformation in Terraform</title><link>https://nedinthecloud.com/2021/12/07/data-transformation-in-terraform/</link><image href="https://nedinthecloud.com/2021/12/07/data-transformation-in-terraform/terraform-transform.jpg"/><category>general</category><pubDate>Tue, 07 Dec 2021 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2021/12/07/data-transformation-in-terraform/</guid><description>I was attempting to do something I thought was relatively simple, and it broke my brain. The simple thing? Assigning permissions to namespaces in an Azure Kubernetes Service cluster through Azure RBAC using Terraform. Okay, well that part sounds complicated, but it&amp;rsquo;s not really important what exactly I was trying to do. The important part is that I was trying to do some data transformation in Terraform and the struggle is real.</description></item><item><title>What I Learned Building an Azure DevOps Pipeline with Terratest</title><link>https://nedinthecloud.com/2021/11/23/what-i-learned-building-an-azure-devops-pipeline-with-terratest/</link><image href="https://nedinthecloud.com/2021/11/23/what-i-learned-building-an-azure-devops-pipeline-with-terratest/ado-problems.png"/><category>tech-tutorials</category><media:keywords>azure, azure-devops-pipelines, hashicorp-terraform, terraform-tutorials</media:keywords><pubDate>Tue, 23 Nov 2021 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2021/11/23/what-i-learned-building-an-azure-devops-pipeline-with-terratest/</guid><description>I am in the process of creating a series of liveProjects for Manning Publishing, one of which involves deploying and managing an Azure Kubernetes Cluster using Terraform and Azure DevOps Pipelines. As I tried to build a CI/CD workflow that uses several pipelines, I ran into a bunch of roadblocks, some of which were my own doing and others which stemmed from a lack of clear documentation. While I won&amp;rsquo;t give away the contents of the liveProject - that would sort of defeat the point - I did want to call attention to things I stumbled over in hopes of helping others on a similar journey.</description></item><item><title>Weekly Newsletter - 10/11/2021</title><link>https://nedinthecloud.com/2021/10/11/weekly-newsletter-10/11/2021/</link><image href="https://nedinthecloud.com/2021/10/11/weekly-newsletter-10/11/2021/Weekly-Newsletter.png"/><category>general</category><pubDate>Mon, 11 Oct 2021 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2021/10/11/weekly-newsletter-10/11/2021/</guid><description>Hello everyone!
Last week was a rough one for me. As you might have read in last week&amp;rsquo;s newsletter, I broken my pinky toe while out on a trail run. While I knew it was broken last Sunday thanks to an urgent care nearby and the miracle of X-rays, I didn&amp;rsquo;t know what the recovery process looked like. There is a trail race coming this Friday, and I really hoped that somehow I would be able to run it.</description></item><item><title>Weekly Newsletter - 10/4/2021</title><link>https://nedinthecloud.com/2021/10/04/weekly-newsletter-10/4/2021/</link><image href="https://nedinthecloud.com/2021/10/04/weekly-newsletter-10/4/2021/Weekly-Newsletter.png"/><category>general</category><pubDate>Mon, 04 Oct 2021 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2021/10/04/weekly-newsletter-10/4/2021/</guid><description>Hello everyone!
You just never know the direction a day will head when you wake up. Sure, you can make plans and hope for the best. But I think we all know what reality thinks of our finely laid plans (cue condescending laughter.) For instance, this Sunday I had planned to go out for a 15 mile trail run, followed by standard Sunday activities &amp;ndash; read cleaning, and making fresh pasta for the family.</description></item><item><title>Weekly Newsletter - 9/27/2021</title><link>https://nedinthecloud.com/2021/09/27/weekly-newsletter-9/27/2021/</link><image href="https://nedinthecloud.com/2021/09/27/weekly-newsletter-9/27/2021/Weekly-Newsletter.png"/><category>general</category><pubDate>Mon, 27 Sep 2021 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2021/09/27/weekly-newsletter-9/27/2021/</guid><description>Hello everyone!
Last week I spent some time in Draper, UT - about 30 minutes outside of Salt Lake City - at the new Pluralsight HQ building for the annual Author Summit. The summit is only two days long, but the Pluralsight team packed in a ton of great sessions and social time for authors and staff to mingle and learn from each other. I came back from the trip feeling energized and excited to create new educational content for y&amp;rsquo;all.</description></item><item><title>Weekly Newsletter for 9/20/2021</title><link>https://nedinthecloud.com/2021/09/20/weekly-newsletter-for-9/20/2021/</link><image href="https://nedinthecloud.com/2021/09/20/weekly-newsletter-for-9/20/2021/Weekly-Newsletter.png"/><category>general</category><pubDate>Mon, 20 Sep 2021 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2021/09/20/weekly-newsletter-for-9/20/2021/</guid><description>Hello everyone!
Last week I spent five days in Nashville, taking in the sights, listening to live music, and probably drinking a bit too much. This was the first time my wife and I had been away from the kids for more than a night in ten years. Ten years! Although both of us have been on longer trips individually, we hadn&amp;rsquo;t gone together since 2011. It was supremely strange to be hanging out for multiple days and not be interrupted by a child who wants/needs something.</description></item><item><title>Failing the Certified Kubernetes Administrator Exam</title><link>https://nedinthecloud.com/2021/01/25/failing-the-certified-kubernetes-administrator-exam/</link><image href="https://nedinthecloud.com/2021/01/25/failing-the-certified-kubernetes-administrator-exam/CKA-Post.png"/><category>general</category><media:keywords>certified-kubernetes-administrator, cka, kubernetes</media:keywords><pubDate>Mon, 25 Jan 2021 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2021/01/25/failing-the-certified-kubernetes-administrator-exam/</guid><description>As you may have gathered from the title, I did NOT pass the CKA exam. The title is not some clickbait where I turn things around and explain how I passed the exam by doing X, Y, and Z. Nope, I failed. And failure is important. You learn more from your failures than your successes, as anyone who has tried to build a CI/CD pipeline or write a piece of code can attest.</description></item><item><title>2020 Year in Review</title><link>https://nedinthecloud.com/2021/01/03/2020-year-in-review/</link><image href="https://nedinthecloud.com/2021/01/03/2020-year-in-review/2020-Year-in-Review.png"/><category>general</category><pubDate>Sun, 03 Jan 2021 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2021/01/03/2020-year-in-review/</guid><description>2020 was&amp;hellip; a year. Or more like a decade packed into a single year. Looking back at everything that happened, it seems both too much and not enough. Conferences were cancelled, schools were closed, Zoom proficiency spiked, and we all added several new words to our vocabulary. This post is not meant to rehash our shared trauma of 2020, but I need to at least acknowledge it as a driving factor for the year.</description></item><item><title>HashiCorp Boundary Dev Error on Windows</title><link>https://nedinthecloud.com/2020/10/19/hashicorp-boundary-dev-error-on-windows/</link><image href="https://nedinthecloud.com/2020/10/19/hashicorp-boundary-dev-error-on-windows/1602281050-boundaryhashiconf.png"/><category>tech-tutorials</category><pubDate>Mon, 19 Oct 2020 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2020/10/19/hashicorp-boundary-dev-error-on-windows/</guid><description>This is going to be a quick one. You&amp;rsquo;ve probably already heard about HashiCorp&amp;rsquo;s new Boundary project announced at HashiConf. If not, you can check out my YouTube video all about it.
When I tried to fire up the dev instance to take Boundary for a test drive, I immediately got an unpleasant error:
Error creating dev database container: unable to start dev database with dialect postgres: could not start resource: : Post &amp;#34;http://localhost:2375/images/create?</description></item><item><title>Use HashiCorp Vault AWS engine with multiple accounts</title><link>https://nedinthecloud.com/2020/08/29/use-hashicorp-vault-aws-engine-with-multiple-accounts/</link><image href="https://nedinthecloud.com/2020/08/29/use-hashicorp-vault-aws-engine-with-multiple-accounts/Vault-and-AWS.png"/><category>tech-tutorials</category><media:keywords>hashicorp-vault</media:keywords><pubDate>Sat, 29 Aug 2020 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2020/08/29/use-hashicorp-vault-aws-engine-with-multiple-accounts/</guid><description>I received a question recently on how to properly configure the AWS secrets engine on HashiCorp Vault to work with multiple AWS accounts. It took me a bit, but I did figure out how to do it and what the limitations are. In this post, I will break down how the secrets engine works and how to use it to dynamically create credentials across multiple AWS accounts using the assume_role feature.</description></item><item><title>Ned in the Cloud - First Year Review</title><link>https://nedinthecloud.com/2020/05/07/ned-in-the-cloud-first-year-review/</link><image href="https://nedinthecloud.com/2020/05/07/ned-in-the-cloud-first-year-review/NitC-First-Year.png"/><category>general</category><category>rant</category><pubDate>Thu, 07 May 2020 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2020/05/07/ned-in-the-cloud-first-year-review/</guid><description>One year ago I decided to quit my consulting job at a respectable company and go rogue as the Founder and sole employee of Ned in the Cloud LLC. I thought that now might be a good time to reflect on how I feel about that decision a year in, how things are going personally and financially, and where I see the company going in the future. Come with me friend on this introspective journey to examine the real-world of an independent content producer.</description></item><item><title>Mysterious missing "region" argument in Terraform</title><link>https://nedinthecloud.com/2020/05/06/mysterious-missing-region-argument-in-terraform/</link><image href="https://nedinthecloud.com/2020/05/06/mysterious-missing-region-argument-in-terraform/Terraform-missing-region.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform</media:keywords><pubDate>Wed, 06 May 2020 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2020/05/06/mysterious-missing-region-argument-in-terraform/</guid><description>I&amp;rsquo;m working on my next course for Pluralsight, Implementing Terraform on AWS. I probably don&amp;rsquo;t need to explain what the course is about. Anyhow, I was trying to show how you can create multiple instances of an AWS provider using the alias argument. Running through the initialization and validation process I ran into an error that was not very helpful.
Error: Missing required argument The argument &amp;#34;region&amp;#34; is required, but was not set.</description></item><item><title>The Terraform Certified Study Guide</title><link>https://nedinthecloud.com/2020/05/04/the-terraform-certified-study-guide/</link><image href="https://nedinthecloud.com/2020/05/04/the-terraform-certified-study-guide/Terraform-certified.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform, terraform-certified</media:keywords><pubDate>Mon, 04 May 2020 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2020/05/04/the-terraform-certified-study-guide/</guid><description>As I mentioned in a previous post, HashiCorp has officially announced the availability of two certifications, Terraform Certified Associate and Vault Certified Associate. In that post I detailed a bunch of different resources to help you study for the Terraform exam. One of those resources was a study guide that Adin Ermie and I put together called the HashiCorp Terraform Certified Associate Preparation Guide, which does not lend itself well to an acronym - HTCAPG?</description></item><item><title>Preparing for the HashiCorp Terraform Certification</title><link>https://nedinthecloud.com/2020/04/27/preparing-for-the-hashicorp-terraform-certification/</link><image href="https://nedinthecloud.com/2020/04/27/preparing-for-the-hashicorp-terraform-certification/Terraform-certified.png"/><category>tech-tutorials</category><media:keywords>hashicorp, terraform, terraform-certified</media:keywords><pubDate>Mon, 27 Apr 2020 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2020/04/27/preparing-for-the-hashicorp-terraform-certification/</guid><description>HashiCorp has recently announced the availability of the Terraform Certified Associate exam. This is an excellent way to assess your skills and demonstrate your competence with the Infrastructure as Code tool, Terraform. Those who have been following me for any period of time know that I am a pretty big fan of Terraform, and may have authored more than a few posts and courses on the topic. What you might not know is that I was actively involved in writing and reviewing the questions for the exam.</description></item><item><title>Enabling Conditional Access for Azure Active Directory Applications</title><link>https://nedinthecloud.com/2020/01/19/enabling-conditional-access-for-azure-active-directory-applications/</link><image href="https://nedinthecloud.com/2020/01/19/enabling-conditional-access-for-azure-active-directory-applications/Azure-AD-SP.png"/><category>tech-tutorials</category><media:keywords>azure, azure-ad</media:keywords><pubDate>Sun, 19 Jan 2020 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2020/01/19/enabling-conditional-access-for-azure-active-directory-applications/</guid><description>I&amp;rsquo;m in the process of updating my Managing Identities in Azure Active Directory course on Pluralsight. One of the demos in the course is configuring Conditional Access for an Azure Active Directory integrated application. The idea is that you can set up a Conditional Access policy that restricts users from logging into the application from outside the US. When I went to go record the updated demo, the application I had created in Azure AD was missing.</description></item><item><title>A Vision and Strategy for 2020</title><link>https://nedinthecloud.com/2020/01/01/a-vision-and-strategy-for-2020/</link><image href="https://nedinthecloud.com/2020/01/01/a-vision-and-strategy-for-2020/featured-image-nedinthecloud.jpg"/><category>general</category><category>rant</category><pubDate>Wed, 01 Jan 2020 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2020/01/01/a-vision-and-strategy-for-2020/</guid><description>Although I don&amp;rsquo;t generally subscribe to New Year&amp;rsquo;s resolutions, I do like to review my professional goals on a regular basis and make sure they align with my overall strategy and vision for my career. I suppose that the beginning of a new year is a useful reminder to check in and see how things are going. In a previous post, I took a look at my goals for 2019 and how I did on achieving those goals.</description></item><item><title>The 2010s: A Decade in Review</title><link>https://nedinthecloud.com/2019/12/31/the-2010s-a-decade-in-review/</link><image href="https://nedinthecloud.com/2019/12/31/the-2010s-a-decade-in-review/BufferOverflow191.png"/><category>buffer-overflow</category><media:keywords>aws, azure, buffer-overflow, gcp, kubernetes</media:keywords><pubDate>Tue, 31 Dec 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/12/31/the-2010s-a-decade-in-review/</guid><description>In the most recent episode of Buffer Overflow, we talked about the biggest tech trends for the 2010s. I thought I would expand on my thoughts a little bit with this post. Check out the full episode below.
[embed]https://www.anexinet.com/wp-content/uploads/2019/12/BufferOverflow-Episode140.mp3[/embed]
Public cloud accelerates everything In the 2010s public cloud computing exploded and enabled massive technological innovation, particularly in the realm of Software as a Service (SaaS). In addition to providing a common platform for startups and enterprises alike to build on, it also served as a example to existing datacenter providers and in-house IT operations teams on how to effectively run a cloud service at scale using automation and standardization.</description></item><item><title>2019 Year in Review</title><link>https://nedinthecloud.com/2019/12/30/2019-year-in-review/</link><image href="https://nedinthecloud.com/2019/12/30/2019-year-in-review/featured-image-nedinthecloud.jpg"/><category>general</category><category>rant</category><pubDate>Mon, 30 Dec 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/12/30/2019-year-in-review/</guid><description>In December of 2018, I wrote a post about my goals for 2019. I&amp;rsquo;d like to reflect on those goals and take a look at what I actually accomplished in 2019. My goals for 2020 will be part of a separate post coming next week.
2019 was a heck of a year for me professionally. I started my own business, and that had an outsize impact on the goals I had made in the beginning of the year.</description></item><item><title>Azure Advent Calendar 2019 - AKS and Pod Identity</title><link>https://nedinthecloud.com/2019/12/03/azure-advent-calendar-2019-aks-and-pod-identity/</link><image href="https://nedinthecloud.com/2019/12/03/azure-advent-calendar-2019-aks-and-pod-identity/tutorials.png"/><category>tech-tutorials</category><media:keywords>aks, azure-kubernetes-service, azureadventcalendar</media:keywords><pubDate>Tue, 03 Dec 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/12/03/azure-advent-calendar-2019-aks-and-pod-identity/</guid><description>The Azure Advent Calendar is a fantastic idea from Gregor Suttie and Richard Hooper. Everyday, starting on December 1st and going until Christmas, they are posting three new Azure videos on their YouTube channel. They were originally planning to post a single video each day, but the response was so overwhelming they were able to schedule 75 total videos! I guess they shouldn&amp;rsquo;t be surprised, this is the Microsoft MVP community we are talking about.</description></item><item><title>Ned in the Cloud LLC - Six Month Check-in</title><link>https://nedinthecloud.com/2019/11/16/ned-in-the-cloud-llc-six-month-check-in/</link><image href="https://nedinthecloud.com/2019/11/16/ned-in-the-cloud-llc-six-month-check-in/tutorials.png"/><category>tech-tutorials</category><pubDate>Sat, 16 Nov 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/11/16/ned-in-the-cloud-llc-six-month-check-in/</guid><description>Six Month Check-In: Cruisin' In May of 2018, I decided to start my own company (Ned in the Cloud LLC), quit my lucrative consulting job, and hang my own shingle for content creation, education, and technical writing. Well, that&amp;rsquo;s not entirely accurate. I actually decided to strike out on my own in September of 2018, it just took me until May of 2019 to do it. I won&amp;rsquo;t rehash the entire thing now.</description></item><item><title>Microsoft Ignite 2019 - The Great Marketing Shift</title><link>https://nedinthecloud.com/2019/11/05/microsoft-ignite-2019-the-great-marketing-shift/</link><image href="https://nedinthecloud.com/2019/11/05/microsoft-ignite-2019-the-great-marketing-shift/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, microsoft, microsoft-ignite</media:keywords><pubDate>Tue, 05 Nov 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/11/05/microsoft-ignite-2019-the-great-marketing-shift/</guid><description>The Ennui of Success In 2018, I attended Microsoft Ignite and one of the things I noticed during the keynote was how stale everything seemed. Satya appeared to not only be lacking in excitement, but also clearly overcompensating by trying to be super excited about boring things. It was painful to watch and I thought perhaps we were witnessing the beginning of the end for Satya&amp;rsquo;s tenure as the CEO of Microsoft.</description></item><item><title>NetApp and the Cloud Conundrum</title><link>https://nedinthecloud.com/2019/10/16/netapp-and-the-cloud-conundrum/</link><image href="https://nedinthecloud.com/2019/10/16/netapp-and-the-cloud-conundrum/featured-image-nedinthecloud.jpg"/><category>tech-analysis</category><media:keywords>cfd6, cloud-field-day, netapp</media:keywords><pubDate>Wed, 16 Oct 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/10/16/netapp-and-the-cloud-conundrum/</guid><description>There are few technology changes that have been as disruptive as the public cloud. All aspects of the tech industry have been impacted in some way, but the hardware industry in particular has seen a major disruption. The advent of cloud hyperscalers has skewed the server, network, and storage markets. Suppliers can have an entire quarter made or ruined by the decision of a single hyperscaler to purchase new gear for a datacenter.</description></item><item><title>Solo.io stole the show at Cloud Field Day 6</title><link>https://nedinthecloud.com/2019/09/30/solo.io-stole-the-show-at-cloud-field-day-6/</link><image href="https://nedinthecloud.com/2019/09/30/solo.io-stole-the-show-at-cloud-field-day-6/analysis.png"/><category>tech-analysis</category><media:keywords>cfd6, cloud-field-day, solo-io</media:keywords><pubDate>Mon, 30 Sep 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/09/30/solo.io-stole-the-show-at-cloud-field-day-6/</guid><description>I attended Cloud Field Day 6 this September and my favorite presentation hands-down was from Solo.io. There were other strong contenders, but Idit and Christian stole the show with their laser-precise product focus, infectious enthusiasm, and high-quality demonstrations. I overhead someone say that it was a masterclass in how to do a Tech Field Day presentation, which is especially impressive for a first-time presenter. I wrote a post about what I thought of Solo.</description></item><item><title>Cloud Field Day - First Impressions on Hammerspace</title><link>https://nedinthecloud.com/2019/09/27/cloud-field-day-first-impressions-on-hammerspace/</link><image href="https://nedinthecloud.com/2019/09/27/cloud-field-day-first-impressions-on-hammerspace/analysis.png"/><category>tech-analysis</category><media:keywords>cfd6, cloud-field-day, hammerspace</media:keywords><pubDate>Fri, 27 Sep 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/09/27/cloud-field-day-first-impressions-on-hammerspace/</guid><description>I am currently attending Cloud Field Day 6 in Silicon Valley. We are in the thick of it, just about to start the third day of presentations. Before I wander into the maelstrom of presentations and conversations that will leave my brain feeling like it&amp;rsquo;s been through a Vitamix, I thought I would jot down some initial thoughts about Hammerspace, one of the presenters from Wednesday.
In the lead up to CFD6, I wrote about Hammerspace, and I had some real questions about where their product fit within the marketplace.</description></item><item><title>Cloud Field Day 6 Prep - Hammerspace and Solo.io</title><link>https://nedinthecloud.com/2019/09/23/cloud-field-day-6-prep-hammerspace-and-solo.io/</link><image href="https://nedinthecloud.com/2019/09/23/cloud-field-day-6-prep-hammerspace-and-solo.io/analysis.png"/><category>tech-analysis</category><media:keywords>cfd6, cloud-field-day, hammerspace, solo-io</media:keywords><pubDate>Mon, 23 Sep 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/09/23/cloud-field-day-6-prep-hammerspace-and-solo.io/</guid><description>This is part of a series of posts I’m writing as I prepare to attend Cloud Field Day 6. There are a total of eight presenters planned for CFD6, and I am going to cover two vendors per post. My goal is to have a basic understanding of each vendor’s product portfolio with a focus on cloud related products. Some of these vendors I am already familiar with, and others are new to me.</description></item><item><title>Cloud Field Day 6 Prep - Lucidlink and ExtraHop</title><link>https://nedinthecloud.com/2019/09/18/cloud-field-day-6-prep-lucidlink-and-extrahop/</link><image href="https://nedinthecloud.com/2019/09/18/cloud-field-day-6-prep-lucidlink-and-extrahop/analysis.png"/><category>tech-analysis</category><media:keywords>cfd6, cloud-field-day, extrahop, lucidlink</media:keywords><pubDate>Wed, 18 Sep 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/09/18/cloud-field-day-6-prep-lucidlink-and-extrahop/</guid><description>This is part of a series of posts I’m writing as I prepare to attend Cloud Field Day 6. There are a total of eight presenters planned for CFD6, and I am going to cover two vendors per post. My goal is to have a basic understanding of each vendor’s product portfolio with a focus on cloud related products. Some of these vendors I am already familiar with, and others are new to me.</description></item><item><title>Cloud Field Day 6 Prep - NetApp and Dell Technologies</title><link>https://nedinthecloud.com/2019/09/14/cloud-field-day-6-prep-netapp-and-dell-technologies/</link><image href="https://nedinthecloud.com/2019/09/14/cloud-field-day-6-prep-netapp-and-dell-technologies/analysis.png"/><category>tech-analysis</category><media:keywords>cfd6, cloud-field-day, dell-emc, netapp</media:keywords><pubDate>Sat, 14 Sep 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/09/14/cloud-field-day-6-prep-netapp-and-dell-technologies/</guid><description>This is part of a series of posts I’m writing as I prepare to attend Cloud Field Day 6. There are a total of eight presenters planned for CFD6, and I am going to cover two vendors per post. My goal is to have a basic understanding of each vendor’s product portfolio with a focus on cloud related products. Some of these vendors I am already familiar with, and others are new to me.</description></item><item><title>Cloud Field Day 6 Prep - Morpheus Data and HashiCorp</title><link>https://nedinthecloud.com/2019/09/07/cloud-field-day-6-prep-morpheus-data-and-hashicorp/</link><image href="https://nedinthecloud.com/2019/09/07/cloud-field-day-6-prep-morpheus-data-and-hashicorp/analysis.png"/><category>consulting</category><category>tech-analysis</category><media:keywords>cfd6, cloud-field-day, hashicorp, morpheus-data</media:keywords><pubDate>Sat, 07 Sep 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/09/07/cloud-field-day-6-prep-morpheus-data-and-hashicorp/</guid><description>This is part of a series of posts I&amp;rsquo;m writing as I prepare to attend Cloud Field Day 6. There are a total of eight presenters planned for CFD6, and I am going to cover two vendors per post. My goal is to have a basic understanding of each vendor&amp;rsquo;s product portfolio with a focus on cloud related products. Some of these vendors I am already familiar with, and others are new to me.</description></item><item><title>Using Ultra SSD Storage with Azure Kubernetes Service</title><link>https://nedinthecloud.com/2019/09/02/using-ultra-ssd-storage-with-azure-kubernetes-service/</link><image href="https://nedinthecloud.com/2019/09/02/using-ultra-ssd-storage-with-azure-kubernetes-service/tutorials.png"/><category>tech-analysis</category><category>tech-tutorials</category><media:keywords>aks, azure, azure-kubernetes-service</media:keywords><pubDate>Mon, 02 Sep 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/09/02/using-ultra-ssd-storage-with-azure-kubernetes-service/</guid><description>In a previous post, I performed a storage performance benchmark of Azure Managed Disks and Azure Files for Azure Kubernetes Service. The testing included the now generally available Ultra SSD class of Managed Disk. The process for using Ultra SSD with AKS was fraught with peril, caveats, and an assist from the AKS product group to get it all working. I thought I would detail how I went about enabling Ultra SSDs with AKS in case someone else was struggling with the same.</description></item><item><title>Storage Showdown at the AKS Corral</title><link>https://nedinthecloud.com/2019/08/29/storage-showdown-at-the-aks-corral/</link><image href="https://nedinthecloud.com/2019/08/29/storage-showdown-at-the-aks-corral/analysis.png"/><category>tech-analysis</category><media:keywords>aks, azure, azure-kubernetes-service, kubernetes</media:keywords><pubDate>Thu, 29 Aug 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/08/29/storage-showdown-at-the-aks-corral/</guid><description>This is a follow-up post to my analysis of using Azure NetApp Files for AKS storage versus the native solutions. After I wrote the post, with some surprising findings about Azure File performance, a number of people from Microsoft reached out to bring up a few key facts. In this post I will review the points that they brought up and include an updated analysis of the native Azure storage solutions for the Azure Kubernetes Service.</description></item><item><title>Ned in the Cloud LLC - Three Month Update</title><link>https://nedinthecloud.com/2019/08/09/ned-in-the-cloud-llc-three-month-update/</link><image href="https://nedinthecloud.com/2019/08/09/ned-in-the-cloud-llc-three-month-update/featured-image-nedinthecloud.jpg"/><category>consulting</category><category>general</category><category>rant</category><pubDate>Fri, 09 Aug 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/08/09/ned-in-the-cloud-llc-three-month-update/</guid><description>Three months ago I decided to leave the world of VAR consulting and try my hand at a new venture. That new venture is Ned in the Cloud LLC. I wrote a long post about the events that led up to my decision and I encourage you to go check that out if you have questions. The focus of Ned in the Cloud is to create technical content that is educational in nature.</description></item><item><title>Azure NetApp Files Performance with Azure Kubernetes Service</title><link>https://nedinthecloud.com/2019/07/23/azure-netapp-files-performance-with-azure-kubernetes-service/</link><image href="https://nedinthecloud.com/2019/07/23/azure-netapp-files-performance-with-azure-kubernetes-service/tutorials.png"/><category>tech-analysis</category><category>tech-tutorials</category><media:keywords>aks, azure, cfd3, netapp</media:keywords><pubDate>Tue, 23 Jul 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/07/23/azure-netapp-files-performance-with-azure-kubernetes-service/</guid><description>In April of 2018, I was delegate for Cloud Field Day 3. One of the presenters was NetApp, and they showed off a few different services they had under development in the cloud space. In a previous post I went over the services in some detail, so I won&amp;rsquo;t regurgitate all that now. One of the services that was still in private preview at the time was NetApp Files for Azure.</description></item><item><title>Demystifying Azure AD Service Principals</title><link>https://nedinthecloud.com/2019/07/16/demystifying-azure-ad-service-principals/</link><image href="https://nedinthecloud.com/2019/07/16/demystifying-azure-ad-service-principals/tutorials.png"/><category>rant</category><category>tech-tutorials</category><media:keywords>azure, azure-ad, powershell</media:keywords><pubDate>Tue, 16 Jul 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/07/16/demystifying-azure-ad-service-principals/</guid><description>Anyone who&amp;rsquo;s worked with Azure for a bit has encountered the need to create a service principal. If you are an IT Ops person, you probably equate an SP with a service account in local Active Directory. If you&amp;rsquo;re more of an application developer, then you may have created an SP as part of your application in Azure, because you want to give that application permissions to Azure resources. The purpose of this post is to tease apart what service principals are, how they interact with application objects, and all the myriad ways to create an SP on Azure.</description></item><item><title>Privilege and perspective</title><link>https://nedinthecloud.com/2019/07/06/privilege-and-perspective/</link><image href="https://nedinthecloud.com/2019/07/06/privilege-and-perspective/featured-image-nedinthecloud.jpg"/><category>general</category><category>rant</category><pubDate>Sat, 06 Jul 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/07/06/privilege-and-perspective/</guid><description>Let me say this upfront. I am going to talk about privilege. I am not an expert on privilege. I am not a poly-sci major with dual minors in social justice and psychology. These are ideas that have been kicking around in my head for a couple weeks, and I thought they might resonate with others or spark conversation. If that&amp;rsquo;s not the sort of thing you&amp;rsquo;re interested in, probably best to skip to the next post, where you can read about HashiCorp Vault or Azure or something similar.</description></item><item><title>Microsoft Windows is dead, long live Lite OS</title><link>https://nedinthecloud.com/2019/06/04/microsoft-windows-is-dead-long-live-lite-os/</link><image href="https://nedinthecloud.com/2019/06/04/microsoft-windows-is-dead-long-live-lite-os/featured-image-nedinthecloud.jpg"/><category>general</category><category>rant</category><media:keywords>computex, lite-os, microsoft</media:keywords><pubDate>Tue, 04 Jun 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/06/04/microsoft-windows-is-dead-long-live-lite-os/</guid><description>On last week&amp;rsquo;s Buffer Overflow we were talking about this very strange blog post from Microsoft about a &amp;ldquo;Modern OS&amp;rdquo; and what it should include. It&amp;rsquo;s obvious that Microsoft has something big brewing over in Redmond. In the build-up to \build, rumors were flying fast and free that Microsoft was going to unveil their new Lite OS and provide a roadmap for development. That did not happen, and the blog post from Computex seems to indicate that while Microsoft is definitely developing something that is not Windows, they aren&amp;rsquo;t quite ready to share with the world what that &amp;ldquo;Modern OS&amp;rdquo; actually is.</description></item><item><title>Going Cloud Native with Pure Storage Purity</title><link>https://nedinthecloud.com/2019/05/17/going-cloud-native-with-pure-storage-purity/</link><image href="https://nedinthecloud.com/2019/05/17/going-cloud-native-with-pure-storage-purity/analysis.png"/><category>tech-analysis</category><media:keywords>cfd5, cloud-field-day, pure-storage</media:keywords><pubDate>Fri, 17 May 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/05/17/going-cloud-native-with-pure-storage-purity/</guid><description>As a Cloud Field Day 5 delegate, I attended a presentation from Pure Storage regarding how their products are embracing the cloud. Whenever a storage vendor starts talking about embracing the cloud, I start to get a bit wary. In general, what they actually mean is they have created a virtualized version of their array, running on IaaS, using the public cloud. Or it could mean that they now have the ability to send data up to the public cloud from a local datacenter.</description></item><item><title>Rubrik's Build is all about education</title><link>https://nedinthecloud.com/2019/05/08/rubriks-build-is-all-about-education/</link><image href="https://nedinthecloud.com/2019/05/08/rubriks-build-is-all-about-education/analysis.png"/><category>tech-analysis</category><media:keywords>cfd5, cloud-field-day, rubrik</media:keywords><pubDate>Wed, 08 May 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/05/08/rubriks-build-is-all-about-education/</guid><description>I was a delegate for Cloud Field Day 5 back in April. One of the companies presenting was Rubrik. They also presented at CFD 3, where I was a delegate for the first time. Their presentation for CFD 3 knocked it out of the park! Watching Chris Wahl and Rebecca Fitzhugh present was a delight. Needless to say I came into the CFD 5 session with high hopes. The results this time around were a bit mixed, and it was only after reflection that I understood what was going on.</description></item><item><title>Time for a new adventure</title><link>https://nedinthecloud.com/2019/04/28/time-for-a-new-adventure/</link><image href="https://nedinthecloud.com/2019/04/28/time-for-a-new-adventure/featured-image-nedinthecloud.jpg"/><category>general</category><category>rant</category><pubDate>Sun, 28 Apr 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/04/28/time-for-a-new-adventure/</guid><description>This post is about my recent decision to leave my current employer for a new opportunity to launch Ned in the Cloud LLC. I want to be very clear up front that I hold no ill will towards Anexinet or anyone who works there. Over the past six and a half years I&amp;rsquo;ve been provided with tremendous opportunity to grow and expand, and try out new things.
My search for a new job started about eight months ago.</description></item><item><title>Sysdig - Monitoring via eBPF</title><link>https://nedinthecloud.com/2019/04/24/sysdig-monitoring-via-ebpf/</link><image href="https://nedinthecloud.com/2019/04/24/sysdig-monitoring-via-ebpf/analysis.png"/><category>tech-analysis</category><media:keywords>cfd5, cloud-field-day, sysdig</media:keywords><pubDate>Wed, 24 Apr 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/04/24/sysdig-monitoring-via-ebpf/</guid><description>A few weeks ago I attended a presentation by Sysdig as part of Cloud Field Day 5. Prior to attending CFD5 I did a little research about the company and their products and wrote up a quick post where I posed a few questions. I think some of those questions were answered by the presenters. The questions were:
Do you currently support or plan to support container deployments using AWS Fargate or Azure Container Instances?</description></item><item><title>Day Two Cloud Podcast update</title><link>https://nedinthecloud.com/2019/04/20/day-two-cloud-podcast-update/</link><image href="https://nedinthecloud.com/2019/04/20/day-two-cloud-podcast-update/graduation-995042_1920.jpg"/><category>day-two-cloud</category><category>rant</category><media:keywords>day-two-cloud, packet-pushers</media:keywords><pubDate>Sat, 20 Apr 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/04/20/day-two-cloud-podcast-update/</guid><description>I am super excited to announce that the Day Two Cloud podcast has officially graduated from the Packet Pushers Community Channel to its own dedicated channel and feed! That means you can directly subscribe to the podcast and listen to informative and educational episodes about operating a cloud on day two and beyond. The guests so far have been fantastic and I already have more episodes queued up for your enjoyment.</description></item><item><title>Cloud Field Day – VMware</title><link>https://nedinthecloud.com/2019/04/07/cloud-field-day-vmware/</link><image href="https://nedinthecloud.com/2019/04/07/cloud-field-day-vmware/analysis.png"/><category>tech-analysis</category><media:keywords>aws, cfd5, cloud-field-day, vmware</media:keywords><pubDate>Sun, 07 Apr 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/04/07/cloud-field-day-vmware/</guid><description>I will be a delegate for Cloud Field Day 5 on April 10-12. During the event we will be attending presentations from several vendors, which will be livestreamed. Before I leave on this grand adventure, I wanted to familiarize myself with each of the presenters and consider how their product/solution integrates with cloud computing. I’m also interested to hear from you about what questions you might have for each vendor, or topics you’d like me to bring up.</description></item><item><title>Cloud Field Day – Sysdig</title><link>https://nedinthecloud.com/2019/04/03/cloud-field-day-sysdig/</link><image href="https://nedinthecloud.com/2019/04/03/cloud-field-day-sysdig/analysis.png"/><category>tech-analysis</category><media:keywords>cfd5, cloud-field-day, sysdig</media:keywords><pubDate>Wed, 03 Apr 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/04/03/cloud-field-day-sysdig/</guid><description>I will be a delegate for Cloud Field Day 5 on April 10-12. During the event we will be attending presentations from several vendors, which will be livestreamed. Before I leave on this grand adventure, I wanted to familiarize myself with each of the presenters and consider how their product/solution integrates with cloud computing. I’m also interested to hear from you about what questions you might have for each vendor, or topics you’d like me to bring up.</description></item><item><title>Cloud Field Day – Datrium</title><link>https://nedinthecloud.com/2019/03/30/cloud-field-day-datrium/</link><image href="https://nedinthecloud.com/2019/03/30/cloud-field-day-datrium/analysis.png"/><category>tech-analysis</category><media:keywords>cfd5, cloud-field-day, datrium</media:keywords><pubDate>Sat, 30 Mar 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/03/30/cloud-field-day-datrium/</guid><description>I will be a delegate for Cloud Field Day 5 on April 10-12. During the event we will be attending presentations from several vendors, which will be livestreamed. Before I leave on this grand adventure, I wanted to familiarize myself with each of the presenters and consider how their product/solution integrates with cloud computing. I’m also interested to hear from you about what questions you might have for each vendor, or topics you’d like me to bring up.</description></item><item><title>Cloud Field Day – Kemp</title><link>https://nedinthecloud.com/2019/03/29/cloud-field-day-kemp/</link><image href="https://nedinthecloud.com/2019/03/29/cloud-field-day-kemp/analysis.png"/><category>tech-analysis</category><media:keywords>aws, azure, azure-stack, cfd5, cloud-field-day, kemp</media:keywords><pubDate>Fri, 29 Mar 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/03/29/cloud-field-day-kemp/</guid><description>I will be a delegate for Cloud Field Day 5 on April 10-12. During the event we will be attending presentations from several vendors, which will be livestreamed. Before I leave on this grand adventure, I wanted to familiarize myself with each of the presenters and consider how their product/solution integrates with cloud computing. I’m also interested to hear from you about what questions you might have for each vendor, or topics you’d like me to bring up.</description></item><item><title>Cloud Field Day – Cohesity</title><link>https://nedinthecloud.com/2019/03/26/cloud-field-day-cohesity/</link><image href="https://nedinthecloud.com/2019/03/26/cloud-field-day-cohesity/analysis.png"/><category>tech-analysis</category><media:keywords>cfd5, cloud-field-day, cohesity</media:keywords><pubDate>Tue, 26 Mar 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/03/26/cloud-field-day-cohesity/</guid><description>I will be a delegate for Cloud Field Day 5 on April 10-12. During the event we will be attending presentations from several vendors, which will be livestreamed. Before I leave on this grand adventure, I wanted to familiarize myself with each of the presenters and consider how their product/solution integrates with cloud computing. I’m also interested to hear from you about what questions you might have for each vendor, or topics you’d like me to bring up.</description></item><item><title>Cloud Field Day - NGINX</title><link>https://nedinthecloud.com/2019/03/21/cloud-field-day-nginx/</link><image href="https://nedinthecloud.com/2019/03/21/cloud-field-day-nginx/featured-image-nedinthecloud.jpg"/><category>consulting</category><media:keywords>cfd5, cloud-field-day, f5, nginx</media:keywords><pubDate>Thu, 21 Mar 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/03/21/cloud-field-day-nginx/</guid><description>I will be a delegate for Cloud Field Day 5 on April 10-12. During the event we will be attending presentations from several vendors, which will be livestreamed. Before I leave on this grand adventure, I wanted to familiarize myself with each of the presenters and consider how their product/solution integrates with cloud computing. I&amp;rsquo;m also interested to hear from you about what questions you might have for each vendor, or topics you&amp;rsquo;d like me to bring up.</description></item><item><title>Scaling the Kubernetes Cluster in Azure Stack</title><link>https://nedinthecloud.com/2019/03/03/scaling-the-kubernetes-cluster-in-azure-stack/</link><image href="https://nedinthecloud.com/2019/03/03/scaling-the-kubernetes-cluster-in-azure-stack/tutorials.png"/><category>tech-tutorials</category><media:keywords>acs, aks, azure, azure-stack, kubernetes</media:keywords><pubDate>Sun, 03 Mar 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/03/03/scaling-the-kubernetes-cluster-in-azure-stack/</guid><description>This is a follow-up to my post about the Kubernetes Cluster running on Azure Stack. In that post, I asked myself how to scale a deployed cluster and how to update the cluster. Since that post went live, I&amp;rsquo;ve done experimentation on my own, and also learned a few things about the deployment toolset being used for the Kubernetes Cluster Template.
If you remember from the previous post, the deployment process creates a virtual machine and clones the azsmaster branch of the Azure Cluster Service engine (acs-engine) from GitHub.</description></item><item><title>Using Azure Speech Service with PowerShell</title><link>https://nedinthecloud.com/2019/02/28/using-azure-speech-service-with-powershell/</link><image href="https://nedinthecloud.com/2019/02/28/using-azure-speech-service-with-powershell/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, powershell</media:keywords><pubDate>Thu, 28 Feb 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/02/28/using-azure-speech-service-with-powershell/</guid><description>The 100th episode of Buffer Overflow - a weekly tech news podcast I host - is steadily approaching. As I write this, we are getting ready to record episode 98. In preparation for the 100th episode, I thought it might be nice to look over past episodes and find some common themes, running gags, and anything else that caught my eye. At an average of 35 minutes, that&amp;rsquo;s roughly 57 hours of combined audio.</description></item><item><title>Azure Stack Kubernetes Cluster is NOT AKS</title><link>https://nedinthecloud.com/2019/02/20/azure-stack-kubernetes-cluster-is-not-aks/</link><image href="https://nedinthecloud.com/2019/02/20/azure-stack-kubernetes-cluster-is-not-aks/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azure-stack, kubernetes</media:keywords><pubDate>Wed, 20 Feb 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/02/20/azure-stack-kubernetes-cluster-is-not-aks/</guid><description>If you&amp;rsquo;ve been test driving Azure Stack with a full stamp or just the ASDK, you may have decided to try out the Kubernetes Cluster template that is available in the marketplace syndication. This post is meant to walk through what the K8s template is, what it isn&amp;rsquo;t, and how it works.
The first thing to understand is that the Kubernetes Cluster template - herein KCT - is NOT the Azure Kubernetes Service (AKS).</description></item><item><title>Deploying a Kubernetes Cluster on Azure Stack fails</title><link>https://nedinthecloud.com/2019/02/11/deploying-a-kubernetes-cluster-on-azure-stack-fails/</link><image href="https://nedinthecloud.com/2019/02/11/deploying-a-kubernetes-cluster-on-azure-stack-fails/tutorials.png"/><category>tech-tutorials</category><media:keywords>asdk, azure-stack, kubernetes</media:keywords><pubDate>Mon, 11 Feb 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/02/11/deploying-a-kubernetes-cluster-on-azure-stack-fails/</guid><description>I just finished updating my Azure Stack ASDK to the latest 1901 version. Before the upgrade I was messing around with the Kubernetes cluster offering, and I wanted to get that added back to my ASDK now that I&amp;rsquo;ve performed the update. I rushed through the process, and of course got an error. And that error was not very helpful. Just in case you&amp;rsquo;re like me, and missed a step in the setup for K8s on Azure Stack, here are the various error messages and the solution.</description></item><item><title>Day Two Cloud Podcast Launched</title><link>https://nedinthecloud.com/2019/02/09/day-two-cloud-podcast-launched/</link><image href="https://nedinthecloud.com/2019/02/09/day-two-cloud-podcast-launched/nimbieserver.png"/><category>day-two-cloud</category><category>rant</category><media:keywords>aws, azure, day-two-cloud, packet-pushers</media:keywords><pubDate>Sat, 09 Feb 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/02/09/day-two-cloud-podcast-launched/</guid><description>In case you didn&amp;rsquo;t notice, the Day Two Cloud podcast has officially launched! Big thanks to Tim Warner and Kenny Lowe for being the guests in the first two episodes! There is a lot more great content coming. I&amp;rsquo;ve got ten more episodes already recorded, and two more scheduled. If I stick to a fortnightly schedule for publishing, that should take me through July. That is pretty ridiculous!!! Needless to say that I am already considering moving to a weekly schedule.</description></item><item><title>Using Azure Active Directory Authentication with HashiCorp Vault – Part 2</title><link>https://nedinthecloud.com/2019/01/29/using-azure-active-directory-authentication-with-hashicorp-vault-part-2/</link><image href="https://nedinthecloud.com/2019/01/29/using-azure-active-directory-authentication-with-hashicorp-vault-part-2/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azure-ad, hashicorp-vault</media:keywords><pubDate>Tue, 29 Jan 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/01/29/using-azure-active-directory-authentication-with-hashicorp-vault-part-2/</guid><description>This is the second and probably final post in this series. If you haven&amp;rsquo;t read the first post I would highly recommend it. When we last left our erstwhile heroes, they had successfully setup the Azure authentication method on a Vault server and created a policy associated with a role in the Azure auth method. The policy grants access to a key-value store called webkv. Now comes the fun part, how does an Azure VM go about using the Azure auth method to access the secrets stored in webkv?</description></item><item><title>Using Azure Active Directory Authentication with HashiCorp Vault - Part 1</title><link>https://nedinthecloud.com/2019/01/23/using-azure-active-directory-authentication-with-hashicorp-vault-part-1/</link><image href="https://nedinthecloud.com/2019/01/23/using-azure-active-directory-authentication-with-hashicorp-vault-part-1/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azure-ad, hashicorp-vault</media:keywords><pubDate>Wed, 23 Jan 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/01/23/using-azure-active-directory-authentication-with-hashicorp-vault-part-1/</guid><description>I am currently working on a Getting Started course for HashiCorp&amp;rsquo;s Vault product. There was a pretty cool demo I put together for using Azure AD as an authentication source for Vault, but unfortunately I had to cut it for sake of time. I didn&amp;rsquo;t want it to go to waste though; so I figured I&amp;rsquo;d write about it here instead. Here&amp;rsquo;s what we&amp;rsquo;re going to do. Use the Managed Service Identity feature in Azure to give an Azure VM permissions to access secrets in Vault.</description></item><item><title>Some helper scripts for Azure Stack Development Kit</title><link>https://nedinthecloud.com/2019/01/10/some-helper-scripts-for-azure-stack-development-kit/</link><image href="https://nedinthecloud.com/2019/01/10/some-helper-scripts-for-azure-stack-development-kit/tutorials.png"/><category>tech-tutorials</category><media:keywords>asdk, azure-stack</media:keywords><pubDate>Thu, 10 Jan 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/01/10/some-helper-scripts-for-azure-stack-development-kit/</guid><description>Not too long ago, I got a DL380 Gen10 from HPE to deploy the Azure Stack Development Kit. I had been limping along with a couple Frankstein systems running on Gen8 and Gen9 hardware. They had slow disks, not enough storage, and not enough RAM. This new beast has 384GB of RAM, 20 cores, and SSDs for the OS disk. Basically it&amp;rsquo;s awesome, and I am a very happy nerd. Since the early days of the ASDK, when it was just a little Technical Preview, there have appeared a growing library of scripts to help with the deployment of the ASDK.</description></item><item><title>Day Two Cloud Podcast</title><link>https://nedinthecloud.com/2019/01/08/day-two-cloud-podcast/</link><image href="https://nedinthecloud.com/2019/01/08/day-two-cloud-podcast/nimbiewink.png"/><category>day-two-cloud</category><category>rant</category><media:keywords>buffer-overflow, day-two-cloud, podcasting</media:keywords><pubDate>Tue, 08 Jan 2019 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2019/01/08/day-two-cloud-podcast/</guid><description>One of my goals for 2019 was to launch a new podcast. That process has officially started. The podcast is going to be called Day Two Cloud. I sent a tweet last week about the podcast to see if anyone would be interested in being a guest. The reaction was overwhelming. I was hoping to get two or three people to be guests. Instead I now have 14 interviews booked, and more people who are interested.</description></item><item><title>Goals for 2019</title><link>https://nedinthecloud.com/2018/12/31/goals-for-2019/</link><image href="https://nedinthecloud.com/2018/12/31/goals-for-2019/featured-image-nedinthecloud.jpg"/><category>general</category><category>rant</category><media:keywords>aws, azure, cfd3, hashicorp</media:keywords><pubDate>Mon, 31 Dec 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/12/31/goals-for-2019/</guid><description>I don&amp;rsquo;t believe in making New Year&amp;rsquo;s Resolutions. Or at least, I don&amp;rsquo;t believe in making the type of New Year&amp;rsquo;s Resolutions that you might typically think of. A grandiose resolution to achieve an overly ambitious goal in an unrealistic time-frame. Whether it&amp;rsquo;s resolving to start working out five days a week when you don&amp;rsquo;t work out at all, or losing 100 lbs. and keeping it off, or finally reading War &amp;amp; Peace.</description></item><item><title>2018 Year in Review</title><link>https://nedinthecloud.com/2018/12/24/2018-year-in-review/</link><image href="https://nedinthecloud.com/2018/12/24/2018-year-in-review/featured-image-nedinthecloud.jpg"/><category>general</category><category>rant</category><pubDate>Mon, 24 Dec 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/12/24/2018-year-in-review/</guid><description>This was a busy year for me personally and professionally. I started the beginning of 2018 feeling a little unsure about what was going to happen. There were a lot of changes happening at work. I had accepted a new position in June 2017, and that role was still evolving and refining. I was slogging through the development of my second course on Pluralsight. And I was trying to get back in the habit of blogging on a semi-regular basis.</description></item><item><title>Hybrid Cloud is On Target for 2019</title><link>https://nedinthecloud.com/2018/12/16/hybrid-cloud-is-on-target-for-2019/</link><image href="https://nedinthecloud.com/2018/12/16/hybrid-cloud-is-on-target-for-2019/publiccloud.png"/><category>public-cloud</category><category>rant</category><media:keywords>aws, aws-outposts, azure, azure-stack, hybrid-cloud, kubernetes, vmware</media:keywords><pubDate>Sun, 16 Dec 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/12/16/hybrid-cloud-is-on-target-for-2019/</guid><description>If you were going to build a brand new application today, your approach would probably be fundamentally different than five or ten years ago. And I do mean fundamentally, as in the fundaments of the architecture would be different. In the last ten years we have moved rapidly from traditional three-tier applications to 12-factor apps using microservices, and now things are shifting again to serverless. That&amp;rsquo;s all well and good for any business looking to build a new application, but what about organizations that have traditional applications?</description></item><item><title>Is AWS going to destroy your business?</title><link>https://nedinthecloud.com/2018/12/07/is-aws-going-to-destroy-your-business/</link><image href="https://nedinthecloud.com/2018/12/07/is-aws-going-to-destroy-your-business/publiccloud.png"/><category>public-cloud</category><category>rant</category><media:keywords>amazon, aws, azure</media:keywords><pubDate>Fri, 07 Dec 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/12/07/is-aws-going-to-destroy-your-business/</guid><description>There was a recent article on CNBC talking about how AWS is creating new solutions that could potentially put existing companies out of business. That prompted a tweet from Matthew Prince about how if you are running your company on AWS, you are feeding them data about how to beat you. Prince is certainly not the first to make this leap of logic, and I am certain he won&amp;rsquo;t be the last.</description></item><item><title>AWS Outposts and Azure Stack</title><link>https://nedinthecloud.com/2018/11/30/aws-outposts-and-azure-stack/</link><image href="https://nedinthecloud.com/2018/11/30/aws-outposts-and-azure-stack/publiccloud.png"/><category>public-cloud</category><category>rant</category><media:keywords>aws, aws-outposts, azure, azure-stack, vmware</media:keywords><pubDate>Fri, 30 Nov 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/11/30/aws-outposts-and-azure-stack/</guid><description>This week was AWS re:Invent, and I watched the keynote live-on Wednesday.
The three. hour. keynote.
During which Andy Jassy announced new features at a pace that is frankly astounding. Three hours should be too long for a keynote, and if I wasn&amp;rsquo;t watching from the comfort of my office, it would have been. Not only did the announcements keep unfolding for the full 270 minutes, but some didn&amp;rsquo;t even make it into the keynote.</description></item><item><title>What happens after public cloud?</title><link>https://nedinthecloud.com/2018/11/23/what-happens-after-public-cloud/</link><image href="https://nedinthecloud.com/2018/11/23/what-happens-after-public-cloud/publiccloud.png"/><category>public-cloud</category><category>rant</category><media:keywords>aws, azure, cloud</media:keywords><pubDate>Fri, 23 Nov 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/11/23/what-happens-after-public-cloud/</guid><description>AWS and Azure have won the public cloud race. Some might think that it&amp;rsquo;s too early to call it. But some might also be wrong. The fact is, AWS is the 10k lbs. gorilla in the market, and Azure is the alternative for those who don&amp;rsquo;t want to use AWS. We can argue about the potential technological superiority of Oracle Cloud&amp;rsquo;s claimed L2 networking, or the Machine Learning capabilities of Google Cloud.</description></item><item><title>Terraform - FotD - Wrap Up</title><link>https://nedinthecloud.com/2018/10/05/terraform-fotd-wrap-up/</link><image href="https://nedinthecloud.com/2018/10/05/terraform-fotd-wrap-up/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 05 Oct 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/10/05/terraform-fotd-wrap-up/</guid><description>This is the final post of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I would like to take a moment to review the project as a whole, mung together some semi-coherent thoughts about the functions, and maybe even make a plan for the future.
Thoughts on the project In June of this year, I undertook a project to examine each built-in interpolation function within Terraform.</description></item><item><title>Terraform - FotD - zipmap()</title><link>https://nedinthecloud.com/2018/09/21/terraform-fotd-zipmap/</link><image href="https://nedinthecloud.com/2018/09/21/terraform-fotd-zipmap/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 21 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/21/terraform-fotd-zipmap/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the zipmap() function. The example file is on GitHub here.
What is it? Function name: zipmap(list, list)
Returns: Takes two lists of equal length and returns a map with the first list as keys and the second list as values.</description></item><item><title>Terraform - FotD - values()</title><link>https://nedinthecloud.com/2018/09/20/terraform-fotd-values/</link><image href="https://nedinthecloud.com/2018/09/20/terraform-fotd-values/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 20 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/20/terraform-fotd-values/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the values() function. The example file is on GitHub here.
What is it? Function name: values(map)
Returns: Takes a map and returns the values in the order the keys appear. The values must be strings, not lists or maps.</description></item><item><title>Terraform - FotD - uuid()</title><link>https://nedinthecloud.com/2018/09/19/terraform-fotd-uuid/</link><image href="https://nedinthecloud.com/2018/09/19/terraform-fotd-uuid/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Wed, 19 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/19/terraform-fotd-uuid/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the uuid() function. The example file is on GitHub here.
What is it? Function name: uuid()
Returns: Takes no arguments. Returns a string with a UUID conforming to RFC 4122 v4.
Example:
# Returns something like XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX output &amp;#34;uuid_output&amp;#34; { value = &amp;#34;${uuid()}&amp;#34; } Example file: ############################################## # Function: uuid ############################################## ############################################## # Variables ############################################## ############################################## # Resources ############################################## ############################################## # Outputs ############################################## output &amp;#34;1_uuid_basic&amp;#34; { value = &amp;#34;${uuid()}&amp;#34; } Run the following from the uuid folder to get example output for a number of different cases:</description></item><item><title>Terraform - FotD - urlencode()</title><link>https://nedinthecloud.com/2018/09/18/terraform-fotd-urlencode/</link><image href="https://nedinthecloud.com/2018/09/18/terraform-fotd-urlencode/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 18 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/18/terraform-fotd-urlencode/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the urlencode() function. The example file is on GitHub here.
What is it? Function name: urlencode(string)
Returns: Takes a string and returns the a URL-safe copy of the string.
Example:
variable &amp;#34;string&amp;#34; { default = &amp;#34;My Text&amp;#34; } # Returns &amp;#34;My+Text&amp;#34; output &amp;#34;urlencode_output&amp;#34; { value = &amp;#34;${urlencode(var.</description></item><item><title>Terraform - FotD -upper()</title><link>https://nedinthecloud.com/2018/09/17/terraform-fotd-upper/</link><image href="https://nedinthecloud.com/2018/09/17/terraform-fotd-upper/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Mon, 17 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/17/terraform-fotd-upper/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the upper() function. The example file is on GitHub here.
What is it? Function name: upper(string)
Returns: Takes a string and returns the uppercase version of all characters in the string as a string.
Example:
variable &amp;#34;string&amp;#34; { default = &amp;#34;all lower&amp;#34; } # Returns &amp;#34;ALL LOWER&amp;#34; output &amp;#34;upper_output&amp;#34; { value = &amp;#34;${upper(var.</description></item><item><title>Terraform - FotD - trimspace()</title><link>https://nedinthecloud.com/2018/09/14/terraform-fotd-trimspace/</link><image href="https://nedinthecloud.com/2018/09/14/terraform-fotd-trimspace/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 14 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/14/terraform-fotd-trimspace/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the trimspace() function. The example file is on GitHub here.
What is it? Function name: trimspace(string)
Returns: Takes a string and returns the string with any trailing whitespace removed
Example:
# Returns &amp;#34;String&amp;#34; output &amp;#34;trimspace_output&amp;#34; { value = &amp;#34;${trimspace(&amp;#34;String &amp;#34;)}&amp;#34; } Example file: ############################################## # Function: trimspace ############################################## ############################################## # Variables ############################################## variable &amp;#34;trimspace&amp;#34; { default = &amp;#34;A string with tab \t&amp;#34; } ############################################## # Resources ############################################## ############################################## # Outputs ############################################## output &amp;#34;1_trimspace_output&amp;#34; { value = &amp;#34;${trimspace(var.</description></item><item><title>Terraform - FotD - transpose()</title><link>https://nedinthecloud.com/2018/09/13/terraform-fotd-transpose/</link><image href="https://nedinthecloud.com/2018/09/13/terraform-fotd-transpose/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 13 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/13/terraform-fotd-transpose/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the transpose() function. The example file is on GitHub here.
What is it? Function name: transpose(map)
Returns: Takes a map with lists of strings as the values. Each unique string in the lists is turned into a key. Each key has a list of strings as a value.</description></item><item><title>Terraform - FotD - timeadd()</title><link>https://nedinthecloud.com/2018/09/11/terraform-fotd-timeadd/</link><image href="https://nedinthecloud.com/2018/09/11/terraform-fotd-timeadd/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 11 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/11/terraform-fotd-timeadd/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the timeadd() function. The example file is on GitHub here.
What is it? Function name: timeadd(time, duration)
Returns: Takes a date time value and a duration value. Returns the date value plus the duration value. All values should conform to the RFC 3339 format.</description></item><item><title>Terraform - FotD - title()</title><link>https://nedinthecloud.com/2018/09/11/terraform-fotd-title/</link><image href="https://nedinthecloud.com/2018/09/11/terraform-fotd-title/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 11 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/11/terraform-fotd-title/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the title() function. The example file is on GitHub here.
What is it? Function name: title(string)
Returns: Takes a string and returns that string with the first letter of every word capitalized
Example:
# Vogon Jeltz Is My Hero output &amp;#34;title_output&amp;#34; { value = &amp;#34;${title(&amp;#34;Vogon Jeltz is my hero&amp;#34;)}&amp;#34; } Example file: ############################################## # Function: title ############################################## ############################################## # Variables ############################################## variable &amp;#34;source&amp;#34; { default = &amp;#34;don&amp;#39;t panic&amp;#34; } ############################################## # Resources ############################################## ############################################## # Outputs ############################################## output &amp;#34;1_title_basic&amp;#34; { value = &amp;#34;${title(var.</description></item><item><title>Terraform - FotD - substr()</title><link>https://nedinthecloud.com/2018/09/07/terraform-fotd-substr/</link><image href="https://nedinthecloud.com/2018/09/07/terraform-fotd-substr/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 07 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/07/terraform-fotd-substr/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the substr() function. The example file is on GitHub here.
What is it? Function name: substr(string, offset, length)
Returns: Takes a string, offset, and length. Returns a string as long as the length value and starting at the offset value.</description></item><item><title>Terraform - FotD - timestamp()</title><link>https://nedinthecloud.com/2018/09/07/terraform-fotd-timestamp/</link><image href="https://nedinthecloud.com/2018/09/07/terraform-fotd-timestamp/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 07 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/07/terraform-fotd-timestamp/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the timestamp() function. The example file is on GitHub here.
What is it? Function name: timestamp()
Returns: Takes no arguments. Returns the current time in UTC using the RFC 3339 standard.
Example:
# Returns something like 2018-09-05T00:00:00Z output &amp;#34;timestamp_output&amp;#34; { value = &amp;#34;${timestamp()}&amp;#34; } Example file: ############################################## # Function: timestamp ############################################## ############################################## # Variables ############################################## ############################################## # Resources ############################################## ############################################## # Outputs ############################################## output &amp;#34;1_timestamp_basic&amp;#34; { value = &amp;#34;${timestamp()}&amp;#34; } Run the following from the timestamp folder to get example output for a number of different cases:</description></item><item><title>Terraform - FotD - split()</title><link>https://nedinthecloud.com/2018/09/05/terraform-fotd-split/</link><image href="https://nedinthecloud.com/2018/09/05/terraform-fotd-split/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Wed, 05 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/05/terraform-fotd-split/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the split() function. The example file is on GitHub here.
What is it? Function name: split(delimiter, string)
Returns: Takes a string and a delimiter. The string is split by the supplied delimiter and returned as a list of values.</description></item><item><title>Terraform - FotD - sort()</title><link>https://nedinthecloud.com/2018/09/04/terraform-fotd-sort/</link><image href="https://nedinthecloud.com/2018/09/04/terraform-fotd-sort/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 04 Sep 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/09/04/terraform-fotd-sort/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the sort() function. The example file is on GitHub here.
What is it? Function name: sort(list)
Returns: Takes a list and returns the same list with the values sorted in lexicographical order.
Example:
# Returns [a, b, c] output &amp;#34;sort_output&amp;#34; { value = &amp;#34;${sort(list(&amp;#34;c&amp;#34;,&amp;#34;b&amp;#34;,&amp;#34;a&amp;#34;))}&amp;#34; } Example file: ############################################## # Function: sort ############################################## ############################################## # Variables ############################################## variable &amp;#34;string_list&amp;#34; { default = [&amp;#34;One&amp;#34;, &amp;#34;Two&amp;#34;, &amp;#34;Three&amp;#34;, &amp;#34;Four&amp;#34;] } variable &amp;#34;string_list_2&amp;#34; { default = [&amp;#34;b&amp;#34;,&amp;#34;c&amp;#34;,&amp;#34;a&amp;#34;,&amp;#34;&amp;#34;] } variable &amp;#34;int_list&amp;#34; { default = [400, 42, 41] } variable &amp;#34;empty_string_list&amp;#34; { default = [&amp;#34;&amp;#34;, &amp;#34;&amp;#34;, &amp;#34;&amp;#34;] } variable &amp;#34;empty_list&amp;#34; { default = [] } variable &amp;#34;bool_list&amp;#34; { default = [true, false] } ############################################## # Resources ############################################## ############################################## # Outputs ############################################## #Test a standard list output &amp;#34;1_sort_list&amp;#34; { value = &amp;#34;${sort(var.</description></item><item><title>Terraform - FotD - slice()</title><link>https://nedinthecloud.com/2018/08/31/terraform-fotd-slice/</link><image href="https://nedinthecloud.com/2018/08/31/terraform-fotd-slice/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 31 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/31/terraform-fotd-slice/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the slice() function. The example file is on GitHub here.
What is it? Function name: slice(list, start, end)
Returns: Takes a list, a starting index, and an ending index for the list. Returns a list that starts with the element found at the start value index and ends with the last element found in the list preceding the end value index.</description></item><item><title>Terraform - FotD - signum()</title><link>https://nedinthecloud.com/2018/08/30/terraform-fotd-signum/</link><image href="https://nedinthecloud.com/2018/08/30/terraform-fotd-signum/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 30 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/30/terraform-fotd-signum/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the signum() function. The example file is on GitHub here.
What is it? Function name: signum(int)
Returns: Takes an int and returns -1 if negative, 0 if 0, and 1 if positive
Example:
# Returns 0 output &amp;#34;signum_output&amp;#34; { value = &amp;#34;${signum(&amp;#34;0&amp;#34;)}&amp;#34; } Example file: ############################################## # Function: signum ############################################## ############################################## # Variables ############################################## variable &amp;#34;signum&amp;#34; { default = 0 } ############################################## # Resources ############################################## ############################################## # Outputs ############################################## output &amp;#34;signum_output&amp;#34; { value = &amp;#34;${signum(var.</description></item><item><title>Terraform - FotD - sha1() and sha256() and sha512()</title><link>https://nedinthecloud.com/2018/08/29/terraform-fotd-sha1-and-sha256-and-sha512/</link><image href="https://nedinthecloud.com/2018/08/29/terraform-fotd-sha1-and-sha256-and-sha512/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Wed, 29 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/29/terraform-fotd-sha1-and-sha256-and-sha512/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the sha1(), sha256(), and sha512() functions. The example file is on GitHub here.
What is it? Function names: sha1(string) sha256(string) sha512(string)
Returns: Takes a string and returns a hash in hexadecimal form of the string based on which function is used.</description></item><item><title>Terraform - FotD - rsadecrypt()</title><link>https://nedinthecloud.com/2018/08/28/terraform-fotd-rsadecrypt/</link><image href="https://nedinthecloud.com/2018/08/28/terraform-fotd-rsadecrypt/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 28 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/28/terraform-fotd-rsadecrypt/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the rsadecrypt() function. The example file is on GitHub here.
What is it? Function name: rsadecrypt(string, key)
Returns: Takes a base64 encoded string that has been encrypted with an RSA key and decrypts it using the supplied RSA key.</description></item><item><title>Terraform - FotD - replace()</title><link>https://nedinthecloud.com/2018/08/27/terraform-fotd-replace/</link><image href="https://nedinthecloud.com/2018/08/27/terraform-fotd-replace/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Mon, 27 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/27/terraform-fotd-replace/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the replace() function. The example file is on GitHub here.
What is it? Function name: replace(string, search, replace)
Returns: Takes a string and matches instances in the search value and replaces them with the replace value. Returns the updated string.</description></item><item><title>Terraform - FotD - pow()</title><link>https://nedinthecloud.com/2018/08/25/terraform-fotd-pow/</link><image href="https://nedinthecloud.com/2018/08/25/terraform-fotd-pow/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Sat, 25 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/25/terraform-fotd-pow/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the pow() function. The example file is on GitHub here.
What is it? Function name: pow(base,exponent)
Returns: Takes a base value and raises it by the exponent
Example:
# Returns 8 output &amp;#34;pow_output&amp;#34; { value = &amp;#34;${pow(&amp;#34;2&amp;#34;,&amp;#34;3&amp;#34;)}&amp;#34; } Example file: ############################################## # Function: pow ############################################## ############################################## # Variables ############################################## variable &amp;#34;base&amp;#34; {} variable &amp;#34;exp&amp;#34; {} ############################################## # Resources ############################################## ############################################## # Outputs ############################################## output &amp;#34;pow_output&amp;#34; { value = &amp;#34;${pow(var.</description></item><item><title>Terraform - FotD - pathexpand()</title><link>https://nedinthecloud.com/2018/08/23/terraform-fotd-pathexpand/</link><image href="https://nedinthecloud.com/2018/08/23/terraform-fotd-pathexpand/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 23 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/23/terraform-fotd-pathexpand/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the pathexpand() function. The example file is on GitHub here.
What is it? Function name: pathexpand(string)
Returns: Takes a string that should be a file path, and expands the ~ to the current user&amp;rsquo;s home directory
Example:
# Returns /home/ned/test.</description></item><item><title>Terraform - FotD - md5()</title><link>https://nedinthecloud.com/2018/08/22/terraform-fotd-md5/</link><image href="https://nedinthecloud.com/2018/08/22/terraform-fotd-md5/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Wed, 22 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/22/terraform-fotd-md5/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the md5() function. The example file is on GitHub here.
What is it? Function name: md5(string)
Returns: Takes a string and returns the md5 hash of that string
Example:
# Returns 827ccb0eea8a706c4c34a16891f84e7b output &amp;#34;md5_output&amp;#34; { value = &amp;#34;${md5(&amp;#34;12345&amp;#34;)}&amp;#34; } Example file: ############################################## # Function: md5 ############################################## ############################################## # Variables ############################################## variable &amp;#34;md5&amp;#34; {} variable &amp;#34;fileText&amp;#34; { default = &amp;#34;textFile.</description></item><item><title>Terraform - FotD - min()</title><link>https://nedinthecloud.com/2018/08/21/terraform-fotd-min/</link><image href="https://nedinthecloud.com/2018/08/21/terraform-fotd-min/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 21 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/21/terraform-fotd-min/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the min() function. The example file is on GitHub here.
What is it? Function name: min(float1, float2, float3,&amp;hellip;)
Returns: Takes a list of numeric values and returns the lowest value of the set.
Example:
# Returns 0 output &amp;#34;min_output&amp;#34; { value = &amp;#34;${min(&amp;#34;0&amp;#34;,&amp;#34;2&amp;#34;,&amp;#34;3.</description></item><item><title>Terraform - FotD - merge()</title><link>https://nedinthecloud.com/2018/08/20/terraform-fotd-merge/</link><image href="https://nedinthecloud.com/2018/08/20/terraform-fotd-merge/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Mon, 20 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/20/terraform-fotd-merge/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the merge() function. The example file is on GitHub here.
What is it? Function name: merge(map1, map2, map3, &amp;hellip;)
Returns: Takes one or more maps and merges them into a single map by performing a union operation. Duplicate keys are overwritten.</description></item><item><title>Terraform - FotD - max()</title><link>https://nedinthecloud.com/2018/08/17/terraform-fotd-max/</link><image href="https://nedinthecloud.com/2018/08/17/terraform-fotd-max/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 17 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/17/terraform-fotd-max/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the max() function. The example file is on GitHub here.
What is it? Function name: max(float1, float2, float3,&amp;hellip;)
Returns: Takes a list of numeric values and returns the largest value of the set.
Example:
# Returns 3.14159 output &amp;#34;max_output&amp;#34; { value = &amp;#34;${max(&amp;#34;0&amp;#34;,&amp;#34;2&amp;#34;,&amp;#34;3.</description></item><item><title>Terraform - FotD - matchkeys()</title><link>https://nedinthecloud.com/2018/08/16/terraform-fotd-matchkeys/</link><image href="https://nedinthecloud.com/2018/08/16/terraform-fotd-matchkeys/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 16 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/16/terraform-fotd-matchkeys/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the matchkeys() function. The example file is on GitHub here.
What is it? Function name: matchkeys(values, keys, search_set)
Returns: Takes a list of values and a list of keys that are of the same length and a list of keys to search for.</description></item><item><title>Terraform - FotD - map()</title><link>https://nedinthecloud.com/2018/08/15/terraform-fotd-map/</link><image href="https://nedinthecloud.com/2018/08/15/terraform-fotd-map/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Wed, 15 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/15/terraform-fotd-map/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the map() function. The example file is on GitHub here.
What is it? Function name: map(key, value,&amp;hellip;)
Returns: Takes a set of keys and values, alternating, and returns a map based off the key/value pairs. All values must be of the same type.</description></item><item><title>Terraform - FotD - lower()</title><link>https://nedinthecloud.com/2018/08/14/terraform-fotd-lower/</link><image href="https://nedinthecloud.com/2018/08/14/terraform-fotd-lower/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 14 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/14/terraform-fotd-lower/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the lower() function. The example file is on GitHub here.
What is it? Function name: lower(string)
Returns: Takes a string and returns the lowercase version of all characters in the string as a string.
Example:
variable &amp;#34;string&amp;#34; { default = &amp;#34;ALL CAPS&amp;#34; } # Returns &amp;#34;all caps&amp;#34; output &amp;#34;lower_output&amp;#34; { value = &amp;#34;${lower(var.</description></item><item><title>Terraform - FotD - lookup()</title><link>https://nedinthecloud.com/2018/08/13/terraform-fotd-lookup/</link><image href="https://nedinthecloud.com/2018/08/13/terraform-fotd-lookup/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Mon, 13 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/13/terraform-fotd-lookup/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the lookup() function. The example file is on GitHub here.
What is it? Function name: lookup(map, key, [default])
Returns: Takes a map, a key, and an optional default value. Returns the value in the map that corresponds to the key if found.</description></item><item><title>Terraform - FotD - log()</title><link>https://nedinthecloud.com/2018/08/06/terraform-fotd-log/</link><image href="https://nedinthecloud.com/2018/08/06/terraform-fotd-log/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Mon, 06 Aug 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/08/06/terraform-fotd-log/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the log() function. The example file is on GitHub here.
What is it? Function name: log(value, base)
Returns: Takes a numeric value and a base numeric value and returns the logarithm of the value in the base.
Example:</description></item><item><title>Terraform - FotD - list()</title><link>https://nedinthecloud.com/2018/07/27/terraform-fotd-list/</link><image href="https://nedinthecloud.com/2018/07/27/terraform-fotd-list/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 27 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/27/terraform-fotd-list/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the list() function. The example file is on GitHub here.
What is it? Function name: list(value, value, value,&amp;hellip;)
Returns: Takes one or more values of string, list, or map and returns a list containing those values as elements.</description></item><item><title>Terraform - FotD - keys()</title><link>https://nedinthecloud.com/2018/07/26/terraform-fotd-keys/</link><image href="https://nedinthecloud.com/2018/07/26/terraform-fotd-keys/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 26 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/26/terraform-fotd-keys/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the keys() function. The example file is on GitHub here.
What is it? Function name: keys(map)
Returns: Takes a map and returns the keys of that map in a list that has been lexically sorted.
Example:
variable &amp;#34;map&amp;#34; { type = &amp;#34;map&amp;#34; default = { &amp;#34;one&amp;#34; = &amp;#34;1&amp;#34; &amp;#34;two&amp;#34; = &amp;#34;2&amp;#34; } } # Returns [&amp;#34;one&amp;#34;,&amp;#34;two&amp;#34;] output &amp;#34;key_output&amp;#34; { value = &amp;#34;${keys(var.</description></item><item><title>Terraform - FotD - length()</title><link>https://nedinthecloud.com/2018/07/26/terraform-fotd-length/</link><image href="https://nedinthecloud.com/2018/07/26/terraform-fotd-length/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 26 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/26/terraform-fotd-length/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the length() function. The example file is on GitHub here.
What is it? Function name: length(value)
Returns: Takes a value of string, list, or map and returns the number of elements in the value. For a string it is the number of characters, a list is the number of first level elements, and a map is the number of first level key-value pairs.</description></item><item><title>Terraform - FotD - jsonencode()</title><link>https://nedinthecloud.com/2018/07/25/terraform-fotd-jsonencode/</link><image href="https://nedinthecloud.com/2018/07/25/terraform-fotd-jsonencode/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Wed, 25 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/25/terraform-fotd-jsonencode/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the jsonencode() function. The example file is on GitHub here.
What is it? Function name: jsonencode(value)
Returns: Takes a value and returns a properly JSON encoded version of that value. The value could be a string, list, map, or combination of primitives.</description></item><item><title>Terraform - FotD - join()</title><link>https://nedinthecloud.com/2018/07/23/terraform-fotd-join/</link><image href="https://nedinthecloud.com/2018/07/23/terraform-fotd-join/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Mon, 23 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/23/terraform-fotd-join/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the join() function. The example file is on GitHub here.
What is it? Function name: join(delimiter, list)
Returns: Takes a list and joins all the elements of the list using the delimiter. Returns the resultant string.
Example:
variable &amp;#34;list&amp;#34; { default = [&amp;#34;one&amp;#34;,&amp;#34;two&amp;#34;,&amp;#34;three&amp;#34;] } # Returns &amp;#34;one-two-three&amp;#34; output &amp;#34;join_output&amp;#34; { value = &amp;#34;${join(&amp;#34;-&amp;#34;,var.</description></item><item><title>Terraform - FotD - indent()</title><link>https://nedinthecloud.com/2018/07/20/terraform-fotd-indent/</link><image href="https://nedinthecloud.com/2018/07/20/terraform-fotd-indent/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 20 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/20/terraform-fotd-indent/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the indent() function. The example file is on GitHub here.
What is it? Function name: indent(spaces, string)
Returns: Takes a string and indents all lines after the first line by the number of spaces specified. Returns the string.</description></item><item><title>Terraform - FotD - index()</title><link>https://nedinthecloud.com/2018/07/20/terraform-fotd-index/</link><image href="https://nedinthecloud.com/2018/07/20/terraform-fotd-index/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 20 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/20/terraform-fotd-index/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the index() function. The example file is on GitHub here.
What is it? Function name: index(list, value)
Returns: Takes a list and looks for a value in the list matching the submitted value. Returns the index number of the first item found in the list with a matching value.</description></item><item><title>Terraform - FotD - formatlist()</title><link>https://nedinthecloud.com/2018/07/19/terraform-fotd-formatlist/</link><image href="https://nedinthecloud.com/2018/07/19/terraform-fotd-formatlist/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 19 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/19/terraform-fotd-formatlist/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the formatlist() function. The example file is on GitHub here.
What is it? Function name: formatlist(format, list, args&amp;hellip;)
Returns: Takes a format value and a list, followed by additional arguments. The additional arguments must be either single values or a list of the same length as the original list.</description></item><item><title>Terraform - FotD - format()</title><link>https://nedinthecloud.com/2018/07/17/terraform-fotd-format/</link><image href="https://nedinthecloud.com/2018/07/17/terraform-fotd-format/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 17 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/17/terraform-fotd-format/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the format() function. The example file is on GitHub here.
What is it? Function name: format(format, args,&amp;hellip;)
Returns: Takes a format value and one or more arguments that are part of the format. Returns a value formatted as specified in the format value.</description></item><item><title>Terraform - FotD - flatten()</title><link>https://nedinthecloud.com/2018/07/16/terraform-fotd-flatten/</link><image href="https://nedinthecloud.com/2018/07/16/terraform-fotd-flatten/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Mon, 16 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/16/terraform-fotd-flatten/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the flatten() function. The example file is on GitHub here.
What is it? Function name: flatten(list)
Returns: Takes a list with nested values and returns a flat list with all values removing nested lists.
Example:
variable &amp;#34;flatten&amp;#34; { default = [&amp;#34;one&amp;#34;,[&amp;#34;two&amp;#34;,3]] } # Returns [&amp;#34;one&amp;#34;,&amp;#34;two&amp;#34;,3] output &amp;#34;flatten_output&amp;#34; { value = &amp;#34;${flatten(var.</description></item><item><title>Terraform - FotD - file()</title><link>https://nedinthecloud.com/2018/07/13/terraform-fotd-file/</link><image href="https://nedinthecloud.com/2018/07/13/terraform-fotd-file/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 13 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/13/terraform-fotd-file/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the file() function. The example file is on GitHub here.
What is it? Function name: file(path)
Returns: Takes a path to a file and reads the content of the file into a string variable. Returns the string value.</description></item><item><title>Terraform - FotD - floor()</title><link>https://nedinthecloud.com/2018/07/13/terraform-fotd-floor/</link><image href="https://nedinthecloud.com/2018/07/13/terraform-fotd-floor/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 13 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/13/terraform-fotd-floor/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the file() function. The example file is on GitHub here.
What is it? Function name: floor(float)
Returns: Rounds down to the closest integer, unless the float is already an integer value. Will attempt to perform implicit conversion of other data types to float prior to conversion.</description></item><item><title>Terraform - FotD - element()</title><link>https://nedinthecloud.com/2018/07/12/terraform-fotd-element/</link><image href="https://nedinthecloud.com/2018/07/12/terraform-fotd-element/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 12 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/12/terraform-fotd-element/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the element() function. The example file is on GitHub here.
What is it? Function name: element(list, index)
Returns: Takes a list and an index value. Returns the element from the list with the submitted index value.
Example:
variable &amp;#34;element&amp;#34; { default = [&amp;#34;one&amp;#34;,&amp;#34;two&amp;#34;,&amp;#34;three&amp;#34;] } # Returns &amp;#34;one&amp;#34; output &amp;#34;element_output&amp;#34; { value = &amp;#34;${element(var.</description></item><item><title>Terraform - FotD - distinct()</title><link>https://nedinthecloud.com/2018/07/10/terraform-fotd-distinct/</link><image href="https://nedinthecloud.com/2018/07/10/terraform-fotd-distinct/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 10 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/10/terraform-fotd-distinct/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the distinct() function. The example file is on GitHub here.
What is it? Function name: distinct(list)
Returns: Takes a list and removes any duplicate values, keeping the first of each duplicate value. Returns the updated list.
Example:
variable &amp;#34;distinct&amp;#34; { default = [&amp;#34;one&amp;#34;,&amp;#34;two&amp;#34;,&amp;#34;three&amp;#34;,&amp;#34;one&amp;#34;] } # Returns [&amp;#34;one&amp;#34;,&amp;#34;two&amp;#34;,&amp;#34;three&amp;#34;] output &amp;#34;distinct_output&amp;#34; { value = &amp;#34;${distinct(var.</description></item><item><title>Terraform - FotD - dirname()</title><link>https://nedinthecloud.com/2018/07/09/terraform-fotd-dirname/</link><image href="https://nedinthecloud.com/2018/07/09/terraform-fotd-dirname/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Mon, 09 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/09/terraform-fotd-dirname/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the dirname() function. The example file is on GitHub here.
What is it? Function name: dirname(path)
Returns: Takes a file path and returns the directory path containing the file, without the file name.
Example:
variable &amp;#34;dirname&amp;#34; { default = &amp;#34;/bin/bash&amp;#34; } # Returns /bin output &amp;#34;dirname_output&amp;#34; { value = &amp;#34;${dirname(var.</description></item><item><title>Terraform - FotD - contains()</title><link>https://nedinthecloud.com/2018/07/06/terraform-fotd-contains/</link><image href="https://nedinthecloud.com/2018/07/06/terraform-fotd-contains/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 06 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/06/terraform-fotd-contains/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the contains() function. The example file is on GitHub here.
What is it? Function name: contains(list, element)
Returns: Takes a list and an element and tests if the element is in the list. Returns true if the element is present, false if it is not.</description></item><item><title>Terraform - FotD - concat()</title><link>https://nedinthecloud.com/2018/07/05/terraform-fotd-concat/</link><image href="https://nedinthecloud.com/2018/07/05/terraform-fotd-concat/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 05 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/05/terraform-fotd-concat/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the concat() function. The example file is on GitHub here.
What is it? Function name: concat(list1, list2, &amp;hellip;)
Returns: Takes two or more lists and combines them into a single list. Returns the combined list.
Example:
variable &amp;#34;list&amp;#34; { default = [&amp;#34;My&amp;#34;,&amp;#34;list&amp;#34;,&amp;#34;of&amp;#34;,&amp;#34;stuff&amp;#34;] } variable &amp;#34;list2&amp;#34; { default = [&amp;#34;is&amp;#34;,&amp;#34;very&amp;#34;,&amp;#34;long&amp;#34;] } # Returns [&amp;#34;My&amp;#34;,&amp;#34;list&amp;#34;,&amp;#34;of&amp;#34;,&amp;#34;stuff&amp;#34;,&amp;#34;is&amp;#34;,&amp;#34;very&amp;#34;,&amp;#34;long&amp;#34;] output &amp;#34;concat_list&amp;#34; { value = &amp;#34;${concat(var.</description></item><item><title>Terraform - FotD - compact()</title><link>https://nedinthecloud.com/2018/07/04/terraform-fotd-compact/</link><image href="https://nedinthecloud.com/2018/07/04/terraform-fotd-compact/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Wed, 04 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/04/terraform-fotd-compact/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the compact() function. The example file is on GitHub here.
What is it? Function name: compact(list)
Returns: Takes a list and removes any empty string values in the list.
Example:
variable &amp;#34;list&amp;#34; { default = [&amp;#34;My&amp;#34;,&amp;#34;list&amp;#34;,&amp;#34;&amp;#34;,&amp;#34;of&amp;#34;,&amp;#34;&amp;#34;,&amp;#34;stuff&amp;#34;] } # Returns [&amp;#34;My&amp;#34;,&amp;#34;list&amp;#34;,&amp;#34;of&amp;#34;,&amp;#34;stuff&amp;#34;] output &amp;#34;compact_list&amp;#34; { value = &amp;#34;${compact(var.</description></item><item><title>Terraform - FotD - coalescelist()</title><link>https://nedinthecloud.com/2018/07/03/terraform-fotd-coalescelist/</link><image href="https://nedinthecloud.com/2018/07/03/terraform-fotd-coalescelist/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 03 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/03/terraform-fotd-coalescelist/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the coalescelist() function. The example file is on GitHub here.
What is it? Function name: coalescelist(list,list,&amp;hellip;)
Returns: Takes two or more lists and returns the first non-empty list from the arguments. Must include at least two arguments to evaluate.</description></item><item><title>Terraform - FotD - coalesce()</title><link>https://nedinthecloud.com/2018/07/02/terraform-fotd-coalesce/</link><image href="https://nedinthecloud.com/2018/07/02/terraform-fotd-coalesce/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Mon, 02 Jul 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/07/02/terraform-fotd-coalesce/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the coalesce() function. The example file is on GitHub here.
What is it? Function name: coalesce(string,string,&amp;hellip;)
Returns: Takes two or more strings and returns the first non-empty string in the list. Must include at least two arguments to evaluate.</description></item><item><title>Terraform - FotD - cidrsubnet()</title><link>https://nedinthecloud.com/2018/06/29/terraform-fotd-cidrsubnet/</link><image href="https://nedinthecloud.com/2018/06/29/terraform-fotd-cidrsubnet/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 29 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/29/terraform-fotd-cidrsubnet/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the cidrsubnet() function. The example file is on GitHub here.
What is it? Function name: cidrsubnet(iprange,newbits,netnum)
Returns: Takes an IP address range in CIDR notation and adds the newbits to the the subnet mask. Then it finds the network in the original CIDR range with the network number in netnum.</description></item><item><title>Running Ansible on Windows 10</title><link>https://nedinthecloud.com/2018/06/27/running-ansible-on-windows-10/</link><image href="https://nedinthecloud.com/2018/06/27/running-ansible-on-windows-10/tutorials.png"/><category>tech-tutorials</category><media:keywords>ansible, docker, hpe, terraform</media:keywords><pubDate>Wed, 27 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/27/running-ansible-on-windows-10/</guid><description>I&amp;rsquo;ve been going through Ansible training for work, and I want to be able to easily try out some of the playbooks and modules on my Windows 10 box. There&amp;rsquo;s lots of ways I could go about this, but for me the thing that makes the most sense is to leverage Docker for Windows (DfW) and the magic of containers to be able to get up and running quickly. In this post I will walk through what I did to get started, and why I landed on containers instead of another solution.</description></item><item><title>Terraform - FotD - cidrnetmask()</title><link>https://nedinthecloud.com/2018/06/27/terraform-fotd-cidrnetmask/</link><image href="https://nedinthecloud.com/2018/06/27/terraform-fotd-cidrnetmask/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Wed, 27 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/27/terraform-fotd-cidrnetmask/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the cidrnetmask() function. The example file is on GitHub here.
What is it? Function name: cidrnetmask(iprange)
Returns: Takes an IP address range in CIDR notation and returns the netmask value in X.X.X.X type notation.
Example:
variable &amp;#34;cidrnetmask&amp;#34; { default = &amp;#34;10.</description></item><item><title>Terraform - FotD - cidrhost()</title><link>https://nedinthecloud.com/2018/06/26/terraform-fotd-cidrhost/</link><image href="https://nedinthecloud.com/2018/06/26/terraform-fotd-cidrhost/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 26 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/26/terraform-fotd-cidrhost/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the cidrhost() function. The example file is on GitHub here.
What is it? Function name: cidrhost(iprange, hostnumber)
Returns: Takes an IP address range in CIDR notation and finds the specified hostnumber in the range. The hostnumber is an int value, and it accepts positive or negative values.</description></item><item><title>Terraform - FotD - chunklist()</title><link>https://nedinthecloud.com/2018/06/25/terraform-fotd-chunklist/</link><image href="https://nedinthecloud.com/2018/06/25/terraform-fotd-chunklist/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Mon, 25 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/25/terraform-fotd-chunklist/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the chunklist() function. The example file is on GitHub here.
What is it? Function name: chunklist(list, size)
Returns: Takes the list and splits it into several lists. Each list will have the number of elements specified in the size property.</description></item><item><title>Terraform - FotD - chomp()</title><link>https://nedinthecloud.com/2018/06/22/terraform-fotd-chomp/</link><image href="https://nedinthecloud.com/2018/06/22/terraform-fotd-chomp/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 22 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/22/terraform-fotd-chomp/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the chomp() function. The example file is on GitHub here.
What is it? Function name: chomp(string)
Returns: Takes the string and removes any trailing newlines. Trailing in this case are any newline characters that are at the end of the string.</description></item><item><title>Terraform - FotD - bcrypt()</title><link>https://nedinthecloud.com/2018/06/21/terraform-fotd-bcrypt/</link><image href="https://nedinthecloud.com/2018/06/21/terraform-fotd-bcrypt/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 21 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/21/terraform-fotd-bcrypt/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the bcrypt() function. The example files are on GitHub here.
What is it? Function name: bcrypt(string, count)
Returns: The bcrypt function takes a string and performs the Blowfish based encryption algorithm on it with the specified number of passes, returning a hash.</description></item><item><title>Terraform - FotD - ceil()</title><link>https://nedinthecloud.com/2018/06/21/terraform-fotd-ceil/</link><image href="https://nedinthecloud.com/2018/06/21/terraform-fotd-ceil/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 21 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/21/terraform-fotd-ceil/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the ceil() function. The example file is on GitHub here.
What is it? Function name: ceil(float)
Returns: Rounds up to the closest integer, unless the float is already an integer value. Will attempt to perform implicit conversion of other data types to float prior to conversion.</description></item><item><title>Terraform - FotD - base64sha256() and base64sha512()</title><link>https://nedinthecloud.com/2018/06/20/terraform-fotd-base64sha256-and-base64sha512/</link><image href="https://nedinthecloud.com/2018/06/20/terraform-fotd-base64sha256-and-base64sha512/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Wed, 20 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/20/terraform-fotd-base64sha256-and-base64sha512/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the base64sha256() function and the base64sha512() function. Double feature! The example files are on GitHub for base64sha256 and base64sha512.
What is it? Function name: base64sha256(string)
Returns: The base64sha256 function takes a string and creates a sha-256 hash from it in raw byte form.</description></item><item><title>Terraform - FotD - base64gzip()</title><link>https://nedinthecloud.com/2018/06/19/terraform-fotd-base64gzip/</link><image href="https://nedinthecloud.com/2018/06/19/terraform-fotd-base64gzip/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 19 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/19/terraform-fotd-base64gzip/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the base64gzip() function. The example files are on GitHub here.
What is it? Function name: base64gzip(string)
Returns: The base64gzip function first takes a string and applies gzip compression, then encodes the compressed data using base64.
Example:
variable &amp;#34;base64gzip&amp;#34; { default = &amp;#34;1234&amp;#34; } # Returns H4sIAAAAAAAA/zI0MjYBAAAA//8BAAD//6Pg45sEAAAA output &amp;#34;base64gzip &amp;#34; { value = &amp;#34;${base64gzip (var.</description></item><item><title>Terraform – FotD – base64encode()</title><link>https://nedinthecloud.com/2018/06/15/terraform-fotd-base64encode/</link><image href="https://nedinthecloud.com/2018/06/15/terraform-fotd-base64encode/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Fri, 15 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/15/terraform-fotd-base64encode/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the base64encode() function. The example files are on GitHub here.
What is it? Function name: base64encode(string)
Returns: The base64encode function returns a base64 encoded value of string.
Example:
variable &amp;#34;base64encode&amp;#34; { default = &amp;#34;1234&amp;#34; } # Returns MTIzNA== output &amp;#34;base64encode&amp;#34; { value = &amp;#34;${base64encode(var.</description></item><item><title>Terraform - FotD - base64decode()</title><link>https://nedinthecloud.com/2018/06/14/terraform-fotd-base64decode/</link><image href="https://nedinthecloud.com/2018/06/14/terraform-fotd-base64decode/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Thu, 14 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/14/terraform-fotd-base64decode/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the base64decode() function. The example files are on GitHub here.
What is it? Function name: base64decode(string)
Returns: The base64decode function returns a decoded value of a base64 encoded string.
Example:
variable &amp;#34;base64decode&amp;#34; { default = &amp;#34;MTIzNA==&amp;#34; } # Returns 1234 output &amp;#34;base64decode&amp;#34; { value = &amp;#34;${base64decode(var.</description></item><item><title>Terraform - FotD - basename()</title><link>https://nedinthecloud.com/2018/06/13/terraform-fotd-basename/</link><image href="https://nedinthecloud.com/2018/06/13/terraform-fotd-basename/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Wed, 13 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/13/terraform-fotd-basename/</guid><description>This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the basename() function. The example file is on GitHub here.
What is it? Function name: basename(string) Returns: The basename function returns the last portion of a file path. Example:
variable &amp;#34;basic_path&amp;#34; { default = &amp;#34;/usr/bin&amp;#34; } # Returns bin output &amp;#34;basic_path&amp;#34; { value = &amp;#34;${basename(var.</description></item><item><title>Terraform - FotD - abs()</title><link>https://nedinthecloud.com/2018/06/12/terraform-fotd-abs/</link><image href="https://nedinthecloud.com/2018/06/12/terraform-fotd-abs/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Tue, 12 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/12/terraform-fotd-abs/</guid><description>This post references Terraform version 0.11 and older. Check out the official docs for 0.12 and newer here
This is part of an ongoing series of posts documenting the built-in interpolation functions in Terraform. For more information, check out the beginning post. In this post I am going to cover the abs() function. The example file is on GitHub here.
Function name: abs(float) Returns: The absolute value of the float value passed to the function.</description></item><item><title>Terraform - Function of the Day - Let's Go!</title><link>https://nedinthecloud.com/2018/06/11/terraform-function-of-the-day-lets-go/</link><image href="https://nedinthecloud.com/2018/06/11/terraform-function-of-the-day-lets-go/tutorials.png"/><category>tech-tutorials</category><media:keywords>fotd, hashicorp, terraform</media:keywords><pubDate>Mon, 11 Jun 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/06/11/terraform-function-of-the-day-lets-go/</guid><description>As a frequent user of Terraform, I&amp;rsquo;ve found that the documentation is good, but I feel that it could do a better job of explaining how to use the various functions included in the interpolation engine. In this series of posts I am going to document a different Terraform function each day and how you might use it. This won&amp;rsquo;t require using a provider per se. I&amp;rsquo;m just going to use variables, the null resource, and outputs to work through these functions.</description></item><item><title>I HATE MICROSOFT - except I don't</title><link>https://nedinthecloud.com/2018/05/30/i-hate-microsoft-except-i-dont/</link><image href="https://nedinthecloud.com/2018/05/30/i-hate-microsoft-except-i-dont/publiccloud.png"/><category>public-cloud</category><category>rant</category><media:keywords>apple, linux, microsoft</media:keywords><pubDate>Wed, 30 May 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/05/30/i-hate-microsoft-except-i-dont/</guid><description>Recently at two separate client meetings, I heard two people say that they hate Microsoft. As you may have guessed, both people were happily using some type of Apple device, and were complaining about having to use some form of Microsoft technology. In one case it was Office 365, and the other was Active Directory. And listen everyone, I get it. Sometimes I hate Microsoft too. Except not really.
What is going on with the level of ire being directed at Microsoft?</description></item><item><title>Using Azure Functions and Buffer API for Automation</title><link>https://nedinthecloud.com/2018/05/17/using-azure-functions-and-buffer-api-for-automation/</link><image href="https://nedinthecloud.com/2018/05/17/using-azure-functions-and-buffer-api-for-automation/tutorials.png"/><category>tech-analysis</category><category>tech-tutorials</category><media:keywords>automation, azure-functions, buffer</media:keywords><pubDate>Thu, 17 May 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/05/17/using-azure-functions-and-buffer-api-for-automation/</guid><description>In a previous post I mentioned how I am using Buffer, Feedly, and Zapier to automate parts of my online persona. In this post I will talk about how I found a workflow that wasn&amp;rsquo;t support by Zapier, and how I used the API from Buffer and Azure Functions to automate post generation.
I run two podcasts for work, Buffer Overflow and AnexiPod. Both of them have been running for over a year, and I thought it would be cool to repost the previous year&amp;rsquo;s episode on Thursday for Throwback Thursdays (TBT).</description></item><item><title>Automating my Life with Feedly, Zapier, and Buffer</title><link>https://nedinthecloud.com/2018/05/14/automating-my-life-with-feedly-zapier-and-buffer/</link><image href="https://nedinthecloud.com/2018/05/14/automating-my-life-with-feedly-zapier-and-buffer/tutorials.png"/><category>tech-tutorials</category><media:keywords>automation, buffer, feedly, zapier</media:keywords><pubDate>Mon, 14 May 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/05/14/automating-my-life-with-feedly-zapier-and-buffer/</guid><description>This is about building my personal brand. If you don&amp;rsquo;t care about any of that, then you can safely skip this post. If you&amp;rsquo;re looking for ways to automate your brand building, then this will probably resonate with you. There was a period of time when I thought that marketing myself and having a personal brand was kind of gross. Now I realize that personal branding is pretty important if you want to build a career in the public side of IT.</description></item><item><title>Veritas 360 - CloudPoint</title><link>https://nedinthecloud.com/2018/05/06/veritas-360-cloudpoint/</link><image href="https://nedinthecloud.com/2018/05/06/veritas-360-cloudpoint/analysis.png"/><category>consulting</category><category>tech-analysis</category><pubDate>Sun, 06 May 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/05/06/veritas-360-cloudpoint/</guid><description>At Cloud Field Day 3 we visited the Veritas office and they presented their cloud vision to us. It took a little while to ramp up, as I detailed in my post here. My fellow CFD delegate Martez Reed has already put an excellent post together detailing the high-level view of what Veritas had on display, so I won&amp;rsquo;t rehash that now. Instead, I would like to focus down on their CloudPoint offering and actually try and take it for a spin.</description></item><item><title>Innovate or Die? Three Ways to Cloud Enablement</title><link>https://nedinthecloud.com/2018/04/11/innovate-or-die-three-ways-to-cloud-enablement/</link><image href="https://nedinthecloud.com/2018/04/11/innovate-or-die-three-ways-to-cloud-enablement/analysis.png"/><category>public-cloud</category><category>rant</category><category>tech-analysis</category><media:keywords>cfd3, cloud-field-day</media:keywords><pubDate>Wed, 11 Apr 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/04/11/innovate-or-die-three-ways-to-cloud-enablement/</guid><description>Last week I participated in Cloud Field Day 3. If you&amp;rsquo;re not familiar with Cloud Field Day, then I would highly recommend checking out the post from my fellow delegate Nick Janetakis detailing his experience. It&amp;rsquo;s a thorough and well thought-out post describing what Cloud Field Day is, and why you might be interested.
As I watched each vendor present, I kept coming back to the same set of questions. The focus of this post is one of those.</description></item><item><title>My Life as a Tech Impostor</title><link>https://nedinthecloud.com/2018/04/03/my-life-as-a-tech-impostor/</link><image href="https://nedinthecloud.com/2018/04/03/my-life-as-a-tech-impostor/featured-image-nedinthecloud.jpg"/><category>consulting</category><category>general</category><category>rant</category><pubDate>Tue, 03 Apr 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/04/03/my-life-as-a-tech-impostor/</guid><description>Before I even knew there was a term, I thought I was an impostor. Not in tech mind you, but in life. I was 11 years old. Over the summer I had visited my first Head Shop, ushered in by my older and ostensibly wiser cousin. I didn&amp;rsquo;t know what a bong was, or what all these dancing bears were about. The whole place stank of some unknown odor, which I would later be able to identify as a mélange of patchouli, sandalwood, and pot.</description></item><item><title>AzureStack on Azure - Part 3</title><link>https://nedinthecloud.com/2018/03/06/azurestack-on-azure-part-3/</link><image href="https://nedinthecloud.com/2018/03/06/azurestack-on-azure-part-3/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azure-stack, azurestack</media:keywords><pubDate>Tue, 06 Mar 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/03/06/azurestack-on-azure-part-3/</guid><description>In the last two parts we deployed an Azure Stack Development Kit on an Azure VM and got it registered with Azure. Then we created an Offer and Plan for the default user and started the download of marketplace items for use on Azure Stack. Now that those items have completed their download, we can move on to the process of installing the Resource Providers (RPs) for Microsoft SQL Server (MSSQL), MySQL Server, and the App Service.</description></item><item><title>AzureStack on Azure – Part 2</title><link>https://nedinthecloud.com/2018/02/28/azurestack-on-azure-part-2/</link><image href="https://nedinthecloud.com/2018/02/28/azurestack-on-azure-part-2/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azure-stack</media:keywords><pubDate>Wed, 28 Feb 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/02/28/azurestack-on-azure-part-2/</guid><description>Let the registering begin! So you&amp;rsquo;ve got a working Azure Stack on Azure, which is like some kind of crazy inception thing. But let&amp;rsquo;s be honest with each other, there&amp;rsquo;s not a whole lot to do on Azure Stack at this point. You could like provision a VNet, maybe set up some sweet Resource Groups, but if you want to do something useful - like create some VMs or deploy services - you&amp;rsquo;re going to want to register your Azure Stack with Azure and syndicate with the marketplace.</description></item><item><title>Docker Swarm on Azure for Docker Deep Dive</title><link>https://nedinthecloud.com/2018/02/22/docker-swarm-on-azure-for-docker-deep-dive/</link><image href="https://nedinthecloud.com/2018/02/22/docker-swarm-on-azure-for-docker-deep-dive/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, docker</media:keywords><pubDate>Thu, 22 Feb 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/02/22/docker-swarm-on-azure-for-docker-deep-dive/</guid><description>I&amp;rsquo;ve been working my way through the very excellent Docker Deep Dive book by Nigel Poulton. If you&amp;rsquo;ve been meaning to get into the whole Docker scene, this is the perfect book to get you started. Nigel doesn&amp;rsquo;t assume prior container knowledge, and he makes sure that the examples are cross platform and easily executed on your local laptop/desktop/whatever. That is, until you get to the section on Docker Swarm. Now instead of using a single Docker host, a la your local system, you now need six systems - three managers and three worker nodes.</description></item><item><title>Tortoise and Hare, "Software will devour us all!"</title><link>https://nedinthecloud.com/2018/02/17/tortoise-and-hare-software-will-devour-us-all/</link><image href="https://nedinthecloud.com/2018/02/17/tortoise-and-hare-software-will-devour-us-all/featured-image-nedinthecloud.jpg"/><category>general</category><category>rant</category><pubDate>Sat, 17 Feb 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/02/17/tortoise-and-hare-software-will-devour-us-all/</guid><description>Is Technology Moving Too Fast? Yes. Will It Slow Down? No.
As the spectre and meltdown drama continues to play itself out in the increasingly disdainful and disinterested public eye, a few things have come to my notice. The first is a post from The Math Citadel taking Intel and the IT field at large to task for having a fundamental design flaw in processor that is 20 years old. They posit that the ideas of &amp;ldquo;fail fast and fail often, the perfect is the enemy of the good, and just get something delivered&amp;rdquo; should be summarily rejected.</description></item><item><title>AzureStack on Azure - Part 1</title><link>https://nedinthecloud.com/2018/02/16/azurestack-on-azure-part-1/</link><image href="https://nedinthecloud.com/2018/02/16/azurestack-on-azure-part-1/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azure-stack, azurestack</media:keywords><pubDate>Fri, 16 Feb 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/02/16/azurestack-on-azure-part-1/</guid><description>With the introduction of Dv3 and Ev3 VMs in Microsoft Azure, it became possible to run nested virtualization on Azure. Since I&amp;rsquo;ve got Azure Stack on the brain these days, my immediate thought was, &amp;ldquo;I wonder if I can run Azure Stack on Azure?&amp;rdquo; (cue Inception music). Not only was the answer yes, but others had already started the process for me. Following in the footsteps of Daniel Neumann and Florent Appointaire, I was able to bet the process running.</description></item><item><title>Network Disaggregation Tsunamis</title><link>https://nedinthecloud.com/2018/02/14/network-disaggregation-tsunamis/</link><image href="https://nedinthecloud.com/2018/02/14/network-disaggregation-tsunamis/analysis.png"/><category>tech-analysis</category><pubDate>Wed, 14 Feb 2018 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2018/02/14/network-disaggregation-tsunamis/</guid><description>AT&amp;amp;T, a company that I generally unleash scorn upon for their cell phone service, has actually done something fairly interesting. On Jan 29th they announced that they would be releasing their dNOS (distributed network operating system) to the Linux Foundation. Now before you roll your eyes and quote Jessie Frazelle, who you should be following on Twitter and not one of the garbage Kardashians, I am aware that sometimes orgs donate their project to the Linux Foundation and leave itto languish and die in the hot and unforgiving light of the desert sun.</description></item><item><title>VMware on Azure - You're still doing it wrong</title><link>https://nedinthecloud.com/2017/11/30/vmware-on-azure-youre-still-doing-it-wrong/</link><image href="https://nedinthecloud.com/2017/11/30/vmware-on-azure-youre-still-doing-it-wrong/checkmark-circle.png"/><category>rant</category><category>tech-analysis</category><media:keywords>aws, azure, cloud, microsoft, nutanix, vmware</media:keywords><pubDate>Thu, 30 Nov 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/11/30/vmware-on-azure-youre-still-doing-it-wrong/</guid><description>Sigh. There&amp;rsquo;s an old adage that I always come back to. Just because you can do something, doesn&amp;rsquo;t mean that you should. In this case I am thinking about the recent announcement by Microsoft that Azure would be supporting bare metal deployments of VMware on Azure hardware. In case you&amp;rsquo;ve been living under a rock, AWS went GA with a very similar offering back in late August. Of course there are some specifics that differ, but the overall theme is the same.</description></item><item><title>VMware on AWS - You're doing it wrong</title><link>https://nedinthecloud.com/2017/09/27/vmware-on-aws-youre-doing-it-wrong/</link><image href="https://nedinthecloud.com/2017/09/27/vmware-on-aws-youre-doing-it-wrong/analysis.png"/><category>rant</category><category>tech-analysis</category><media:keywords>aws, cloud, vmware</media:keywords><pubDate>Wed, 27 Sep 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/09/27/vmware-on-aws-youre-doing-it-wrong/</guid><description>This is going to be a controversial post I am almost certain. Basically, I am going to argue that the whole premise behind running VMware on AWS is fundamentally flawed and not a viable strategy for those who are currently running VMware or for VMware itself as a company. Get your angry comments ready, here we go!
The genesis behind this was an innocent LinkedIn post I made. Before we dive into the topic, I want to level set a little.</description></item><item><title>What's in a Name?</title><link>https://nedinthecloud.com/2017/09/27/whats-in-a-name/</link><image href="https://nedinthecloud.com/2017/09/27/whats-in-a-name/featured-image-nedinthecloud.jpg"/><category>general</category><category>rant</category><pubDate>Wed, 27 Sep 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/09/27/whats-in-a-name/</guid><description>As the raging dumpster fire that is the Equifax breach continues to unfold, I find that I am thinking about identity and the way we use it in our modern life. Equifax was criminally negligent with information that was incredibly valuable to individuals. They should be penalized as an organization with fines and levies, and some of the individuals within the company who were responsible for the security of our data should face possible jail time.</description></item><item><title>Windows Hosts with Kubernetes - The Beginning</title><link>https://nedinthecloud.com/2017/08/24/windows-hosts-with-kubernetes-the-beginning/</link><image href="https://nedinthecloud.com/2017/08/24/windows-hosts-with-kubernetes-the-beginning/tutorials.png"/><category>tech-analysis</category><category>tech-tutorials</category><media:keywords>azure, containers, kubernetes, terraform</media:keywords><pubDate>Thu, 24 Aug 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/08/24/windows-hosts-with-kubernetes-the-beginning/</guid><description>Well, it wasn&amp;rsquo;t even close. As mentioned in my previous post, I am moving to a less hands on role, and I want to keep close to the technology. The concept of running Windows container hosts in a Kubernetes cluster fascinates me and it appears that I wasn&amp;rsquo;t alone. With 82% of the votes on my Twitter poll, it was the clear winner. Now I guess I actually need to start diving in, and by diving in, I mean reading docs.</description></item><item><title>Welcome Back Kotter</title><link>https://nedinthecloud.com/2017/08/19/welcome-back-kotter/</link><image href="https://nedinthecloud.com/2017/08/19/welcome-back-kotter/analysis.png"/><category>consulting</category><category>tech-analysis</category><pubDate>Sat, 19 Aug 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/08/19/welcome-back-kotter/</guid><description>You may have noticed a lapse in posts for that last few months. There&amp;rsquo;s a few reasons for that:
It&amp;rsquo;s summer, relax No don&amp;rsquo;t relax, cause you are writing a course for Pluralsight on Terraform And you got a promotion, which is a blessing and a curse Plus you&amp;rsquo;re now chasing around a 12 month old who is trying to chase your other two So yeah it&amp;rsquo;s been a little crazy and honestly blogging kinda fell off the table.</description></item><item><title>Adding Windows Server 2012 R2 Image to Azure Stack</title><link>https://nedinthecloud.com/2017/04/12/adding-windows-server-2012-r2-image-to-azure-stack/</link><image href="https://nedinthecloud.com/2017/04/12/adding-windows-server-2012-r2-image-to-azure-stack/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azure-stack, microsoft, powershell, scripting</media:keywords><pubDate>Wed, 12 Apr 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/04/12/adding-windows-server-2012-r2-image-to-azure-stack/</guid><description>In a previous post I covered how to add a Linux image to Azure Stack. In this post I am going to detail a simple (if slow) way of adding a Server 2012 R2 image to Azure Stack as well. With Azure Stack TP3 (original and extra-crispy) there are no default VM Images included in the install. You are prompted to download a Windows Server 2016 ISO as part of the Azure Stack POC download, and there is a script in the AzureStack.</description></item><item><title>Adding Linux Images to Azure Stack</title><link>https://nedinthecloud.com/2017/03/28/adding-linux-images-to-azure-stack/</link><image href="https://nedinthecloud.com/2017/03/28/adding-linux-images-to-azure-stack/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azure-stack, azurestack, powershell</media:keywords><pubDate>Tue, 28 Mar 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/03/28/adding-linux-images-to-azure-stack/</guid><description>If you are planning to add Linux Images to your Azure Stack deployment, first I would recommend reading through the documentation on the Azure Stack pages for Adding a VM Image and Using Custom Linux Images. From there you can get the base images and the process for adding the images to Azure Stack. What they don&amp;rsquo;t include is the Azure Cloud information for the various images, and if you would like to be able to use a JSON template against both Azure and Azure Stack without changing the image information, then you will want the publisher, offer, sku, and version to match.</description></item><item><title>Oh, The Places You'll Go</title><link>https://nedinthecloud.com/2017/03/17/oh-the-places-youll-go/</link><image href="https://nedinthecloud.com/2017/03/17/oh-the-places-youll-go/featured-image-nedinthecloud.jpg"/><category>consulting</category><pubDate>Fri, 17 Mar 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/03/17/oh-the-places-youll-go/</guid><description>You’ve got brains in your head… I think it&amp;rsquo;s fair to say that most of us have followed an interesting path to end up in IT. As you continue to progress, you may start considering what the next steps are in that path. Here are some of the questions to consider. FYI - this post was inspired by an excellent post that I absolutely cannot find and really wished I had bookmarked.</description></item><item><title>CICD Pipeline with Azure Stack – Part 4</title><link>https://nedinthecloud.com/2017/03/05/cicd-pipeline-with-azure-stack-part-4/</link><image href="https://nedinthecloud.com/2017/03/05/cicd-pipeline-with-azure-stack-part-4/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azure-resource-manager, azure-stack, azurestack, microsoft, powershell, scripting, tfs</media:keywords><pubDate>Sun, 05 Mar 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/03/05/cicd-pipeline-with-azure-stack-part-4/</guid><description>This is part 4 in a series. You can find part 1 here , part 2 here, and part 3 here.
First off, let me quell your anticipation. I got it working! It was not as straightforward as I might like, but it will work. If you haven&amp;rsquo;t already read post three, I would recommend doing so. The long and short of it is that the build task Azure Resource Group deployment in TFS doesn&amp;rsquo;t understand the Azure Stack environment.</description></item><item><title>Everything is Broken...Still</title><link>https://nedinthecloud.com/2017/03/03/everything-is-broken...still/</link><image href="https://nedinthecloud.com/2017/03/03/everything-is-broken...still/featured-image-nedinthecloud.jpg"/><category>consulting</category><media:keywords>aws</media:keywords><pubDate>Fri, 03 Mar 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/03/03/everything-is-broken...still/</guid><description>Earlier this week Amazon Web Service&amp;rsquo;s Simple Storage Service, better known as S3, was experiencing higher than normal error rates in the us-east-1 region, i.e. S3 was down. To put that into perspective, it also means that several high-profile websites and applications were experiencing major issues. As you may know, S3 has a 99.9% SLA uptime, and it&amp;rsquo;s been down for a couple hours now. I&amp;rsquo;m no math genius, but that&amp;rsquo;s more than the 44 minutes a 99.</description></item><item><title>CICD Pipeline with Azure Stack – Part 3</title><link>https://nedinthecloud.com/2017/02/17/cicd-pipeline-with-azure-stack-part-3/</link><image href="https://nedinthecloud.com/2017/02/17/cicd-pipeline-with-azure-stack-part-3/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azurestack, cicd, powershell, tfs</media:keywords><pubDate>Fri, 17 Feb 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/02/17/cicd-pipeline-with-azure-stack-part-3/</guid><description>This is part 3 in a series. You can find part 1 here and part 2 here. Part 4 is now available here.
As I mentioned in my previous post, I was &amp;ldquo;ready&amp;rdquo; to deploy my TFS deploy template to Azure Stack. And as predicted, the universe laughed at my funny plans. The deployment failed due to a required Windows Update on the target image. I didn&amp;rsquo;t run into this on Azure b/c the Windows Server 2012R2 image on Azure is more up to date than the one that ships with Azure Stack.</description></item><item><title>Dear Future HCI Partner</title><link>https://nedinthecloud.com/2017/02/14/dear-future-hci-partner/</link><image href="https://nedinthecloud.com/2017/02/14/dear-future-hci-partner/featured-image-nedinthecloud.jpg"/><category>general</category><category>rant</category><media:keywords>hci, hyperconverged, marketing</media:keywords><pubDate>Tue, 14 Feb 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/02/14/dear-future-hci-partner/</guid><description>If there&amp;rsquo;s one thing I wish HyperConverged Infrastructure (HCI) vendors would stop doing, it&amp;rsquo;s promising that the product will be up and running &amp;ldquo;in a matter of minutes&amp;rdquo;. First of all, it&amp;rsquo;s simply untrue. Second, it&amp;rsquo;s irresponsible and sets those of us deploying the hardware up for failure. When skewed perceptions intersect meaty reality, the deployment engineer is the first to be skewered. And you know what else?
I&amp;rsquo;m not speaking in a theoretical sense, but rather as someone who has deployed HCI solutions from four different vendors in the last six months.</description></item><item><title>Updating the Azure Stack 2012R2 Image</title><link>https://nedinthecloud.com/2017/02/07/updating-the-azure-stack-2012r2-image/</link><image href="https://nedinthecloud.com/2017/02/07/updating-the-azure-stack-2012r2-image/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure-stack, azurestack, microsoft, powershell, scripting</media:keywords><pubDate>Tue, 07 Feb 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/02/07/updating-the-azure-stack-2012r2-image/</guid><description>If you&amp;rsquo;ve started playing with Azure Stack, you might notice that the Windows Server 2012R2 image is a little behind on its Windows patches. Before you do any heavy duty testing, you&amp;rsquo;re going to want to update the image with the latest patches. This is a multi-step process:
Deploy an image to update Install all available Windows Updates (I&amp;rsquo;ve got a script for that!) Sysprep the machine to be a new image Locate the VHD file Update the image using the portal or PowerShell I&amp;rsquo;m not going to walk you through deploying a VM in Azure Stack, but I will recommend that you use the A2 size.</description></item><item><title>CICD Pipeline with Azure Stack – Part 2</title><link>https://nedinthecloud.com/2017/01/23/cicd-pipeline-with-azure-stack-part-2/</link><image href="https://nedinthecloud.com/2017/01/23/cicd-pipeline-with-azure-stack-part-2/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azurestack, cicd, powershell, tfs</media:keywords><pubDate>Mon, 23 Jan 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/01/23/cicd-pipeline-with-azure-stack-part-2/</guid><description>This is part 2 of an ongoing series on building a CICD pipeline in Azure Stack. You can find part 1 here, part 3 here, and part 4 here.
When I last left things, I had successfully installed TFS on a virtual machine in Azure. And I wrote the template in such a way that it could be deployed to Azure Stack as well. After completing that process, I started working through deploying an ARM template through TFS using an automated build process.</description></item><item><title>CICD Pipeline with Azure Stack - Part 1</title><link>https://nedinthecloud.com/2017/01/14/cicd-pipeline-with-azure-stack-part-1/</link><image href="https://nedinthecloud.com/2017/01/14/cicd-pipeline-with-azure-stack-part-1/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azurestack, cicd, powershell, tfs</media:keywords><pubDate>Sat, 14 Jan 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/01/14/cicd-pipeline-with-azure-stack-part-1/</guid><description>This is the first post in a series of getting a CICD pipeline working with Azure Stack. You can read part 2 here, part 3 here, and part 4 here.. I will add links to additional posts as they are created.
There are a few things that have been coming up a lot lately at work that I would like to dive into some more to get a better understanding. The first is Infrastructure as Code (IaC).</description></item><item><title>Installing Azure PowerShell on Server 2012 R2 using PowerShell</title><link>https://nedinthecloud.com/2017/01/07/installing-azure-powershell-on-server-2012-r2-using-powershell/</link><image href="https://nedinthecloud.com/2017/01/07/installing-azure-powershell-on-server-2012-r2-using-powershell/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azure-stack, powershell</media:keywords><pubDate>Sat, 07 Jan 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/01/07/installing-azure-powershell-on-server-2012-r2-using-powershell/</guid><description>Currently I am working on a project to create a CICD pipeline in Azure Stack. I am planning to use Team Foundation Server 2015, running on a virtual machine on Azure Stack. I want the installation of TFS to be automated using ARM templates and a CustomScript extension. (I would use DSC, but I feel I&amp;rsquo;ve shaved the yak enough already). The installer and configuration files are sitting in Azure Blob storage, and I want to be able to pull them from the Server 2012 R2 instance that will be running TFS.</description></item><item><title>Trends for 2017</title><link>https://nedinthecloud.com/2017/01/03/trends-for-2017/</link><image href="https://nedinthecloud.com/2017/01/03/trends-for-2017/featured-image-nedinthecloud.jpg"/><category>consulting</category><media:keywords>artificial-intelligence, aws, azure, hybrid-cloud, hyperconverged, machine-learning, predictions</media:keywords><pubDate>Tue, 03 Jan 2017 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2017/01/03/trends-for-2017/</guid><description>The end of 2016 is here, and I think many of us are breathing a sigh of relief. The year has not been kind to some, and has been described as a &amp;ldquo;dumpster fire&amp;rdquo; by others. On the whole, I actually think that 2016 was a pretty decent year, or at least no worse than most previous years. But I am a bit biased since my second daughter was born in June, and she is awesome!</description></item><item><title>System Recovery for an HPE HyperConverged 250 running VMware</title><link>https://nedinthecloud.com/2016/12/29/system-recovery-for-an-hpe-hyperconverged-250-running-vmware/</link><image href="https://nedinthecloud.com/2016/12/29/system-recovery-for-an-hpe-hyperconverged-250-running-vmware/tutorials.png"/><category>tech-tutorials</category><media:keywords>esxi, hc250, hci, hpe, hyperconverged, vmware</media:keywords><pubDate>Thu, 29 Dec 2016 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2016/12/29/system-recovery-for-an-hpe-hyperconverged-250-running-vmware/</guid><description>This is a technical post for someone trying to reset a node or an entire HC250 appliance running VMware. This is specific to the latest release of the recovery software for the HC250 running ESXi 6.0 update 2. If you have followed the directions for restoring the node which are included in the HPE Hyper Converged 250 System for VMware vSphere User Guide then you will have downloaded the necessary files and created a USB drive to perform the node reset.</description></item><item><title>Everything is Broken</title><link>https://nedinthecloud.com/2016/10/30/everything-is-broken/</link><image href="https://nedinthecloud.com/2016/10/30/everything-is-broken/featured-image-nedinthecloud.jpg"/><category>consulting</category><media:keywords>agile, cloud, microsoft</media:keywords><pubDate>Sun, 30 Oct 2016 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2016/10/30/everything-is-broken/</guid><description>Everything is Broken…
There&amp;rsquo;s more than one occasion where I have uttered the phrase, &amp;ldquo;Why can&amp;rsquo;t this just work?&amp;rdquo; Usually after battling it out with some piece of software that the marketing fluff described as &amp;ldquo;simple&amp;rdquo; and &amp;ldquo;easy-to-use&amp;rdquo; and turns out to be more like incredibly complex and completely undocumented. I want my technology to just work, but I also want it to be cutting-edge, infinitely configurable, and fully documented. Those who are familiar with the Project Management Triangle may realize that having all three is impossible.</description></item><item><title>Automating Snapshot Creation and Copying in AWS</title><link>https://nedinthecloud.com/2016/09/26/automating-snapshot-creation-and-copying-in-aws/</link><image href="https://nedinthecloud.com/2016/09/26/automating-snapshot-creation-and-copying-in-aws/tutorials.png"/><category>tech-tutorials</category><media:keywords>aws, disaster-recovery, powershell, scripting</media:keywords><pubDate>Mon, 26 Sep 2016 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2016/09/26/automating-snapshot-creation-and-copying-in-aws/</guid><description>Building IaaS in the cloud is becoming more popular. And part of building IaaS is providing some level of disaster recovery. After spending the last few weeks working in AWS, I realized that the toolsets I expected to exist just don&amp;rsquo;t. So what did I do? Scripted my own, or at least a start.
Coming from the world of Azure, I am used to the availability of what they call LRS (locally redundant storage) and GRS (globally redundant storage).</description></item><item><title>AutoScale Groups with Domain Join</title><link>https://nedinthecloud.com/2016/09/07/autoscale-groups-with-domain-join/</link><image href="https://nedinthecloud.com/2016/09/07/autoscale-groups-with-domain-join/tutorials.png"/><category>tech-tutorials</category><media:keywords>aws, cloudformation, powershell, windows</media:keywords><pubDate>Wed, 07 Sep 2016 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2016/09/07/autoscale-groups-with-domain-join/</guid><description>When it comes to AWS, it often feels like Windows is a second class citizen. I have been doing work in the Azure public cloud for a long time, where the situation is somewhat reversed. In AWS, the commands, assumptions, and example use cases are almost always in Linux with Windows as a bit of an after thought. I&amp;rsquo;ve been doing a lot of AWS work recently, and one of the things that came up was the ability to deploy AutoScale groups and Launch Configurations using CloudFormation.</description></item><item><title>Bridging the Digital Divide</title><link>https://nedinthecloud.com/2016/08/16/bridging-the-digital-divide/</link><image href="https://nedinthecloud.com/2016/08/16/bridging-the-digital-divide/cloud-header-image2.jpg"/><category>tech-tutorials</category><pubDate>Tue, 16 Aug 2016 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2016/08/16/bridging-the-digital-divide/</guid><description>There&amp;rsquo;s nothing I like more than talking tech with anyone who will listen, well except maybe actually doing the tech. But talking is pretty keen too. It&amp;rsquo;s a lot of fun to discuss the new technologies that are emerging, or listen to other&amp;rsquo;s experiences and issues. Talking tech is something that I think all technology professionals like to do, especially consultants. In the past, having an engrossing technical discussion could also lead to new business opportunities, as the technical leaders in the client&amp;rsquo;s organization were often the decision makers.</description></item><item><title>Burned Bridges</title><link>https://nedinthecloud.com/2016/08/11/burned-bridges/</link><image href="https://nedinthecloud.com/2016/08/11/burned-bridges/featured-image-nedinthecloud.jpg"/><category>consulting</category><pubDate>Thu, 11 Aug 2016 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2016/08/11/burned-bridges/</guid><description>There&amp;rsquo;s a really good Coalesce song called Burned Bridges, which The Get Up Kids covered. Both versions are awesome so go take a listen, I&amp;rsquo;ll wait.
The reason I bring it up is not just because it&amp;rsquo;s a good song, which it is, but because some people prefer to flame out and burn bridges. Recently, I heard that someone I worked with had put in their notice, which was probably a good idea.</description></item><item><title>Hyperconverged Infrastructure: The story so far</title><link>https://nedinthecloud.com/2016/08/04/hyperconverged-infrastructure-the-story-so-far/</link><image href="https://nedinthecloud.com/2016/08/04/hyperconverged-infrastructure-the-story-so-far/analysis.png"/><category>tech-analysis</category><media:keywords>hci, hpe, hyperconverged, nutanix, virtualization, vmware, vsan, vxrail</media:keywords><pubDate>Thu, 04 Aug 2016 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2016/08/04/hyperconverged-infrastructure-the-story-so-far/</guid><description>In case you&amp;rsquo;ve been living under a rock, you might have noticed that HyperConverged Infrastructure (HCI) is a fast-growing segment of the hardware market. At least that&amp;rsquo;s what all the marketing campaigns and analysts are saying. Gartner said earlier this year that the HCI market will grow to consume 24% of the integrated systems market by 2019. According to IDC, HCI systems made up 11.4% of integrated systems sales in Q42015 with a YoY growth of 170.</description></item><item><title>My Three Pillars</title><link>https://nedinthecloud.com/2016/07/28/my-three-pillars/</link><image href="https://nedinthecloud.com/2016/07/28/my-three-pillars/featured-image-nedinthecloud.jpg"/><category>consulting</category><pubDate>Thu, 28 Jul 2016 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2016/07/28/my-three-pillars/</guid><description>In the last six years I have been lucky enough in IT to be fairly successful and advance my career. Lately I&amp;rsquo;ve been reflecting on what I did right, and what I might change. In looking to the future and where my path is going, I find I have to look into the past and better understand how I got here. While there was no definitive five year plan, I think there were three pillars that served me faithfully to enable growth and advancement.</description></item><item><title>Options for Azure Migrations</title><link>https://nedinthecloud.com/2016/07/27/options-for-azure-migrations/</link><image href="https://nedinthecloud.com/2016/07/27/options-for-azure-migrations/tutorials.png"/><category>tech-tutorials</category><media:keywords>azure, azure-classic, azure-resource-manager, microsoft</media:keywords><pubDate>Wed, 27 Jul 2016 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2016/07/27/options-for-azure-migrations/</guid><description>There are two deployment models in Azure, the older being the Service Management model, aka classic mode. The newer model is Azure Resource Manager (ARM). For reasons that extend beyond this post, Microsoft is moving away from the classic mode and adopting ARM wherever possible. Up until a few months ago, the two models had not yet reached feature parity and so classic was still required for some deployments. At this point the two models are at feature parity, and in fact ARM has pulled ahead.</description></item><item><title>Write It Right</title><link>https://nedinthecloud.com/2016/07/20/write-it-right/</link><image href="https://nedinthecloud.com/2016/07/20/write-it-right/featured-image-nedinthecloud.jpg"/><category>consulting</category><pubDate>Wed, 20 Jul 2016 00:00:00 +0000</pubDate><guid>https://nedinthecloud.com/2016/07/20/write-it-right/</guid><description>One of the things that I found most surprising about working in technology, and consulting in particular, is the sheer amount of writing we have to do. When I think about it, on a daily basis I am writing emails, IMs, text messages, documentation, memos, blog entries, or even newsletter articles. You would think that working in technology would be all plugging in cables, configuring software, and running scripts. But instead each day is full of reading and writing.</description></item></channel></rss>