<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Architecture on Dev &amp; Platform Engineering Hub</title><link>https://rhidayat.work/topics/architecture/</link><description>Recent content in Architecture on Dev &amp; Platform Engineering Hub</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Rachmat Hidayat</copyright><lastBuildDate>Mon, 10 Aug 2026 00:10:00 +0000</lastBuildDate><atom:link href="https://rhidayat.work/topics/architecture/index.xml" rel="self" type="application/rss+xml"/><item><title>Kubernetes Ep 2: Architecture - Control Plane &amp; Worker Nodes</title><link>https://rhidayat.work/series/kubernetes/02-architecture-control-plane-and-worker-nodes/</link><pubDate>Mon, 10 Aug 2026 00:10:00 +0000</pubDate><guid>https://rhidayat.work/series/kubernetes/02-architecture-control-plane-and-worker-nodes/</guid><description>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 A Kubernetes cluster consists of two primary logical layers: the &lt;strong&gt;Control Plane&lt;/strong&gt; (the cluster&amp;rsquo;s brain) and &lt;strong&gt;Worker Nodes&lt;/strong&gt; (the muscle that runs application containers). Understanding how these components communicate is crucial for cluster administration and troubleshooting.
&lt;/div&gt;</description></item><item><title>Kratix Ep 12: Production Reference Architecture</title><link>https://rhidayat.work/series/kratix/12-production-reference-architecture-repository/</link><pubDate>Sun, 09 Aug 2026 22:00:00 +0000</pubDate><guid>https://rhidayat.work/series/kratix/12-production-reference-architecture-repository/</guid><description>We have reached the end of our journey. In this final episode, we combine everything we have learned—Kratix, Crossplane, ArgoCD, Vault, Prometheus, and Backstage—into a single, comprehensive reference architecture diagram that you can use to build your enterprise IDP.</description></item><item><title>Kratix Ep 3: Kratix GitOps vs Crossplane GitOps</title><link>https://rhidayat.work/series/kratix/03-kratix-gitops-vs-crossplane-gitops/</link><pubDate>Sun, 09 Aug 2026 20:30:00 +0000</pubDate><guid>https://rhidayat.work/series/kratix/03-kratix-gitops-vs-crossplane-gitops/</guid><description>Crossplane uses GitOps to provision AWS infrastructure. Kratix uses GitOps to orchestrate Promises. This frequently leads to severe architectural confusion for teams adopting Platform Engineering. In this episode, we define the exact boundary between the two tools and learn how they complement each other in a Production IDP.</description></item><item><title>Kratix Ep 2: Multi-Cluster Architecture &amp; IaC</title><link>https://rhidayat.work/series/kratix/02-multi-cluster-architecture-and-iac/</link><pubDate>Sun, 09 Aug 2026 20:20:00 +0000</pubDate><guid>https://rhidayat.work/series/kratix/02-multi-cluster-architecture-and-iac/</guid><description>In this episode, we deeply analyze the &amp;lsquo;Where&amp;rsquo; of the 5W1H framework. We will map out the Hub and Spoke topology, learn why Kratix intentionally isolates the Platform Cluster from the Worker Clusters for security, and explore how traditional Infrastructure-as-Code (like Terraform) executes inside this GitOps-driven model.</description></item><item><title>Docker Ep 1: Architecture &amp; Container Primitives</title><link>https://rhidayat.work/series/docker/01-docker-architecture-and-container-basics/</link><pubDate>Sun, 09 Aug 2026 16:20:00 +0000</pubDate><guid>https://rhidayat.work/series/docker/01-docker-architecture-and-container-basics/</guid><description>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 Containers do not exist as physical entities inside the Linux kernel. A &amp;ldquo;container&amp;rdquo; is simply a standard Linux process isolated via &lt;strong&gt;Namespaces&lt;/strong&gt;, throttled by &lt;strong&gt;cgroups&lt;/strong&gt;, and mounted on an &lt;strong&gt;Overlay2&lt;/strong&gt; union filesystem.
&lt;/div&gt;</description></item><item><title>TS Ep 70: Building a REST API with Effect</title><link>https://rhidayat.work/series/typescript/functional-effect/15-building-a-rest-api-with-effect/</link><pubDate>Sun, 09 Aug 2026 15:55:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/15-building-a-rest-api-with-effect/</guid><description>We assemble the ultimate functional backend. Learn how to combine Layers, Context, Schema Validation, Error Handling, and Resource Management into a massive, production-grade Express REST API using @effect/platform.</description></item><item><title>TS Ep 69: Managing Resources and Scope</title><link>https://rhidayat.work/series/typescript/functional-effect/14-resource-management-acquire-release/</link><pubDate>Sun, 09 Aug 2026 15:50:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/14-resource-management-acquire-release/</guid><description>Learn how to safely acquire and release resources like database connections and file streams. The Scope API replaces try/finally blocks, guaranteeing cleanup even if your application crashes.</description></item><item><title>TS Ep 68: Effect Schema Validation</title><link>https://rhidayat.work/series/typescript/functional-effect/13-effect-schema-validation/</link><pubDate>Sun, 09 Aug 2026 15:45:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/13-effect-schema-validation/</guid><description>TypeScript interfaces do not exist at runtime. To protect your application from malformed API payloads and corrupted database rows, learn how to use @effect/schema to parse and validate data perfectly.</description></item><item><title>TS Ep 67: Concurrency and Fibers</title><link>https://rhidayat.work/series/typescript/functional-effect/12-concurrency-and-fibers/</link><pubDate>Sun, 09 Aug 2026 15:40:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/12-concurrency-and-fibers/</guid><description>Learn how Effect-TS implements Fibers (green threads) to allow millions of concurrent operations. Master &lt;code&gt;Effect.all&lt;/code&gt;, concurrency limits, and safe interruption of background tasks.</description></item><item><title>TS Ep 66: Layers &amp; Service Wiring</title><link>https://rhidayat.work/series/typescript/functional-effect/11-layers-and-service-wiring/</link><pubDate>Sun, 09 Aug 2026 15:35:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/11-layers-and-service-wiring/</guid><description>Providing single services is easy, but enterprise applications have massive dependency graphs. Learn how to use Effect Layers to wire services together, handle async initialization, and resolve graphs perfectly.</description></item><item><title>TS Ep 65: Context &amp; Dependency Injection</title><link>https://rhidayat.work/series/typescript/functional-effect/10-context-and-dependency-injection/</link><pubDate>Sun, 09 Aug 2026 15:30:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/10-context-and-dependency-injection/</guid><description>Eliminate global singletons and complex IoC containers. Learn how the R parameter in Effect&amp;lt;A, E, R&amp;gt; forces you to provide dependencies before your program can run, ensuring perfect testability.</description></item><item><title>TS Ep 64: Error Handling in Effect</title><link>https://rhidayat.work/series/typescript/functional-effect/09-error-handling-in-effect/</link><pubDate>Sun, 09 Aug 2026 15:25:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/09-error-handling-in-effect/</guid><description>Effect-TS completely reimagines error handling. Learn the difference between Expected Failures and Unexpected Defects, and how to use &lt;code&gt;catchTag&lt;/code&gt; to build resilient, self-documenting pipelines.</description></item><item><title>Pulumi Ep 8: Cross-Stack References (Micro-Stacks)</title><link>https://rhidayat.work/series/pulumi/intermediate/08-cross-stack-references/</link><pubDate>Sun, 09 Aug 2026 15:20:00 +0000</pubDate><guid>https://rhidayat.work/series/pulumi/intermediate/08-cross-stack-references/</guid><description>Deploying your entire infrastructure (Networking, Databases, Kubernetes, and Frontend) in a single Pulumi stack is dangerous. A tiny typo in an S3 bucket configuration could accidentally trigger the destruction of your VPC. In this episode, we learn how to architect Micro-Stacks and stitch them together using StackReference.</description></item><item><title>TS Ep 63: Creating and Running Effects</title><link>https://rhidayat.work/series/typescript/functional-effect/08-creating-and-running-effects/</link><pubDate>Sun, 09 Aug 2026 15:20:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/08-creating-and-running-effects/</guid><description>To use Effect-TS, you must know how to bridge the gap between the chaotic outside world and your pure functional pipeline. Master the constructors and execution methods of the Effect runtime.</description></item><item><title>TS Ep 62: The Effect Type Signature</title><link>https://rhidayat.work/series/typescript/functional-effect/07-effect-type-signature/</link><pubDate>Sun, 09 Aug 2026 15:15:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/07-effect-type-signature/</guid><description>The heart of Effect-TS is its three-parameter type signature. Master the A (Success), E (Error), and R (Requirement) parameters to unlock perfect architectural safety.</description></item><item><title>TS Ep 61: Introduction to Effect-TS</title><link>https://rhidayat.work/series/typescript/functional-effect/06-introduction-to-effect-ts/</link><pubDate>Sun, 09 Aug 2026 15:10:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/06-introduction-to-effect-ts/</guid><description>We have built the functional foundation. Now it is time to enter the ecosystem. Discover why Effect-TS is rapidly becoming the standard library for enterprise TypeScript, and run your first pure asynchronous program.</description></item><item><title>TS Ep 60: Function Composition (Pipe &amp; Flow)</title><link>https://rhidayat.work/series/typescript/functional-effect/05-function-composition-pipe-flow/</link><pubDate>Sun, 09 Aug 2026 15:05:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/05-function-composition-pipe-flow/</guid><description>Learn how to avoid the &amp;lsquo;Pyramid of Doom&amp;rsquo; and method chaining limitations by embracing functional composition. We explore how &lt;code&gt;pipe&lt;/code&gt; and &lt;code&gt;flow&lt;/code&gt; allow you to build complex logic from small, testable pure functions.</description></item><item><title>TS Ep 59: Monadic Patterns (Option &amp; Either)</title><link>https://rhidayat.work/series/typescript/functional-effect/04-monadic-patterns-option-either/</link><pubDate>Sun, 09 Aug 2026 15:00:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/04-monadic-patterns-option-either/</guid><description>Learn how to wrap missing data and expected errors in type-safe containers. We explore the Option and Either monads, providing the final foundational step before entering the Effect-TS ecosystem.</description></item><item><title>TS Ep 58: Algebraic Data Types (ADTs)</title><link>https://rhidayat.work/series/typescript/functional-effect/03-algebraic-data-types-adt/</link><pubDate>Sun, 09 Aug 2026 14:55:00 +0000</pubDate><guid>https://rhidayat.work/series/typescript/functional-effect/03-algebraic-data-types-adt/</guid><description>Learn how to eliminate impossible states from your application by mastering Algebraic Data Types (ADTs). We explore Sum Types, Product Types, and exhaustive pattern matching in TypeScript.</description></item><item><title>KCNA Ep 2: Kubernetes Fundamentals &amp; Architecture</title><link>https://rhidayat.work/series/kubernetes-certification-path/kcna/02-kcna-kubernetes-fundamentals-and-architecture/</link><pubDate>Sun, 09 Aug 2026 13:10:00 +0000</pubDate><guid>https://rhidayat.work/series/kubernetes-certification-path/kcna/02-kcna-kubernetes-fundamentals-and-architecture/</guid><description>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 A Kubernetes cluster is divided into a Control Plane (the brain) and Worker Nodes (the muscle). Understanding how these components communicate via the declarative REST API is a core requirement for the KCNA exam.
&lt;/div&gt;</description></item><item><title>Terraform Ep 14: Achieving DRY Architecture with Terragrunt</title><link>https://rhidayat.work/series/terraform/advanced/14-terragrunt-and-dry-architecture/</link><pubDate>Sun, 09 Aug 2026 11:30:00 +0000</pubDate><guid>https://rhidayat.work/series/terraform/advanced/14-terragrunt-and-dry-architecture/</guid><description>As your Terraform codebase scales across dozens of microservices and environments, you will find yourself copy-pasting the same &amp;lsquo;backend&amp;rsquo; and &amp;lsquo;provider&amp;rsquo; blocks repeatedly. Terragrunt is a powerful wrapper that eliminates this repetition, allowing you to define global configurations once.</description></item><item><title>Terraform Ep 11: Managing Multi-Environment Architecture (Workspaces vs Directories)</title><link>https://rhidayat.work/series/terraform/advanced/11-workspaces-and-environments/</link><pubDate>Sun, 09 Aug 2026 11:00:00 +0000</pubDate><guid>https://rhidayat.work/series/terraform/advanced/11-workspaces-and-environments/</guid><description>Welcome to Tier 3: Advanced Platform Engineering. You now know how to write reusable modules and store state remotely. But how do you safely deploy identical infrastructure to both Staging and Production without them colliding? We explore Workspaces and Directory Isolation.</description></item><item><title>Terraform Ep 9: Architecting Reusable, Production-Grade Modules</title><link>https://rhidayat.work/series/terraform/intermediate/09-writing-reusable-modules/</link><pubDate>Sun, 09 Aug 2026 10:30:00 +0000</pubDate><guid>https://rhidayat.work/series/terraform/intermediate/09-writing-reusable-modules/</guid><description>Modules are the functions of the Terraform ecosystem. In this episode, we will build a reusable AWS VPC module from scratch, define explicit inputs and outputs, and consume it from a separate Root Module. Stop copy-pasting code and start building a self-service infrastructure catalog.</description></item><item><title>K8s Ep 1: Architecture &amp; Your First Multi-Node Local Cluster Setup</title><link>https://rhidayat.work/series/kubernetes/fundamental/01-architecture-and-local-setup/</link><pubDate>Sun, 09 Aug 2026 08:10:00 +0000</pubDate><guid>https://rhidayat.work/series/kubernetes/fundamental/01-architecture-and-local-setup/</guid><description>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 Many Kubernetes tutorials overwhelm you with hours of theory before ever touching a terminal. Here, we embrace the &lt;strong&gt;HowToForge&lt;/strong&gt; philosophy: we build it first, then we dissect how it works.
&lt;/div&gt;</description></item></channel></rss>