<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Devops - Category - IT Guy Journals</title>
        <link>https://www.itguyjournals.com/categories/devops/</link>
        <description>Devops - Category - IT Guy Journals</description>
        <generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>luka.krapic@gmail.com (Luka Krapić)</managingEditor>
            <webMaster>luka.krapic@gmail.com (Luka Krapić)</webMaster><lastBuildDate>Tue, 05 Aug 2025 15:25:19 &#43;0100</lastBuildDate><atom:link href="https://www.itguyjournals.com/categories/devops/" rel="self" type="application/rss+xml" /><item>
    <title>Installing Cilium and Multus on Talos OS for Advanced Kubernetes Networking</title>
    <link>https://www.itguyjournals.com/installing-cilium-and-multus-on-talos-os-for-advanced-kubernetes-networking/</link>
    <pubDate>Tue, 05 Aug 2025 15:25:19 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/installing-cilium-and-multus-on-talos-os-for-advanced-kubernetes-networking/</guid>
    <description><![CDATA[<p>In a <a href="../deploying-ha-kubernetes-cluster-with-proxmox-terraform-and-talos-os/" rel="">previous article</a>, we explored deploying a highly available Kubernetes cluster using Talos OS, running on Proxmox and automated with Terraform. That setup provided a clean, immutable base for Kubernetes. However, its default networking stack—based on Flannel and kube-proxy—offers limited capabilities when it comes to modern network observability, performance tuning, or multi-interface pods.</p>
<p>In this guide, we’ll walk through installing <strong>Cilium</strong> as the primary CNI and <strong>Multus</strong> as a secondary CNI meta-plugin on Talos OS. This combination introduces support for advanced features such as <strong>eBPF-powered</strong> networking, per-pod visibility, and attaching pods to multiple physical or logical networks.</p>]]></description>
</item>
<item>
    <title>Deploying a Highly Available Kubernetes Cluster on Proxmox with Terraform and Talos OS</title>
    <link>https://www.itguyjournals.com/deploying-ha-kubernetes-cluster-with-proxmox-terraform-and-talos-os/</link>
    <pubDate>Sat, 02 Aug 2025 12:05:21 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/deploying-ha-kubernetes-cluster-with-proxmox-terraform-and-talos-os/</guid>
    <description><![CDATA[<p>A highly available Kubernetes cluster in a homelab setup creates opportunities to test distributed systems, automation, and failure recovery under real-world conditions. This guide walks through one approach to building such a cluster using <strong>Proxmox</strong> for virtualization, <strong>Terraform</strong> for provisioning, and <strong>Talos OS</strong> for running the Kubernetes nodes.</p>
<p>This setup provides declarative infrastructure and immutable operating systems, eliminating the need for traditional Linux administration—no SSH, no shell, and no drifting configuration. The result is a consistent, secure, and maintainable cluster architecture suitable for long-term experimentation or light production use.</p>]]></description>
</item>
<item>
    <title>How Telemetry Systems Evolve with Infrastructure: Example Architectures from Startup to Enterprise</title>
    <link>https://www.itguyjournals.com/how-telemetry-systems-evolve-with-infrastructure/</link>
    <pubDate>Sun, 20 Jul 2025 13:44:59 &#43;0200</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/how-telemetry-systems-evolve-with-infrastructure/</guid>
    <description><![CDATA[<p>In <a href="../introduction-to-telemetry-systems/" rel="">our previous post</a>, we introduced the fundamentals of telemetry—covering logs, metrics, traces, and security monitoring. In this follow-up, we’re shifting from theory to practice: what do telemetry stacks actually look like in real-world environments?</p>
<p>The answer depends heavily on infrastructure. In reality, <strong>infrastructure decisions come first</strong>, and the telemetry stack adapts to support what’s already in place—not the other way around. Observability evolves as a response to growing scale, complexity, and operational maturity.</p>]]></description>
</item>
<item>
    <title>Structured Logging in Python</title>
    <link>https://www.itguyjournals.com/structured-logging-in-python/</link>
    <pubDate>Sat, 21 Jun 2025 17:50:06 &#43;0200</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/structured-logging-in-python/</guid>
    <description><![CDATA[<p>In modern DevOps workflows, observability plays an important role. Operating distributed systems often depends on telemetry data, including metrics, traces, and logs. Logs are frequently a detailed source of information during troubleshooting. Traditional unstructured log messages, written as free-form text, can make it difficult to extract useful information automatically.</p>
<p>Structured logging organizes log data into a consistent, machine-readable format. For a primer on telemetry systems and observability fundamentals, see the blog post <a href="../introduction-to-telemetry-systems" rel="">Introduction to Telemetry Systems</a>.</p>]]></description>
</item>
<item>
    <title>Introduction to Telemetry Systems: The Backbone of Observability</title>
    <link>https://www.itguyjournals.com/introduction-to-telemetry-systems/</link>
    <pubDate>Sat, 31 May 2025 12:31:42 &#43;0200</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/introduction-to-telemetry-systems/</guid>
    <description><![CDATA[<p>Modern software systems are complex, distributed, and constantly evolving. Whether you&rsquo;re deploying microservices in Kubernetes or managing legacy systems in the cloud, one truth holds: you need visibility. That’s where telemetry systems come in. They provide the data and structure needed to observe, understand, and operate IT systems with confidence.</p>
<p>In this post, we’ll explore the fundamentals of telemetry systems, how they work, the types of data they handle, and why they’re indispensable for achieving observability.</p>]]></description>
</item>
<item>
    <title>Building a Portable FastAPI Backend for AWS Lambda and ECS Using Terraform</title>
    <link>https://www.itguyjournals.com/building-fastapi-backend-for-aws-lambda-and-ecs-using-terraform/</link>
    <pubDate>Fri, 02 May 2025 20:59:24 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/building-fastapi-backend-for-aws-lambda-and-ecs-using-terraform/</guid>
    <description><![CDATA[<p>In the <a href="../building-backend-apis-with-fastapi-on-aws-lambda" rel="">previous post</a>, we explored how to deploy a FastAPI application on AWS Lambda using an ASGI adapter. This is a great option for early-stage projects: it requires zero infrastructure management, supports rapid iteration, and scales automatically.</p>
<p>But as your application matures, Lambda’s trade-offs can become limiting:</p>
<ul>
<li><strong>Cost scaling</strong> with consistent traffic</li>
<li><strong>Compute/memory coupling</strong> and lack of vertical scaling</li>
<li><strong>Package size limits</strong> and cold starts</li>
</ul>
<p>That’s why many teams adopt a container-based workflow that can run on both <strong>Lambda (via container images)</strong> and <strong>ECS Fargate</strong>. With a little planning, you can build once and deploy to either platform with minimal friction.</p>]]></description>
</item>
<item>
    <title>Building Websites at Scale With Aws CloudFront and Hugo</title>
    <link>https://www.itguyjournals.com/building-websites-at-scale-with-aws-cloudfront-and-hugo/</link>
    <pubDate>Tue, 14 Jan 2025 10:34:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/building-websites-at-scale-with-aws-cloudfront-and-hugo/</guid>
    <description><![CDATA[<p>Building websites has become easier than ever. Numerous platforms and third-party providers now offer tools to create and host websites within minutes, complete with custom domains, analytics, and sleek graphical interfaces.</p>
<p>For straightforward websites or smaller-scale projects, these platforms can be a convenient choice. However, they often fall short when it comes to flexibility, automation, and cost-effectiveness at scale. Many lack robust CLI (Command Line Interface) support for streamlining tasks, can become expensive as your needs grow, or demand significant management effort and a steep learning curve.</p>]]></description>
</item>
<item>
    <title>Organizing Terraform Projects With Terragrunt</title>
    <link>https://www.itguyjournals.com/organizing-terraform-projects-with-terragrunt/</link>
    <pubDate>Wed, 25 Sep 2024 16:56:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/organizing-terraform-projects-with-terragrunt/</guid>
    <description><![CDATA[<p>Infrastructure-as-Code (IaC) tools, like Terraform, have become essential for managing infrastructure in a scalable, repeatable, and automated way. Terraform helps engineers define, provision, and manage cloud resources across multiple providers. However, as infrastructure complexity grows, managing Terraform configurations becomes challenging. This is where Terragrunt—a thin wrapper for Terraform—comes into play. It enhances Terraform&rsquo;s capabilities, making it easier to manage large-scale infrastructures efficiently.</p>
<p>In this blog, we will explore how to organize Terraform projects using Terragrunt, and how it solves common challenges with Terraform&rsquo;s limitations such as managing backend configurations, large state files, and dependencies between multiple stacks.</p>]]></description>
</item>
<item>
    <title>Organizing Terraform Modules</title>
    <link>https://www.itguyjournals.com/organizing-terraform-modules/</link>
    <pubDate>Wed, 04 Sep 2024 16:56:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/organizing-terraform-modules/</guid>
    <description><![CDATA[<p>As Terraform projects grow in complexity, organizing your modules effectively becomes critical to maintaining clean, reusable, and scalable infrastructure code. How you choose to organize these modules can significantly impact collaboration, code reuse, and overall project maintainability. In this blog post, we will explore three primary approaches to organizing Terraform modules: using local modules, storing all modules in one remote repository, and distributing modules across multiple remote repositories. We’ll discuss the benefits and limitations of each approach, with practical examples to help you decide which strategy best suits your needs.</p>]]></description>
</item>
<item>
    <title>Tiered Access To CloudFront Content With Self-Signed Cookies</title>
    <link>https://www.itguyjournals.com/tiered-access-to-cloudfront-content-with-self-signed-cookies/</link>
    <pubDate>Fri, 19 Jul 2024 16:56:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/tiered-access-to-cloudfront-content-with-self-signed-cookies/</guid>
    <description><![CDATA[<p>This blog post is a follow-up to our previous post, where we implemented tiered access to S3 data using presigned URLs.</p>
<p>In most production applications, CloudFront is used to serve static content to users.
In this post, we will explore how to implement restricted access when serving content through CloudFront.</p>
<p>You can find the complete example <a href="https://github.com/LukaK/blog-resources/tree/main/cloudfront-signed-cookies?ref=itguyjournals.com" target="_blank" rel="noopener noreffer ">here</a>.</p>
<h2 id="what-is-cloudfront">What is CloudFront?</h2>
<p>In simple terms, CloudFront is a content delivery network (CDN) managed by AWS. A CDN is a network of servers deployed close to end users, serving as a caching layer to improve content delivery speed and reliability.</p>]]></description>
</item>
<item>
    <title>Multi-Account Cloud Deployment With Terraform And Github Actions</title>
    <link>https://www.itguyjournals.com/multi-account-cloud-deployment-with-terraform-and-github-actions/</link>
    <pubDate>Wed, 26 Jun 2024 16:56:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/multi-account-cloud-deployment-with-terraform-and-github-actions/</guid>
    <description><![CDATA[<p>In this blog post, we will look at how to implement a multi-account deployment pipeline on AWS using GitHub Actions and Terraform.</p>
<p>We will assume that you have access to at least two AWS accounts: one to hold pipeline resources and one target account where resources will be deployed.</p>
<h2 id="architecture">Architecture</h2>
<div id="id-1"><figure><figcaption>
      <h4>Fig 1. Architecture</h4>
    </figcaption>
</figure>
</div>
<p>We will use two accounts: a pipeline account and a target account. The target account is your dev/staging/prod account. Usually, there is more than one target account in a given pipeline, but we will use one for simplicity. The same approach can be extended to an arbitrary number of target accounts.</p>]]></description>
</item>
<item>
    <title>Tiered Access To S3 Data With Presigned URLs</title>
    <link>https://www.itguyjournals.com/tiered-access-to-s3-data-with-presigned-urls/</link>
    <pubDate>Tue, 11 Jun 2024 16:56:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/tiered-access-to-s3-data-with-presigned-urls/</guid>
    <description><![CDATA[<p>Managing access to your Amazon S3 data is crucial for ensuring security and efficiency in your cloud architecture. You typically have three options for managing access to S3 data for client applications: using Amazon CloudFront distribution, leveraging S3 presigned URLs, or routing through backend APIs.</p>
<p>In this blog post, we will delve into S3 presigned URLs as an effective method for implementing tiered access to your S3 data. We&rsquo;ll discuss their benefits, limitations, and provide a straightforward example to illustrate their use.</p>]]></description>
</item>
<item>
    <title>Kubernetes Secrets Management Using Kubernetes Sealed Secrets</title>
    <link>https://www.itguyjournals.com/kubernetes-secrets-management-with-sealed-secrets/</link>
    <pubDate>Thu, 23 May 2024 16:56:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/kubernetes-secrets-management-with-sealed-secrets/</guid>
    <description><![CDATA[<p>Security is a major concern in continuous integration (CI), especially when managing sensitive information like API keys, passwords, and other secrets. For Kubernetes resources, Sealed Secrets offer an effective solution for securely managing sensitive information within your repository. In this blog we will explore what are Sealed Secrets, how to use them and some common management tasks around Sealed Secrets.</p>
<h2 id="what-are-sealed-secrets">What are Sealed Secrets?</h2>
<p>Sealed Secrets is a set of Kubernetes resources, controller and custom resource definition, that enables secure storage of secrets in your version control system (VCS). Unlike standard Kubernetes Secrets, which are base64-encoded and easily decoded, Sealed Secrets use asymmetric encryption to ensure your secrets remain encrypted until deployed to your Kubernetes cluster. Once deployed, the Sealed Secrets controller decrypts them into regular Kubernetes secrets, making them accessible to your applications.</p>]]></description>
</item>
<item>
    <title>Securing Kubernetes Cluster With Cert-Manager And Self-Signed Certificates</title>
    <link>https://www.itguyjournals.com/securing-kubernetes-cluster-with-cert-manager-and-self-signed-certificates/</link>
    <pubDate>Mon, 06 May 2024 16:56:47 &#43;0100</pubDate>
    <author>Luka Krapić</author>
    <guid>https://www.itguyjournals.com/securing-kubernetes-cluster-with-cert-manager-and-self-signed-certificates/</guid>
    <description><![CDATA[<p>Kubernetes is an incredible tool for deploying, scaling, and managing containerized applications. One crucial aspect of kubernetes security is ensuring that communication between different entities is secure. By default, kubernetes management network is secure and pod network is handled by 3rd party plugin which mostly support encryption.</p>
<p>Today we will focus on properly securing outside-in web communication to our cluster with Cert-Manager and self-signed certificates. We assume that you have access to working kubernetes cluster with ingress controller.</p>]]></description>
</item>
</channel>
</rss>
