<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title> - Articles</title>
    <description>A blog containing the thoughts and ideas of me</description>
    <link>
    https://www.fearofoblivion.com</link>
    
      
      <item>
        <title>Using Managed Identities to access Azure SQL</title>
        
          <description>&lt;p&gt;Using managed identities to access SQL in Azure is a great way to up the security of your solution.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 11 Jan 2023 13:08:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/using-managed-identities-to-access-azure-sql</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/using-managed-identities-to-access-azure-sql</guid>
      </item>
      
    
      
      <item>
        <title>Running a Windows container with gMSA on a non-domain joined host</title>
        
          <description>&lt;p&gt;Using gMSA to let Windows containers run under a domain context can be really useful.&lt;/p&gt;

</description>
        
        <pubDate>Mon, 05 Dec 2022 10:08:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/running-a-windows-container-under-gmsa</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/running-a-windows-container-under-gmsa</guid>
      </item>
      
    
      
      <item>
        <title>Using dotnet runtime package stores to optimize your docker images</title>
        
          <description>&lt;p&gt;.NET offers a somewhat unknown feature called “runtime package stores”, which can be used to optimize your Docker images.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 09 Nov 2022 10:42:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/using-dotnet-runtime-package-stores-to-optimize-docker-images</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/using-dotnet-runtime-package-stores-to-optimize-docker-images</guid>
      </item>
      
    
      
      <item>
        <title>Build the modular monolith first</title>
        
          <description>&lt;p&gt;Even talking about building a monolith today, is a bit taboo. It is all about microservices at the moment, and has been for a few years. But they aren’t a silver bullet…&lt;/p&gt;

</description>
        
        <pubDate>Mon, 31 Oct 2022 08:42:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/build-a-modular-monolith-first</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/build-a-modular-monolith-first</guid>
      </item>
      
    
      
      <item>
        <title>Integration Testing ASP.NET Core APIs incl. auth and database</title>
        
          <description>&lt;p&gt;Automated tests are pretty awesome to be honest! They make life a lot simpler in many ways. And even if a lot of people are talking about how we need to do unit testing, I find integration testing much more valuable to be honest.&lt;/p&gt;

</description>
        
        <pubDate>Mon, 10 Oct 2022 12:02:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/asp-net-core-integration-testing</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/asp-net-core-integration-testing</guid>
      </item>
      
    
      
      <item>
        <title>Infrastructure as Code - An intro - Part 7 - &quot;Conclusion&quot;</title>
        
          <description>&lt;p&gt;I’ve finally come to the “conclusion” part of my blog series about infrastructure as code. The part I thought was going to be the easiest one to write…&lt;/p&gt;

</description>
        
        <pubDate>Thu, 09 Dec 2021 12:34:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/iac-an-intro-part-7</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/iac-an-intro-part-7</guid>
      </item>
      
    
      
      <item>
        <title>Infrastructure as Code - An intro - Part 6 - Using Pulumi</title>
        
          <description>&lt;p&gt;The 6th entry in my blog series about IaC is dedicated to Pulumi.&lt;/p&gt;

&lt;p&gt;Pulumi is a very different beast, compared to the previously covered technologies (&lt;a href=&quot;/iac-an-intro-part-3&quot;&gt;ARM&lt;/a&gt;, &lt;a href=&quot;/iac-an-intro-part-4&quot;&gt;Bicep&lt;/a&gt; and &lt;a href=&quot;/iac-an-intro-part-5&quot;&gt;Terraform&lt;/a&gt;), in that it is not based on a Domain Specific Language. Instead, Pulumi allows you to write your IaC in your language of choice. As long as your language of choice is JavaScript/TypeScript, Python, Go or .NET Core (C#, F# and VB). This makes the Pulumi experience a lot different from using a technology that uses a DSL (or JSON).&lt;/p&gt;

</description>
        
        <pubDate>Thu, 18 Nov 2021 14:50:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/iac-an-intro-part-6</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/iac-an-intro-part-6</guid>
      </item>
      
    
      
      <item>
        <title>Infrastructure as Code - An intro - Part 5 - Using Terraform</title>
        
          <description>&lt;p&gt;In this 5th entry in my IaC blog series, I want to talk about Terraform.&lt;/p&gt;

&lt;p&gt;Terraform is a bit different from ARM and Bicep, &lt;a href=&quot;/iac-an-intro-part-4&quot;&gt;which I covered in the previous post&lt;/a&gt;, as it isn’t Azure specific. Instead, it enables the user to deploy resources not only to Azure, but also to a lot of other clouds/systems. This makes it a  more flexible alternative that is very useful if you need to deploy a mix of resources, or potentially not target Azure at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; At the time of writing, there were 1515 different providers available for use with Terraform. For an up-to-date list, have a look at https://registry.terraform.io/browse/providers&lt;/p&gt;

&lt;h2 id=&quot;what-is-terraform&quot;&gt;What is Terraform&lt;/h2&gt;

&lt;p&gt;Terraform is one of several products from &lt;a href=&quot;https://www.hashicorp.com/&quot;&gt;HashiCorp&lt;/a&gt;. Most of them aim to help out with cloud native application development.&lt;/p&gt;

&lt;p&gt;In Terraform, resources are defined using the HashiCorp Configuration Language (HCL). By using this “neutral” language and depend on separate providers for resource provisioning and management, it can be used to target a very wide set of systems and clouds. And by making the provider implementation open for anyone to implement, it allows all kinds of vendors to provide Terraform users with custom functionality to target their specific environment.&lt;/p&gt;

&lt;p&gt;In the case of Azure, the Terraform provider is built on top of the Go SDK for Azure. This unfortunately means that there is often a delay between new features being released and Terraform offering support for them. The reason for this is that when a new feature is made available in the Azure API, the Go SDK must add support for it before someone can go ahead and add the feature to the Terraform provider. In a lot of cases, it isn’t a problem if you have to wait for a new feature for a few weeks, but I do find it worth mentioning if you are currently evaluating what IaC tool you should use.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 03 Nov 2021 16:01:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/iac-an-intro-part-5</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/iac-an-intro-part-5</guid>
      </item>
      
    
      
      <item>
        <title>Infrastructure as Code - An intro - Part 4 - Using Bicep</title>
        
          <description>&lt;p&gt;In the last &lt;a href=&quot;/iac-an-intro-part-3&quot;&gt;post&lt;/a&gt;, I talked about IaC using ARM templates. In this post, I’m looking at ARM templates’ “sibling” Bicep.&lt;/p&gt;

</description>
        
        <pubDate>Thu, 30 Sep 2021 15:07:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/iac-an-intro-part-4</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/iac-an-intro-part-4</guid>
      </item>
      
    
      
      <item>
        <title>Infrastructure as Code - An intro - Part 3 - Using ARM</title>
        
          <description>&lt;p&gt;In this 3rd post in my series about IaC, it is time to move away from the imperative approach, and start looking at doing it declaratively. And for that, I have decided to start off by looking at Azure ARM templates.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 22 Sep 2021 14:53:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/iac-an-intro-part-3</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/iac-an-intro-part-3</guid>
      </item>
      
    
      
      <item>
        <title>Infrastructure as Code - An intro - Part 2 - Using Azure CLI</title>
        
          <description>&lt;p&gt;As I mentioned in my previous &lt;a href=&quot;/iac-an-intro-part-1&quot;&gt;post&lt;/a&gt;, that there are a lot of tools out there for doing IaC. In this post, I want to show how to set up infrastructure in an imperative way using the Azure CLI.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 08 Sep 2021 14:07:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/iac-an-intro-part-2</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/iac-an-intro-part-2</guid>
      </item>
      
    
      
      <item>
        <title>Infrastructure as Code - An intro - Part 1</title>
        
          <description>&lt;p&gt;Infrastructure as Code is a really interesting concept! But what is it…really? Well, let’s have a look at it and see if we can’t make it less of a “sales pitch”. And maybe even make it a thing that you might want to have a look at for your next project! Or maybe even your current one…&lt;/p&gt;

</description>
        
        <pubDate>Thu, 02 Sep 2021 10:37:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/iac-an-intro-part-1</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/iac-an-intro-part-1</guid>
      </item>
      
    
      
      <item>
        <title>Setting up ASP.NET Core dev certs for both WSL and Windows</title>
        
          <description>&lt;p&gt;A while back, I wrote this &lt;a href=&quot;/setting-up-asp-net-dev-certs-for-wsl&quot;&gt;blog post&lt;/a&gt; about setting up ASP.NET Core dev certificates for both WSL and Windows. However, when running through the steps today, it didn’t work… So I decided to write an updated version that is a bit simpler, and works…&lt;/p&gt;

</description>
        
        <pubDate>Tue, 04 May 2021 13:13:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/setting-up-asp-net-dev-certs-for-both-wsl-and-windows</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/setting-up-asp-net-dev-certs-for-both-wsl-and-windows</guid>
      </item>
      
    
      
      <item>
        <title>Using initContainers in Kubernetes</title>
        
          <description>&lt;p&gt;I’ve been considering writing a post about Kubernetes &lt;strong&gt;initContainers&lt;/strong&gt; for a while, but for some reason I just haven’t gotten around to doing it… That’s about to change!&lt;/p&gt;

</description>
        
        <pubDate>Wed, 28 Apr 2021 15:31:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/Using-initContainers-in-Kubernetes</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/Using-initContainers-in-Kubernetes</guid>
      </item>
      
    
      
      <item>
        <title>Don&apos;t let Entity Framework call the shots</title>
        
          <description>&lt;p&gt;With .NET Core, Entity Framework is the default choice when it comes to database access. And even though it definitely is a powerful beast that can do alot of things, it is also slightly complicated to use to be honest. I guess that is the reason that I keep seeing these really weird “EF patterns” being used in different projects… Most of these annoying “patterns” involve people replicating the database in the C# code, or writing code to fit EF instead of the other way around.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 31 Mar 2021 15:31:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/dont-let-ef-call-the-shots</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/dont-let-ef-call-the-shots</guid>
      </item>
      
    
      
      <item>
        <title>Azure Private Endpoints, Service Endpoints etc</title>
        
          <description>&lt;p&gt;There are quite a few things you need/should know when you start considering putting you Web App “into” your VNet. Or any Azure service for that matter… In my last post, &lt;a href=&quot;/Securing-Azure-Web-Apps-using-Application-Gateways-and-vNets&quot;&gt;Securing Azure Web Apps using Application Gateways and vNets&lt;/a&gt;, I explained how to set up a Web App behind an Application Gateway using Private Endpoints. However, there were so many things that I felt didn’t quite fit into that post. So I decided to write a more generic post on the topic.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 24 Mar 2021 14:48:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/Azure-Private-Endpoints-Service-Endpoints-etc</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/Azure-Private-Endpoints-Service-Endpoints-etc</guid>
      </item>
      
    
      
      <item>
        <title>Securing Azure Web Apps using Application Gateways and vNets</title>
        
          <description>&lt;p&gt;For the last many years, I have used Azure to run pretty much all of the workloads I have built. And deploying applications to Azure Web Apps has been an extremely common thing. However, I was recently tasked with hosting a few web apps on a vNet behind an Application Gateway. A task that didn’t seem too hard, but was made a bit complicated due to poor documentation… At least the documentation I found… So I thought I would document it in a blog post in case anyone else needed to do the same thing.&lt;/p&gt;

</description>
        
        <pubDate>Fri, 05 Mar 2021 15:12:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/Securing-Azure-Web-Apps-using-Application-Gateways-and-vNets</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/Securing-Azure-Web-Apps-using-Application-Gateways-and-vNets</guid>
      </item>
      
    
      
      <item>
        <title>Using SSH with multiple identities / certificates</title>
        
          <description>&lt;p&gt;A while back,I decided to start using SSH for all my GIT repos. However, being a consultant, I end up being involved in a lot of different repos, for a lot of different customers. And on top of that, I sometimes write code on my spare time as well. This causes a bit of a problem when it comes to SSH. So I decided to write a a post about how you solve it. It might be obvious to a lot of people, but it might also help someone with the same problem. If nothing else, it will help me when I forget in the future…&lt;/p&gt;

</description>
        
        <pubDate>Sat, 05 Dec 2020 13:27:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/Using-ssh-with-multiple-identities</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/Using-ssh-with-multiple-identities</guid>
      </item>
      
    
      
      <item>
        <title>Understanding cross platform .NET, and why .NET 5 is important</title>
        
          <description>&lt;p&gt;In the beginning there was .NET Framework, and it was all very simple. But then, over time, it grew and grew, and became a lot more complicated. So, let’s have a look at how it all fits together…ish, and how current and future versions try to make life simpler for us developers.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 21 Oct 2020 13:27:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/understanding-cross-platform-NET-and-why-NET-5-is-important</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/understanding-cross-platform-NET-and-why-NET-5-is-important</guid>
      </item>
      
    
      
      <item>
        <title>Getting started with K8s HPA &amp; AKS Cluster Autoscaler</title>
        
          <description>&lt;p&gt;Kubernetes comes with this cool feature called the Horizontal Pod Autoscaler (HPA). It allows you to scale your pods automatically depending on demand. On top of that, the Azure Kubernetes Service (AKS) offers automatic cluster scaling that makes managing the size of your cluster a lot easier.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 14 Oct 2020 14:31:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/getting-started-with-k8s-hpa-and-aks-cluster-autoscaler</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/getting-started-with-k8s-hpa-and-aks-cluster-autoscaler</guid>
      </item>
      
    
      
      <item>
        <title>Getting ASP.NET Core dev certs working in both WSL and Windows</title>
        
          <description>&lt;p&gt;I recently re-installed my development machine for different reasons, and as part of that, I decided that I was going to use Visual Studio Code and the &lt;em&gt;Remote - WSL&lt;/em&gt; extension to do my development in Linux for a while.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 30 Sep 2020 12:31:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/setting-up-asp-net-dev-certs-for-wsl</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/setting-up-asp-net-dev-certs-for-wsl</guid>
      </item>
      
    
      
      <item>
        <title>Spinning up Azure Container Instances using the Docker CLI</title>
        
          <description>&lt;p&gt;The Docker CLI has recently added support for running Docker containers using cloud providers. More specifically using Azure Container Instances and Amazon ECS. This seems like a really cool addition to the CLI, so obviously it has to be tried out and blogged about!&lt;/p&gt;

</description>
        
        <pubDate>Wed, 23 Sep 2020 13:31:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/running-containers-in-azure-container-instances-using-docker-cli</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/running-containers-in-azure-container-instances-using-docker-cli</guid>
      </item>
      
    
      
      <item>
        <title>Managing Azure DNS using Kubernetes CRDs</title>
        
          <description>&lt;p&gt;In my &lt;a href=&quot;/intro-to-kubernetes-custom-resource-definitions-or-crds&quot;&gt;last post&lt;/a&gt;, I talked about Kubernetes Custom Resource Definitions, or CRDs. It was a fairly high-level intro with some code attached, which I guess could be useful. But to show something that shows that CRDs can be really useful, I decided to build a POC of how to use Kubernetes CRDs together with some .NET Core code and Azure to enable management of Azure DNS records using K8s resources.&lt;/p&gt;

</description>
        
        <pubDate>Tue, 30 Jun 2020 15:07:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/managing-azure-dns-using-kubernetes-crd</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/managing-azure-dns-using-kubernetes-crd</guid>
      </item>
      
    
      
      <item>
        <title>Intro to Kubernetes Custom Resource Definitions or CRDs</title>
        
          <description>&lt;p&gt;After having done a couple of Kubernetes-based projects, I still haven’t had time to dive into Kubernetes Custom Resource Definitions, or CRDs, properly. Because of this, I decided to play around with them a little outside of a real project to see what they are, and how I might be able to use them in future projects.&lt;/p&gt;

</description>
        
        <pubDate>Thu, 14 May 2020 15:49:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/intro-to-kubernetes-custom-resource-definitions-or-crds</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/intro-to-kubernetes-custom-resource-definitions-or-crds</guid>
      </item>
      
    
      
      <item>
        <title>Assigning Azure managed identities to pods in AKS</title>
        
          <description>&lt;p&gt;As the title says, this post will cover how you can assign managed identities to your pods when running in Azure Kubernetes Service (AKS). But before we get started, let’s have a quick look at what a managed identity is.&lt;/p&gt;

</description>
        
        <pubDate>Thu, 14 May 2020 15:49:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/assigning-azure-managed-identities-to-aks-pods</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/assigning-azure-managed-identities-to-aks-pods</guid>
      </item>
      
    
      
      <item>
        <title>Yet Another Kubernetes Intro - Part 9 - Ingress, Dashboard and extras</title>
        
          <description>&lt;p&gt;So…it is finally time for the last installment in my introduction to Kubernetes. So far, we have gone through &lt;a href=&quot;/yet-another-kubernetes-intro-part-1&quot;&gt;what it is&lt;/a&gt;, &lt;a href=&quot;/yet-another-kubernetes-intro-part-2&quot;&gt;Pods&lt;/a&gt;, &lt;a href=&quot;/yet-another-kubernetes-intro-part-3&quot;&gt;ReplicaSets and labels&lt;/a&gt;, &lt;a href=&quot;/yet-another-kubernetes-intro-part-4&quot;&gt;Services&lt;/a&gt;, &lt;a href=&quot;/yet-another-kubernetes-intro-part-5&quot;&gt;Deployments&lt;/a&gt;, &lt;a href=&quot;/yet-another-kubernetes-intro-part-6&quot;&gt;configuration&lt;/a&gt;, &lt;a href=&quot;/yet-another-kubernetes-intro-part-7&quot;&gt;storage&lt;/a&gt;storage and &lt;a href=&quot;/yet-another-kubernetes-intro-part-8&quot;&gt;namespaces and RBAC&lt;/a&gt;namespaces and RBAC. That is a &lt;em&gt;lot&lt;/em&gt; or information! But wait, there is more!&lt;/p&gt;

</description>
        
        <pubDate>Tue, 05 May 2020 16:12:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-9</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-9</guid>
      </item>
      
    
      
      <item>
        <title>Yet Another Kubernetes Intro - Part 8 - Namespaces &amp; Access Control</title>
        
          <description>&lt;p&gt;I’m down to what I think is the second to last post in my introduction to Kubernetes series. Up until the &lt;a href=&quot;/yet-another-kubernetes-intro-part-7&quot;&gt;last post about storage&lt;/a&gt;, I think I had a pretty ok connection between the posts. However, I should maybe have planned the posts a bit better, because this one did unfortunately become a little disjointed as it covers two pretty separate things. I’m sorry about that, but it is pretty useful information.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 22 Apr 2020 12:09:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-8</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-8</guid>
      </item>
      
    
      
      <item>
        <title>Yet Another Kubernetes Intro - Part 7 - Storage</title>
        
          <description>&lt;p&gt;It’s time for part 7 in my introduction to Kubernetes. In the &lt;a href=&quot;/yet-another-kubernetes-intro-part-6&quot;&gt;previous post&lt;/a&gt;, I talked about configuration. This time, it is all about storage!&lt;/p&gt;

</description>
        
        <pubDate>Fri, 14 Feb 2020 15:14:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-7</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-7</guid>
      </item>
      
    
      
      <item>
        <title>Yet Another Kubernetes Intro - Part 6 - Configuration</title>
        
          <description>&lt;p&gt;I have reached the 6th part of my introduction to Kubernetes, and so far we have covered a LOT of things. But there is still a few things left to cover.&lt;/p&gt;

</description>
        
        <pubDate>Fri, 14 Feb 2020 15:14:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-6</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-6</guid>
      </item>
      
    
      
      <item>
        <title>Yet Another Kubernetes Intro - Part 5 - Deployments</title>
        
          <description>&lt;p&gt;It is time to have a look at the last pod management related resource type in Kubernetes, the &lt;strong&gt;Deployment&lt;/strong&gt;. In &lt;a href=&quot;/yet-another-kubernetes-intro-part-3&quot;&gt;part 3&lt;/a&gt; I talked about using ReplicaSets to run multiple pods in our cluster, which is all nice and dandy until you want to update the service you are running. With pure RSs, this can get a bit complicated…&lt;/p&gt;

</description>
        
        <pubDate>Sun, 02 Feb 2020 17:22:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-5</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-5</guid>
      </item>
      
    
      
      <item>
        <title>Yet Another Kubernetes Intro - Part 4 - Services</title>
        
          <description>&lt;p&gt;Ok… So far in this series I have covered &lt;a href=&quot;/yet-another-kubernetes-intro-part-1&quot;&gt;“What is Kubernetes?”&lt;/a&gt;, &lt;a href=&quot;/yet-another-kubernetes-intro-part-2&quot;&gt;Pods&lt;/a&gt; and &lt;a href=&quot;/yet-another-kubernetes-intro-part-3&quot;&gt;ReplicaSets&lt;/a&gt;. This means that we should be able to get a basic Kubernetes cluster up and running (at least locally using Docker for Dektop), be able to define our pods, and finally get them up and running in a replicated manner using ReplicaSets. So that is kind of cool. However, we still haven’t covered any form of communication with, or between the pods. Except for doing port forwarding using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;kubectl port-forward&lt;/code&gt;.&lt;/p&gt;

</description>
        
        <pubDate>Tue, 21 Jan 2020 17:22:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-4</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-4</guid>
      </item>
      
    
      
      <item>
        <title>Yet Another Kubernetes Intro - Part 3 - ReplicaSets and Labels</title>
        
          <description>&lt;p&gt;In my &lt;a href=&quot;/yet-another-kubernetes-intro-part-2&quot;&gt;last post&lt;/a&gt;, I covered pods. However, I also mentioned that I was a little bit torn about covering pods, and especially the creation of pods. The main reason for this is that we generally do not create pods on their own. There isn’t really anything wrong with creating pods manually as we did in the previous post. However, in doing so, we are missing out on a bit stuff when it comes to the functionality that Kubernetes offers us.&lt;/p&gt;

</description>
        
        <pubDate>Mon, 13 Jan 2020 09:13:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-3</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-3</guid>
      </item>
      
    
      
      <item>
        <title>Yet Another Kubernetes Intro - Part 2 - The Pod</title>
        
          <description>&lt;p&gt;In the &lt;a href=&quot;/yet-another-kubernetes-intro-part-1&quot;&gt;previous post&lt;/a&gt;, I gave a very high level overview of the Kubernetes landscape. Now it is time to go a little deeper, become a bit more practical, and look at some of the building blocks that we use when we build applications that run in Kubernetes.&lt;/p&gt;

</description>
        
        <pubDate>Thu, 05 Dec 2019 11:03:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-2</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-2</guid>
      </item>
      
    
      
      <item>
        <title>Yet Another Kubernetes Intro - Part 1 - What is it?</title>
        
          <description>&lt;p&gt;I’ve spent quite a bit of time trying to learn and understand Kubernetes. And in doing so, I have used numerous different resources on the interwebs to try and make sense of everything. However, no single resource could tell me all the things I wanted/needed to know in a useful way. Instead I ended up Googling quite a bit.&lt;/p&gt;

</description>
        
        <pubDate>Fri, 29 Nov 2019 12:00:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-1</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/yet-another-kubernetes-intro-part-1</guid>
      </item>
      
    
      
      <item>
        <title>Slow Docker commands on domain joined PC</title>
        
          <description>&lt;p&gt;I recently joined a new company and as part of that I got a new laptop. Normally that just means installing the things I need, and I’m good to go. However, this time I started having issues with Docker for Desktop…&lt;/p&gt;

</description>
        
        <pubDate>Tue, 20 Aug 2019 09:30:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/slow-docker-commands-on-domain-joined-pc</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/slow-docker-commands-on-domain-joined-pc</guid>
      </item>
      
    
      
      <item>
        <title>New blog</title>
        
          <description>&lt;p&gt;Ok, I have finally gotten my act together and set up a new blog. The old one was based on &lt;a href=&quot;https://blogengine.io/&quot; target=&quot;_blank&quot;&gt;BlogEngine.NET&lt;/a&gt;, which was really good to be honest. But it was getting old, and I needed to update it, so I decided to go for a new one instead. And after a bit of research I decided to go for a GitHub Pages based blog, using a custom theme.&lt;/p&gt;

</description>
        
        <pubDate>Tue, 20 Aug 2019 09:30:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/new-blog</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/new-blog</guid>
      </item>
      
    
      
      <item>
        <title>Versioning ASP.NET Core HTTP APIs using the Accept header</title>
        
          <description>&lt;p&gt;For some reason, I have spent a couple of days thinking about versioning HTTP based APIs. Actually, the reason is that I have a client who is using quite a lot of HTTP based APIs, but in a way that I find less than perfect. I’m not blaming them in any way, as it is the result of growing an application over many years, using many different forms of Microsoft tech, and continuously focusing on delivering features to users instead of building a maintainable system. Currently their application uses ASP.NET WebForms, ASP.NET Core MVC, asmx webservices, WCF webservices, Silverlight, Angular etc, which is what happens in quite a lot of cases over time.&lt;/p&gt;

</description>
        
        <pubDate>Tue, 25 Jun 2019 10:00:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/versioning-asp-net-core-api-using-header</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/versioning-asp-net-core-api-using-header</guid>
      </item>
      
    
      
      <item>
        <title>Using Azure Files with Azure Container Services and Docker volumes</title>
        
          <description>&lt;p&gt;As a continuation to my &lt;a href=&quot;/a-brief-look-at-azure-container-service&quot;&gt;last post&lt;/a&gt; about setting up an Azure Container Service, I thought it might be a good idea to have a look at persistent storage for the containers. Even if I prefer “outsourcing” my storage to external services, having persistent storage can be really useful in some cases.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 20 Sep 2017 11:30:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/using-azure-files-with-acs-and-docker-volumes</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/using-azure-files-with-acs-and-docker-volumes</guid>
      </item>
      
    
      
      <item>
        <title>A brief look at Azure Container Service</title>
        
          <description>&lt;p&gt;Yesterday I had a couple of hours left over as I was on a train on the way to do a presentation. So I thought i would play around a little with the Azure Container Service. Seeing that I have gotten hooked on Docker, having the ability to spin up a Docker cluster while on the train using just my mobile phone for the connection, seems like a really cool thing. I guess normal people read books and watch Netflix on the train. Me…I spin up 5 Docker clusters…&lt;/p&gt;

</description>
        
        <pubDate>Wed, 20 Sep 2017 11:30:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/a-brief-look-at-azure-container-service</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/a-brief-look-at-azure-container-service</guid>
      </item>
      
    
      
      <item>
        <title>My intro to Docker - Part 5 of 5</title>
        
          <description>&lt;p&gt;In the previous posts, I have talked about everything from what Docker is, to how you can set up a stack of containers using docker-compose, but all of the posts have been about setting up containers on a single machine. Something that can be really useful, but imagine being able to deploy your containers just as easily to a cluster of machines. That would be awesome!&lt;/p&gt;

</description>
        
        <pubDate>Mon, 18 Sep 2017 11:30:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/my-intro-to-docker-part-5-of-5</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/my-intro-to-docker-part-5-of-5</guid>
      </item>
      
    
      
      <item>
        <title>My intro to Docker - Part 4 of 5</title>
        
          <description>&lt;p&gt;In the previous posts about Docker, &lt;a href=&quot;/my-intro-to-docker-part-1-of-5&quot;&gt;here&lt;/a&gt;, &lt;a href=&quot;/my-intro-to-docker-part-2-of-5&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;/my-intro-to-docker-part-3-of-5&quot;&gt;here&lt;/a&gt;, we’ve looked at what Docker is, how to set up a basic container and how to set up a stack of containers using docker-compose. One thing we haven’t talked about is the fact that most projects use some form of persistent data store, and the most common store, at least in my world, is a relational database of some sort. So this time, I want to cover something that might seem slightly odd…setting up an MS SQL Server…on Linux…in Docker.&lt;/p&gt;

</description>
        
        <pubDate>Wed, 30 Aug 2017 09:30:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/my-intro-to-docker-part-4-of-5</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/my-intro-to-docker-part-4-of-5</guid>
      </item>
      
    
      
      <item>
        <title>My intro to Docker - Part 3 of 5</title>
        
          <description>&lt;p&gt;So far in this little blog series about Docker, I have covered what Docker is, how it works, how to get a container up and running using pre-built images, as well as your own images. But so far, it has all been about setting up a single container with some form of application running inside it. What if we have a more complicated scenario? What if we have a couple of different things we want to run together? Maybe we want to run our ASP.NET Core app that we built in the previous post behind an nginx instance instead of exposing the Kestrel server to the internet… Well, obviously Docker has us covered.&lt;/p&gt;

</description>
        
        <pubDate>Fri, 25 Aug 2017 09:30:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/my-intro-to-docker-part-3-of-5</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/my-intro-to-docker-part-3-of-5</guid>
      </item>
      
    
      
      <item>
        <title>My intro to Docker - Part 2 of 5</title>
        
          <description>&lt;p&gt;In the &lt;a href=&quot;/my-intro-to-docker-part-1-of-5&quot;&gt;previous post&lt;/a&gt;, I talked a bit about what Docker is, how it works, and so on. And I even got to the point of showing how you can create and start containers using existing images from Docker Hub. However, just downloading images and running containers like that, is not very useful. Sure, as a Microsoft dev, it’s kind of cool to start up a Linux container and try out some leet Linux commands in bash. But other than that it is a little limiting. So I thought I would have a look at the next steps involved in making this and actually useful thing…&lt;/p&gt;

</description>
        
        <pubDate>Thu, 24 Aug 2017 09:30:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/my-intro-to-docker-part-2-of-5</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/my-intro-to-docker-part-2-of-5</guid>
      </item>
      
    
      
      <item>
        <title>My intro to Docker - Part 1 of 5</title>
        
          <description>&lt;p&gt;It’s been quite a while since I blogged, and there are several reasons for this. First of all, I haven’t really had the time, but I also haven’t really found a topic that I feel passionate enough about to blog about. But having played around with Docker, I now have! So I thought I would jot down some stuff about Docker… If nothing else, it gives me a away to come back to what I used to know when I have forgotten all of it again…&lt;/p&gt;

</description>
        
        <pubDate>Tue, 22 Aug 2017 09:30:00 +0000</pubDate>
        <link>
        https://www.fearofoblivion.com/my-intro-to-docker-part-1-of-5</link>
        <guid isPermaLink="true">https://www.fearofoblivion.com/my-intro-to-docker-part-1-of-5</guid>
      </item>
      
    
  </channel>
</rss>
