<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Automation on Youqing Han - DevOps Engineer</title>
    <link>https://hanyouqing.com/tags/automation/</link>
    <description>Recent content in Automation on Youqing Han - DevOps Engineer</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <managingEditor>ihanyouqing#gmail.com (#->@) (Youqing Han)</managingEditor>
    <webMaster>ihanyouqing#gmail.com (#->@) (Youqing Han)</webMaster>
    <lastBuildDate>Mon, 01 Sep 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://hanyouqing.com/tags/automation/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Complete macOS Development Environment Setup for SRE/DevOps Engineers</title>
      <link>https://hanyouqing.com/blog/2025/09/macos-devops-environment-setup/</link>
      <pubDate>Mon, 01 Sep 2025 00:00:00 +0000</pubDate><author>ihanyouqing#gmail.com (#->@) (Youqing Han)</author>
      <guid>https://hanyouqing.com/blog/2025/09/macos-devops-environment-setup/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;This guide is a synthesis of my personal configuration journey and best practices for SRE/DevOps engineers. It details how to set up a robust, reproducible macOS development environment, covering essential tools, configuration management, and automation strategies. The goal is to make environment setup painless, portable, and scalable—whether you’re starting over, joining a new team, or enabling seamless collaboration.&lt;/p&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;p&gt;Before we begin, ensure you have:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;macOS 12.0 (Monterey) or later&lt;/li&gt;&#xA;&lt;li&gt;Administrator access to your machine&lt;/li&gt;&#xA;&lt;li&gt;Basic familiarity with command line operations&lt;/li&gt;&#xA;&lt;li&gt;A GitHub account for configuration storage&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;core-development-tools&#34;&gt;Core Development Tools&lt;/h2&gt;&#xA;&lt;p&gt;Install required develop tools &amp;amp; Set update/upgrade&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building Scalable DevOps Infrastructure</title>
      <link>https://hanyouqing.com/blog/2025/08/building-scalable-devops-infrastructure/</link>
      <pubDate>Fri, 22 Aug 2025 00:00:00 +0000</pubDate><author>ihanyouqing#gmail.com (#->@) (Youqing Han)</author>
      <guid>https://hanyouqing.com/blog/2025/08/building-scalable-devops-infrastructure/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Building scalable DevOps infrastructure is crucial for organizations that want to grow efficiently while maintaining reliability and performance. In this comprehensive guide, we&amp;rsquo;ll explore the key principles, patterns, and technologies needed to create infrastructure that can scale from startup to enterprise.&lt;/p&gt;&#xA;&lt;h2 id=&#34;core-principles-of-scalable-infrastructure&#34;&gt;Core Principles of Scalable Infrastructure&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-infrastructure-as-code-iac&#34;&gt;1. Infrastructure as Code (IaC)&lt;/h3&gt;&#xA;&lt;p&gt;Infrastructure as Code is the foundation of scalable DevOps. It ensures consistency, repeatability, and version control for your infrastructure.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Complete Homelab Setup Guide with Proxmox VE</title>
      <link>https://hanyouqing.com/blog/2025/08/homelab-proxmox-ve-guide/</link>
      <pubDate>Fri, 22 Aug 2025 00:00:00 +0000</pubDate><author>ihanyouqing#gmail.com (#->@) (Youqing Han)</author>
      <guid>https://hanyouqing.com/blog/2025/08/homelab-proxmox-ve-guide/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Building a homelab is an excellent way to learn enterprise technologies, test configurations, and develop DevOps skills in a safe environment. Proxmox VE (Virtual Environment) offers a powerful, open-source platform for virtualization and containerization, ideal for creating a professional home lab setup.&lt;/p&gt;&#xA;&lt;p&gt;In this comprehensive guide, we&amp;rsquo;ll walk through designing and deploying a complete homelab environment using Proxmox VE, including network segmentation, automated backups, monitoring, and self-hosted services.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-proxmox-ve-for-homelab&#34;&gt;Why Proxmox VE for Homelab?&lt;/h2&gt;&#xA;&lt;p&gt;Proxmox VE offers several advantages for homelab enthusiasts and DevOps professionals:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Essential Automation Tools for DevOps Engineers</title>
      <link>https://hanyouqing.com/blog/2025/08/automation-tools/</link>
      <pubDate>Fri, 22 Aug 2025 00:00:00 +0000</pubDate><author>ihanyouqing#gmail.com (#->@) (Youqing Han)</author>
      <guid>https://hanyouqing.com/blog/2025/08/automation-tools/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;Automation is the cornerstone of modern DevOps practices. It enables teams to deploy faster, reduce errors, and focus on high-value work. In this comprehensive guide, we&amp;rsquo;ll explore the essential automation tools that every DevOps engineer should master.&lt;/p&gt;&#xA;&lt;h2 id=&#34;infrastructure-as-code-iac-tools&#34;&gt;Infrastructure as Code (IaC) Tools&lt;/h2&gt;&#xA;&lt;h3 id=&#34;terraform&#34;&gt;Terraform&lt;/h3&gt;&#xA;&lt;p&gt;Terraform is the leading IaC tool for cloud infrastructure management:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-hcl&#34; data-lang=&#34;hcl&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Example: AWS VPC with subnets&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;resource&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;aws_vpc&amp;#34; &amp;#34;main&amp;#34;&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;  cidr_block&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;10.0.0.0/16&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;  tags&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;    Name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;main-vpc&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;    Environment&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;var&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;environment&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;resource&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;aws_subnet&amp;#34; &amp;#34;public&amp;#34;&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;  vpc_id&lt;/span&gt;     &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;aws_vpc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;id&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;  cidr_block&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;10.0.1.0/24&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;  tags&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;    Name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;public-subnet&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;ansible&#34;&gt;Ansible&lt;/h3&gt;&#xA;&lt;p&gt;Ansible excels at configuration management and application deployment:&lt;/p&gt;</description>
    </item>
    <item>
      <title>DevOps Best Practices for 2024</title>
      <link>https://hanyouqing.com/blog/2024/08/devops-best-practices/</link>
      <pubDate>Thu, 22 Aug 2024 00:00:00 +0000</pubDate><author>ihanyouqing#gmail.com (#->@) (Youqing Han)</author>
      <guid>https://hanyouqing.com/blog/2024/08/devops-best-practices/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;DevOps has evolved significantly over the past decade, and 2024 brings new challenges and opportunities for DevOps engineers. In this comprehensive guide, we&amp;rsquo;ll explore the essential practices and tools that every DevOps engineer should master.&lt;/p&gt;&#xA;&lt;h2 id=&#34;infrastructure-as-code-iac&#34;&gt;Infrastructure as Code (IaC)&lt;/h2&gt;&#xA;&lt;p&gt;Infrastructure as Code has become the standard for managing cloud infrastructure. Here are the key tools and practices:&lt;/p&gt;&#xA;&lt;h3 id=&#34;terraform-best-practices&#34;&gt;Terraform Best Practices&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-hcl&#34; data-lang=&#34;hcl&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Example Terraform configuration&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;terraform&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;  required_version&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt; &amp;#34;&amp;gt;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;required_providers&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;    aws&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;      source&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;hashicorp/aws&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;      version&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;~&amp;gt; 5.0&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;resource&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;aws_vpc&amp;#34; &amp;#34;main&amp;#34;&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;  cidr_block&lt;/span&gt;           &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;10.0.0.0/16&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;  enable_dns_hostnames&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;  enable_dns_support&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;true&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;  tags&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;    Name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;main-vpc&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;    Environment&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;production&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;key-benefits-of-iac&#34;&gt;Key Benefits of IaC&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Version Control&lt;/strong&gt;: Track infrastructure changes in Git&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Consistency&lt;/strong&gt;: Eliminate configuration drift&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Automation&lt;/strong&gt;: Deploy infrastructure automatically&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Documentation&lt;/strong&gt;: Code serves as documentation&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;container-orchestration-with-kubernetes&#34;&gt;Container Orchestration with Kubernetes&lt;/h2&gt;&#xA;&lt;p&gt;Kubernetes has become the de facto standard for container orchestration. Here are some best practices:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
