<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Devops on Sander Knape</title>
    <link>https://sanderknape.com/tags/devops/</link>
    <description>Recent content in Devops on Sander Knape</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 20 Nov 2020 13:49:11 +0200</lastBuildDate>
    <atom:link href="https://sanderknape.com/tags/devops/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Nuances around centralized platform teams</title>
      <link>https://sanderknape.com/2020/11/nuances-around-centralized-platform-teams/</link>
      <pubDate>Fri, 20 Nov 2020 13:49:11 +0200</pubDate>
      <guid>https://sanderknape.com/2020/11/nuances-around-centralized-platform-teams/</guid>
      <description>&lt;p&gt;The popularity of centralized platform teams is rising. The latest &lt;a href=&#34;https://puppet.com/blog/2020-state-of-devops-report-is-here/&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Puppet State of DevOps Report&lt;/a&gt; shows that 63% of the respondents have at least one internal platform. Platforms are vital enablers for a more DevOps way of working as they provide self-service capabilities that development teams can autonomously utilize.&lt;/p&gt;&#xA;&lt;p&gt;The definition of a &amp;ldquo;platform&amp;rdquo; isn&amp;rsquo;t set in stone though. Many organizations still struggle to put together a platform team that is really able to add value to the development teams. It&amp;rsquo;s a challenge to build a team with the proper mindset and an organization that supports that team in the right way. The biggest challenges aren&amp;rsquo;t technical: it&amp;rsquo;s the organizational and cultural challenges that must be tackled to ensure such a team&amp;rsquo;s effectiveness.&lt;/p&gt;</description>
    </item>
    <item>
      <title>From toil to self-service: automate what matters</title>
      <link>https://sanderknape.com/2020/06/from-toil-self-service-automate-matters/</link>
      <pubDate>Mon, 22 Jun 2020 11:44:02 +0200</pubDate>
      <guid>https://sanderknape.com/2020/06/from-toil-self-service-automate-matters/</guid>
      <description>&lt;p&gt;There are a few reasons that I love my job. One of the most important ones is the variety of work. As a cloud/platform engineer, every day is different. Work goes from writing automation in some programming language, setting up a dashboard in a monitoring/logging tool, hardening Linux machines, writing Infrastructure as Code, building (standardized) CI/CD pipelines, giving workshops, analyzing costs, and more.&lt;/p&gt;&#xA;&lt;p&gt;This wide variety of work wouldn&amp;rsquo;t be possible without automation. You have more time to spend on all these things when manual, repetitive work is automated. SRE &lt;a href=&#34;https://landing.google.com/sre/sre-book/chapters/eliminating-toil/&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;defines toil&lt;/a&gt; as follows:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Five ways to enable developer autonomy in AWS</title>
      <link>https://sanderknape.com/2019/07/five-ways-enable-developer-autonomy-aws/</link>
      <pubDate>Tue, 23 Jul 2019 12:00:00 +0200</pubDate>
      <guid>https://sanderknape.com/2019/07/five-ways-enable-developer-autonomy-aws/</guid>
      <description>&lt;p&gt;It hasn&amp;rsquo;t been that long since it was normal to request compute capacity at some operations department within your organization. In fact, it&amp;rsquo;s probably still pretty common in some organizations. With the move to virtualization and especially the cloud, this process of course has changed dramatically for the good. Not only compute capacity for applications, but also resources such as databases, queues, load balancers and storage are now available virtually unlimited.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Improving Kubernetes deployments with Helm</title>
      <link>https://sanderknape.com/2019/03/improving-kubernetes-deployments-helm/</link>
      <pubDate>Fri, 15 Mar 2019 22:47:02 +0200</pubDate>
      <guid>https://sanderknape.com/2019/03/improving-kubernetes-deployments-helm/</guid>
      <description>&lt;p&gt;I recently blogged about &lt;a href=&#34;https://sanderknape.com/2019/02/automated-deployments-kubernetes-gitlab/&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;automated deployments to Kubernetes using GitLab&lt;/a&gt;. One of the steps required when automating deployments is replacing the Docker tag with the correct value in the Kubernetes Deployment. In that blog post, this looks like the following:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;deployment.yaml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;apiVersion&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;apps/v1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;kind&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;Deployment&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;metadata&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  [&lt;span style=&#34;color:#ae81ff&#34;&gt;...]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;spec&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;template&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;spec&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;containers&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;image&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;sanderknape/go-hello-world:&amp;lt;VERSION&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  [&lt;span style=&#34;color:#ae81ff&#34;&gt;...]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;&amp;lt;VERSION&amp;gt;&lt;/code&gt; string is then replaced in the GitLab pipeline as follows:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;sed -i &amp;quot;s/&amp;lt;VERSION&amp;gt;/${CI_COMMIT_SHORT_SHA}/g&amp;quot; deployment.yaml&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;This grabs the short SHA hash of the current Git commit that is checked out. Earlier in the pipeline, a Docker image has been built and tagged with that SHA, and pushed to a Docker registry.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Kubernetes Helm to push ConfigMap changes to your Deployments</title>
      <link>https://sanderknape.com/2019/03/kubernetes-helm-configmaps-changes-deployments/</link>
      <pubDate>Thu, 07 Mar 2019 08:47:02 +0200</pubDate>
      <guid>https://sanderknape.com/2019/03/kubernetes-helm-configmaps-changes-deployments/</guid>
      <description>&lt;p&gt;In recent years Kubernetes has quickly gained a lot of popularity and it currently has huge momentum. Adoption is rising while at the same time, new users find out the areas where Kubernetes is still lacking.&lt;/p&gt;&#xA;&lt;p&gt;One such area is the lifecycle management of application configuration. The construct in Kubernetes to store such configuration is the &lt;a href=&#34;https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ConfigMap&lt;/a&gt;. These ConfigMaps can be referenced from Pods or Deployments and the values can be injected to the container using environment variables or files through volumes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Multi-datacenter container orchestration with Nomad and Consul</title>
      <link>https://sanderknape.com/2016/08/nomad-consul-multi-datacenter-container-orchestration/</link>
      <pubDate>Fri, 26 Aug 2016 19:17:02 +0200</pubDate>
      <guid>https://sanderknape.com/2016/08/nomad-consul-multi-datacenter-container-orchestration/</guid>
      <description>&lt;p&gt;Nomad is a distributed, multi-datacenter scheduler for containers, virtual machines and more. It&amp;rsquo;s a tool from Hashicorp, the company that also brings us Consul, a service-discovery tool that allows you to register and discover services. With the latest big release of Nomad (version 0.4), integration with Consul is improved which promises to significantly simplify the creation of a (multi-datacenter) Nomad cluster. You can read more about this release on Hashicorp&amp;rsquo;s &lt;a href=&#34;https://www.hashicorp.com/blog/nomad-0-4.html#clustering&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;blog&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
