# Pemikiran & Cerita: DevOps

> Berbagi pengalaman, pembelajaran, dan petualangan saya di dunia teknologi dan lainnya.

URL: https://www.matthewswong.com/id/blog/category/devops/

- [Cara Mengamankan Container Docker: 7 Langkah untuk Pemula](https://www.matthewswong.com/id/blog/cara-mengamankan-container-docker/)
- [Cara Rollback Deploy Docker di VPS untuk Pemula](https://www.matthewswong.com/id/blog/cara-rollback-deploy-docker-di-vps/)
- [Docker Swarm vs Kubernetes: Vonis Load Test Tim Kecil](https://www.matthewswong.com/id/blog/docker-swarm-vs-kubernetes-small-team-load-test/)
- [Cara Deploy Docker Compose di Production untuk Pemula](https://www.matthewswong.com/id/blog/cara-deploy-docker-compose-production-vps/)
- [Cara Membuat Multi Stage Build Docker dari Dockerfile Biasa](https://www.matthewswong.com/id/blog/cara-membuat-multi-stage-build-docker/)
- [Cara Melihat Docker Logs: Tail, Follow, dan Compose](https://www.matthewswong.com/id/blog/cara-melihat-docker-logs-untuk-pemula/)
- [Cara Membuat CI/CD GitHub Actions untuk Pemula, 7 Langkah](https://www.matthewswong.com/id/blog/cara-membuat-ci-cd-github-actions-pemula/)
- [Cara Mengatasi No Space Left on Device Docker (7 Langkah)](https://www.matthewswong.com/id/blog/cara-mengatasi-docker-no-space-left-on-device/)
- [Cara Menyimpan Secret Environment Variable Docker Aman](https://www.matthewswong.com/id/blog/cara-simpan-secret-environment-variable-docker-aman/)
- [Belajar Docker dari Nol: Container Pertama dalam 6 Langkah](https://www.matthewswong.com/id/blog/belajar-docker-dari-nol-panduan-pemula/)
- [Cara Deploy Next.js ke VPS dengan Docker dan GitHub Actions](https://www.matthewswong.com/id/blog/cara-deploy-nextjs-ke-vps-docker-github-actions/)
- [Cara Login SSH ke VPS Pertama Kali dan Mengamankannya](https://www.matthewswong.com/id/blog/cara-login-ssh-vps-aman-pemula/)
- [Cara Setting Nginx Reverse Proxy untuk Docker di Cloudflare](https://www.matthewswong.com/id/blog/cara-setting-nginx-reverse-proxy-docker-cloudflare/)
- [Autoscale vLLM di Kubernetes dengan KEDA: Queue Depth, Bukan GPU %](https://www.matthewswong.com/id/blog/autoscale-vllm-keda-queue-depth-gpu-eks/)
- [Bottleneck AI Code Review: Temuan CMU dan Stanford](https://www.matthewswong.com/id/blog/ai-code-review-bottleneck-cmu-stanford-silent-approvals/)
- [npm Trusted Publishing: Expiry 48 Jam dan Larangan issue_comment](https://www.matthewswong.com/id/blog/npm-trusted-publishing-48-hour-expiry-issue-comment/)
- [Panduan kubectl-ai: Gerbang Konfirmasi dan Risiko MCP Server](https://www.matthewswong.com/id/blog/kubectl-ai-google-human-in-loop-guide/)
- [Argo CD 3.5: Panduan Upgrade mTLS, Source Integrity dan Helm 4](https://www.matthewswong.com/id/blog/argo-cd-3-5-whats-new-upgrade/)
- [Flux 2.9: CLI Plugin, SSA Ignore Rules, dan Webhook OIDC](https://www.matthewswong.com/id/blog/flux-2-9-cli-plugins-gitops-features/)
- [Terraform 1.16: Yang Baru dan Cara Upgrade dengan Aman](https://www.matthewswong.com/id/blog/terraform-1-16-whats-new-upgrade-guide/)
- [OpenTofu 1.13: Fungsi convert, assume dan Breaking Changes](https://www.matthewswong.com/id/blog/opentofu-1-13-whats-new-upgrade-notes/)
- [Panduan KubeCon North America 2026: Track AI dan Hari Co-located](https://www.matthewswong.com/id/blog/kubecon-na-2026-salt-lake-city-guide/)
- [OpenTofu Ephemeral Resource dan Write-Only Attribute](https://www.matthewswong.com/id/blog/opentofu-ephemeral-resources-write-only-attributes/)
- [Retirement ingress-nginx: Migrasi ke Contour atau Gateway API](https://www.matthewswong.com/id/blog/ingress-nginx-retirement-migration-paths/)
- [Ingress2Gateway 1.0: Migrasi ingress-nginx ke Gateway API](https://www.matthewswong.com/id/blog/ingress2gateway-1-0-migration-walkthrough/)
- [kube-proxy ipvs Deprecated: Migrasi ke nftables Sebelum v1.40](https://www.matthewswong.com/id/blog/kube-proxy-ipvs-deprecation-nftables-migration/)
- [Kubernetes MCP Server: read_only, Toolsets, Denied Resources](https://www.matthewswong.com/id/blog/kubernetes-mcp-server-go-read-only-toolsets/)
- [Kubernetes HPA Scale to Zero untuk GPU Queue Worker (1.37)](https://www.matthewswong.com/id/blog/kubernetes-hpa-scale-to-zero-gpu-queue-workers/)
- [Rilis Kubernetes 1.37: Apa yang Rusak Saat Upgrade dari 1.36](https://www.matthewswong.com/id/blog/kubernetes-1-37-garhwal-whats-new/)
- [KYAML di Kubernetes 1.37: Subset YAML Stable dan kubectl -o kyaml](https://www.matthewswong.com/id/blog/kyaml-kubernetes-stable-yaml-format/)
- [DORA AI-Assisted Development: Throughput Naik, Instability Naik](https://www.matthewswong.com/id/blog/dora-2026-ai-throughput-instability-devops/)
- [PagerDuty SRE Agent: Setup Virtual Responder dan Guardrail](https://www.matthewswong.com/id/blog/pagerduty-sre-agent-virtual-responder-guide/)
- [Copilot Fix Failing GitHub Actions: Setup dan Aturan Review](https://www.matthewswong.com/id/blog/copilot-cloud-agent-fix-failing-github-actions/)
- [HolmesGPT untuk Alert Kubernetes: Runbook Mengalahkan Pilihan Model](https://www.matthewswong.com/id/blog/holmesgpt-runbooks-prometheus-slack-investigations/)
- [Triage Kegagalan CI Agentic Workflow dengan gh-aw CI Doctor](https://www.matthewswong.com/id/blog/gh-aw-ci-doctor-failing-workflow-triage/)
- [GitHub Agentic Workflows: Otomasi Markdown dengan gh aw](https://www.matthewswong.com/id/blog/github-agentic-workflows-markdown-gh-aw-guide/)
- [Terraform MCP Server GA: Setup Agent Aman Sejak 1.1.0](https://www.matthewswong.com/id/blog/terraform-mcp-server-ga-safe-agent-setup/)
- [Grafana MCP Server: Scope OAuth untuk Claude Code dan Cursor](https://www.matthewswong.com/id/blog/grafana-cloud-mcp-server-oauth-read-query-write/)
- [Grafana Assistant Investigations: Setup RCA Otomatis dari Alert](https://www.matthewswong.com/id/blog/grafana-assistant-investigations-alert-triggered-rca/)
- [NVIDIA Run:ai Open Source: KAI Scheduler, GPU Fractioning](https://www.matthewswong.com/id/blog/nvidia-runai-open-source-kai-scheduler-gpu-fractioning/)
- [Volcano Scheduler GPU: Gang Preemption v1.15, DRA Queue Quota](https://www.matthewswong.com/id/blog/volcano-1-15-gang-preemption-dra-queue-quota/)
- [Kubernetes DRA GPU Fallback: Prioritized List di 1.36](https://www.matthewswong.com/id/blog/kubernetes-1-36-dra-prioritized-list-gpu-fallback/)
- [Kubernetes 1.37 DRA Extended Resources GA: Jalankan example.com/gpu Tanpa Device Plugin](https://www.matthewswong.com/id/blog/kubernetes-1-37-dra-extended-resources-ga/)
- [Gang Scheduling Kubernetes 1.37 Beta: Yang Siap, Yang Belum](https://www.matthewswong.com/id/blog/kubernetes-1-37-gang-scheduling-beta-ai-training/)
- [Gateway API Inference Extension: EPP Moves to llm-d, What Now](https://www.matthewswong.com/id/blog/gateway-api-inference-extension-epp-moves-to-llm-d/)
- [llm-d di Kubernetes: Distributed Inference dan Hardening v0.10](https://www.matthewswong.com/id/blog/llm-d-kubernetes-native-distributed-inference/)
- [Anthropic Mengganti Git dengan Scion: Apa yang Berubah di Source Control Skala Agent](https://www.matthewswong.com/id/blog/anthropic-scion-replaced-git-monorepo/)
- [Cara Mendesain Metrics dan Monitoring System dengan Prometheus](https://www.matthewswong.com/id/blog/design-metrics-monitoring-system/)
- [SLI vs SLO vs SLA: Definisi, Error Budget, dan Burn Rate](https://www.matthewswong.com/id/blog/slo-sli-sla-reliability-explained/)
- [Algoritma Load Balancing: Round Robin, Least Conn, IP Hash](https://www.matthewswong.com/id/blog/load-balancing-algorithms-explained/)
- [Panduan AWS Bedrock AgentCore: Runtime, Gateway, Memory, Policy](https://www.matthewswong.com/id/blog/aws-bedrock-agentcore-guide/)
- [Tutorial Codex SDK: Otomatisasi Coding dengan TypeScript](https://www.matthewswong.com/id/blog/codex-sdk-typescript-automation/)
- [Easypanel vs Coolify vs Dokploy: PaaS Self-Hosted di VPS](https://www.matthewswong.com/id/blog/easypanel-vs-coolify-vs-dokploy/)
- [OpenTelemetry GenAI Semantic Conventions: Span Agent di Tempo](https://www.matthewswong.com/id/blog/opentelemetry-genai-agent-spans-tracing/)
- [Build Gate: Aturan Arsitektur yang Tak Bisa Dijaga README](https://www.matthewswong.com/id/blog/build-gates-architecture-rules-ci/)
- [Membaca Log Production Tanpa SSH di Managed PaaS](https://www.matthewswong.com/id/blog/reading-production-logs-without-ssh/)
- [Migration Schema Zero-Downtime di Atas Rolling Deploy](https://www.matthewswong.com/id/blog/zero-downtime-migration-rolling-deploy/)
- [Docker Build Cache: Deploy PaaS Lebih Cepat dari Builder Dingin](https://www.matthewswong.com/id/blog/docker-build-cache-paas-deploy-speed/)
- [Upgrade Plugin Claude Code: Version Pinning dan Rollback](https://www.matthewswong.com/id/blog/claude-code-plugin-rollback-version-pinning/)
- [Otomasi Release Plugin Claude Code di GitHub Actions](https://www.matthewswong.com/id/blog/claude-code-plugin-ci-release-automation/)
- [AI DevOps Assistant untuk Triage Produksi Kubernetes](https://www.matthewswong.com/id/blog/ai-devops-assistant-production-triage/)
- [Cara Build Engine PaaS Menulis Dockerfile Otomatis](https://www.matthewswong.com/id/blog/helipack-auto-dockerfile-build-engine/)
- [Self-Hosting n8n dan Flowise di Platform Bertagihan Rupiah](https://www.matthewswong.com/id/blog/one-click-n8n-flowise-self-host-idr/)
- [Environment Variable Claude Code yang Benar-Benar Penting](https://www.matthewswong.com/id/blog/claude-code-env-vars-reference-guide/)
- [OpenTelemetry Claude Code: Metrik, Event, dan Biaya](https://www.matthewswong.com/id/blog/claude-code-analytics-otel-monitoring/)
- [Konfigurasi Jaringan Claude Code: Proxy, mTLS, dan Domain](https://www.matthewswong.com/id/blog/claude-code-network-config-proxy-firewall/)
- [Dev Container Claude Code: Isolasi yang Benar-Benar Kuat](https://www.matthewswong.com/id/blog/claude-code-devcontainer-setup/)
- [Claude Code di GitLab CI/CD: Job, OIDC, dan MR](https://www.matthewswong.com/id/blog/claude-code-gitlab-ci-cd-integration/)
- [Tugas Terjadwal Claude Code: Loop, Cron, dan Routine](https://www.matthewswong.com/id/blog/claude-code-scheduled-tasks-routines/)
- [Self-Hosted Runner Claude Code: Sesi Cloud di Mesin Anda](https://www.matthewswong.com/id/blog/claude-code-self-hosted-runners-guide/)
- [Menjalankan Hermes Agent sebagai Coder Otonom di VPS](https://www.matthewswong.com/id/blog/hermes-agent-autonomous-coding-vps-setup/)
- [Merge Gate Deterministik untuk Agen AI yang Merge Sendiri](https://www.matthewswong.com/id/blog/autonomous-agent-merge-gate-hook/)
- [Debug Insiden VPS Produksi dengan Claude Code](https://www.matthewswong.com/id/blog/claude-code-production-incident-debugging/)
- [Headless Mode Claude Code untuk Pipeline CI/CD](https://www.matthewswong.com/id/blog/claude-code-headless-mode-ci-guide/)
- [Claude Code GitHub Actions: Dari Issue ke PR](https://www.matthewswong.com/id/blog/claude-code-github-actions-guide/)
- [Agen Claude Code Paralel Dengan Git Worktrees](https://www.matthewswong.com/id/blog/claude-code-parallel-agents-git-worktrees/)
- [Adu Tool Review Kode AI untuk 2026](https://www.matthewswong.com/id/blog/ai-code-review-tools-compared/)
- [Panduan Migrasi Helm 4: Fitur Baru dan Cara Upgrade](https://www.matthewswong.com/id/blog/helm-4-migration-guide/)
- [Load Testing API Node.js dengan k6 dan Dashboard Grafana](https://www.matthewswong.com/id/blog/k6-load-testing-nodejs-grafana/)
- [Podman Quadlets: Ganti Docker Compose dengan systemd](https://www.matthewswong.com/id/blog/podman-quadlets-replace-docker-compose/)
- [KEDA: Autoscaling Event-Driven & Scale-to-Zero di K8s](https://www.matthewswong.com/id/blog/keda-event-driven-autoscaling-kubernetes/)
- [Kubernetes In-Place Pod Resize: CPU & Memori Tanpa Restart](https://www.matthewswong.com/id/blog/kubernetes-in-place-pod-resize/)
- [kubectl debug: Atasi Pod CrashLoopBackOff & Distroless](https://www.matthewswong.com/id/blog/kubectl-debug-crashloopbackoff-distroless/)
- [Prometheus 3.0: OTLP, Native Histogram, UTF-8 & UI Baru](https://www.matthewswong.com/id/blog/prometheus-3-0-whats-new/)
- [uv: Package Manager Python Rust Pengganti pip](https://www.matthewswong.com/id/blog/uv-python-package-manager-rust/)
- [Kubernetes Native Sidecar Containers: Panduan Praktis](https://www.matthewswong.com/id/blog/kubernetes-native-sidecar-containers/)
- [Progressive Delivery dengan Argo Rollouts: Canary & Blue-Green](https://www.matthewswong.com/id/blog/argo-rollouts-progressive-delivery-canary/)
- [Docker Buildx Bake: Build Image Multi-Platform Deklaratif](https://www.matthewswong.com/id/blog/docker-bake-multi-platform-builds/)
- [Trunk-Based Development Berbasis Feature Flag](https://www.matthewswong.com/id/blog/feature-flag-driven-trunk-based-development/)
- [Reusable Workflow vs Composite Action di GitHub Actions](https://www.matthewswong.com/id/blog/github-actions-reusable-workflows-composite-actions/)
- [Autoscaling Runner GitHub Actions di Kubernetes dengan ARC](https://www.matthewswong.com/id/blog/github-actions-runner-autoscaling-arc/)
- [Migrasi ke Grafana Alloy dari Promtail dan Agent](https://www.matthewswong.com/id/blog/grafana-alloy-opentelemetry-collector-migration/)
- [System Container Incus/LXC vs Application Container Docker](https://www.matthewswong.com/id/blog/incus-lxc-system-containers-vs-docker/)
- [Kubernetes Gateway API vs Ingress: Mengapa Ia Menggantikan Anotasi](https://www.matthewswong.com/id/blog/kubernetes-gateway-api-vs-ingress/)
- [OpenTofu vs Terraform: Migrasi Setelah Perubahan Lisensi](https://www.matthewswong.com/id/blog/opentofu-vs-terraform-migration/)
- [Menskalakan Storage Prometheus dengan Grafana Mimir](https://www.matthewswong.com/id/blog/prometheus-remote-write-mimir-scaling/)
- [restic vs BorgBackup: Backup Terenkripsi dan Terdeduplikasi](https://www.matthewswong.com/id/blog/restic-vs-borg-encrypted-backups/)
- [Impor Infrastruktur yang Sudah Ada ke Terraform Tanpa Menulis HCL Manual](https://www.matthewswong.com/id/blog/terraform-import-blocks-existing-infra/)
- [Mengontrol Docker dari Backend: dockerode dan Socket](https://www.matthewswong.com/id/blog/docker-daemon-socket-backend-control/)
- [Docker BuildKit Cache Mounts: Pangkas Waktu Build CI Setengahnya](https://www.matthewswong.com/id/blog/docker-buildkit-cache-mounts-faster-builds/)
- [Load Testing Docker Swarm: Kenapa Menambah Replica Tidak Menaikkan Throughput](https://www.matthewswong.com/id/blog/docker-swarm-load-testing-replicas-throughput/)
- [Membangun Autoscaler CPU Kustom untuk Docker Swarm](https://www.matthewswong.com/id/blog/docker-swarm-custom-autoscaler-cpu/)
- [Menemukan Bottleneck Row-Lock Postgres dengan Prometheus + InfluxDB](https://www.matthewswong.com/id/blog/postgres-row-lock-bottleneck-prometheus-influxdb/)
- [k6 SLO Quality Gate untuk CI/CD Bitbucket Pipelines](https://www.matthewswong.com/id/blog/slo-quality-gate-bitbucket-pipeline/)
- [Dokploy: PaaS Self-Hosted untuk VPS Anda Sendiri](https://www.matthewswong.com/id/blog/dokploy-self-hosted-paas-vps/)
- [Coolify vs Dokploy: Memilih PaaS Self-Hosted](https://www.matthewswong.com/id/blog/coolify-vs-dokploy-self-hosted-paas/)
- [Kamal 2: Deploy Docker Tanpa Downtime, Tanpa Kubernetes](https://www.matthewswong.com/id/blog/kamal-2-docker-deployment-guide/)
- [GitHub Actions OIDC: Autentikasi Cloud Tanpa Kunci untuk CI/CD](https://www.matthewswong.com/id/blog/github-actions-oidc-keyless-cloud-auth/)
- [Image Docker Distroless: Container Lebih Kecil dan Aman](https://www.matthewswong.com/id/blog/docker-distroless-image-optimization/)
- [Kardinalitas Prometheus: Recording Rules yang Menyelamatkan TSDB Anda](https://www.matthewswong.com/id/blog/prometheus-recording-rules-cardinality/)
- [VictoriaMetrics vs Prometheus untuk Metrik Jangka Panjang](https://www.matthewswong.com/id/blog/victoriametrics-vs-prometheus-long-term/)
- [Renovate: Update Dependency Otomatis yang Dilakukan dengan Benar](https://www.matthewswong.com/id/blog/renovate-automated-dependency-updates/)
- [Tailscale: Mesh VPN untuk Server dan Homelab Anda](https://www.matthewswong.com/id/blog/tailscale-mesh-vpn-self-hosted/)
- [OpenTelemetry Collector: Merancang Pipeline Telemetri](https://www.matthewswong.com/id/blog/opentelemetry-collector-pipeline-design/)
- [Docker Compose Watch: Feedback Instan untuk Dev Container Lokal](https://www.matthewswong.com/id/blog/docker-compose-watch-local-dev/)
- [Caddy vs Nginx untuk HTTPS Otomatis: Kapan Masing-Masing Menang](https://www.matthewswong.com/id/blog/caddy-vs-nginx-automatic-https/)
- [Strategi Caching GitHub Actions yang Benar-Benar Memangkas Menit CI](https://www.matthewswong.com/id/blog/github-actions-caching-strategies/)
- [Uptime Kuma: Monitoring Uptime Self-Hosted yang Langsung Jalan](https://www.matthewswong.com/id/blog/self-hosted-uptime-kuma-monitoring/)
- [Blue-Green vs Canary Deployment dengan Budget Terbatas (Tanpa Kubernetes)](https://www.matthewswong.com/id/blog/blue-green-vs-canary-on-budget/)
- [Apa yang Sebenarnya Dilakukan cgroups v2 Saat Anda Set Limit Memory Docker](https://www.matthewswong.com/id/blog/linux-cgroups-container-resource-limits/)
- [Backup 3-2-1 Praktis untuk VPS dengan Restic dan Object Storage](https://www.matthewswong.com/id/blog/backup-3-2-1-strategy-vps/)
- [Menguasai Observabilitas: Integrasi Loki dan Prometheus untuk Lingkungan yang Diskalakan Horizontal](https://www.matthewswong.com/id/blog/loki-prometheus-observability/)
- [CI/CD dengan GitHub Actions: Dari Nol Hingga Produksi](https://www.matthewswong.com/id/blog/ci-cd-pipeline-github-actions/)
- [Strategi Deployment Kubernetes yang Perlu Anda Ketahui](https://www.matthewswong.com/id/blog/kubernetes-deployment-strategies/)
- [Docker Best Practices untuk Container Produksi](https://www.matthewswong.com/id/blog/docker-containerization-best-practices/)
- [Docker Swarm: Orkestrasi Container untuk Tim Kecil](https://www.matthewswong.com/id/blog/docker-swarm-orchestration/)
- [Panduan Otomasi Infrastruktur dengan Ansible](https://www.matthewswong.com/id/blog/ansible-automation-infrastructure/)
- [Infrastructure as Code dengan Terraform](https://www.matthewswong.com/id/blog/infrastructure-as-code-terraform/)
- [GitOps dengan ArgoCD dan Flux CD](https://www.matthewswong.com/id/blog/gitops-argocd-flux/)
- [SRE: SLO, SLA & Error Budget Explained](https://www.matthewswong.com/id/blog/site-reliability-engineering-sre/)
- [DevSecOps: Integrasikan Keamanan ke dalam CI/CD](https://www.matthewswong.com/id/blog/devsecops-security-pipeline/)
- [Kurangi Biaya GCS Egress: Migrasi ke Cloudflare R2](https://www.matthewswong.com/id/blog/cloudflare-r2-gcs-egress/)
- [Email Domain Gratis: Cloudflare Routing + SMTP2Go](https://www.matthewswong.com/id/blog/cloudflare-email-inbound-smtp2go/)
- [PDN (Pusat Data Nasional) Indonesia: Panduan Developer untuk Migrasi ke Government Cloud](https://www.matthewswong.com/id/blog/pusat-data-nasional-pdn-cloud-developer-guide/)
- [FinOps untuk Tim Cloud Indonesia: Panduan Praktis Optimasi Biaya Cloud](https://www.matthewswong.com/id/blog/finops-cloud-cost-optimization-indonesia/)
- [k3s Kubernetes Ringan untuk Startup Indonesia: Setup Produksi di VPS Budget](https://www.matthewswong.com/id/blog/kubernetes-k3s-production-lightweight-indonesia/)
- [Platform Engineering dan Internal Developer Platform: Membangun Jalan Mudah untuk Tim Anda](https://www.matthewswong.com/id/blog/platform-engineering-internal-developer-platform/)
- [Google Cloud vs DigitalOcean: Panduan Praktis untuk Developer Side-Project](https://www.matthewswong.com/id/blog/google-cloud-vs-digital-ocean/)
- [Stack Monitoring Grafana + Prometheus untuk VPS Anda: Panduan Setup Lengkap](https://www.matthewswong.com/id/blog/grafana-prometheus-monitoring-vps/)
- [Deployment Zero-Downtime dengan NGINX Blue-Green di VPS Tunggal](https://www.matthewswong.com/id/blog/zero-downtime-nginx-blue-green-deploy/)
- [Otomasi Pembaruan Sertifikat SSL dengan Certbot dan NGINX](https://www.matthewswong.com/id/blog/automate-ssl-certbot-nginx/)
- [Self-Hosted Observability Stack di DigitalOcean: Metrik, Log, dan Alert](https://www.matthewswong.com/id/blog/self-hosted-observability-digital-ocean/)
- [Kubernetes untuk Developer Solo: Panduan GKE Praktis Tanpa Kerumitan Berlebihan](https://www.matthewswong.com/id/blog/kubernetes-solo-developer-guide/)
- [Docker Workflow yang Saya Pakai di Setiap Project](https://www.matthewswong.com/id/blog/docker-workflow-every-project/)
- [Google Cloud Managed Services vs Raw Compute: Kapan Pakai Yang Mana](https://www.matthewswong.com/id/blog/google-cloud-managed-services-vs-raw-compute/)
- [Arsitektur Event-Driven dengan Kafka dan NestJS: Panduan Produksi](https://www.matthewswong.com/id/blog/event-driven-kafka-nestjs/)
- [gRPC vs REST untuk API Microservices Internal: Perbandingan Praktis](https://www.matthewswong.com/id/blog/microservices-grpc-vs-rest-internal/)
- [Strategi Sharding PostgreSQL: Kapan dan Bagaimana Menskalakan Database Anda](https://www.matthewswong.com/id/blog/postgresql-sharding-strategy/)
- [Message Queue di Node.js: RabbitMQ vs BullMQ — Mana yang Harus Anda Pilih?](https://www.matthewswong.com/id/blog/message-queue-rabbitmq-bullmq/)
- [Pola API Gateway dengan NestJS: Routing, Auth, dan Rate Limiting dalam Produksi](https://www.matthewswong.com/id/blog/api-gateway-pattern-nestjs-guide/)
- [Distributed Tracing dengan OpenTelemetry: Implementasi NestJS yang Praktis](https://www.matthewswong.com/id/blog/distributed-tracing-opentelemetry/)
- [Pola Circuit Breaker di NestJS: Membangun Microservices yang Tangguh](https://www.matthewswong.com/id/blog/circuit-breaker-nestjs-pattern/)
- [CQRS dan Event Sourcing dengan NestJS: Kapan Kompleksitas Itu Sepadan](https://www.matthewswong.com/id/blog/cqrs-event-sourcing-nestjs/)
- [Menskalakan WebSocket dengan Redis Pub/Sub: Dari Satu Server ke Banyak](https://www.matthewswong.com/id/blog/websocket-scaling-redis-pubsub/)
- [Daftar Periksa OWASP Top 10 untuk Developer: Yang Benar-Benar Saya Implementasikan](https://www.matthewswong.com/id/blog/owasp-top-10-developer-checklist/)
- [JWT vs Autentikasi Sesi di Produksi: Yang Benar-Benar Saya Gunakan](https://www.matthewswong.com/id/blog/jwt-vs-session-auth-production/)
- [Pencegahan SQL Injection dengan ORM: Mengapa Prisma dan TypeORM Masih Butuh Bantuan Anda](https://www.matthewswong.com/id/blog/sql-injection-orm-prevention/)
- [Konfigurasi CORS untuk Next.js dan NestJS: Benar di Produksi](https://www.matthewswong.com/id/blog/cors-configuration-nextjs-nestjs/)
- [HTTPS dan TLS Melampaui Certbot: Pengerasan Konfigurasi SSL](https://www.matthewswong.com/id/blog/https-tls-beyond-certbot/)
- [Keamanan API NestJS di Produksi: Kontrol yang Benar-Benar Saya Deploy](https://www.matthewswong.com/id/blog/api-security-nestjs-production/)
- [Secret Scanning dan Mencegah Kebocoran Kredensial di GitHub](https://www.matthewswong.com/id/blog/secret-scanning-github-prevention/)
- [Pemindaian Keamanan Container Docker dengan Trivy: Panduan Produksi](https://www.matthewswong.com/id/blog/docker-container-security-scanning/)
- [Dasar-Dasar Penetration Testing untuk Developer: Yang Saya Pelajari dari PwC CTF](https://www.matthewswong.com/id/blog/penetration-testing-developer-basics/)
- [Nginx vs Traefik: Memilih Reverse Proxy yang Tepat untuk Stack Anda](https://www.matthewswong.com/id/blog/nginx-vs-traefik/)
- [Checklist Hardening Server Linux: Yang Saya Lakukan di Setiap VPS Baru](https://www.matthewswong.com/id/blog/linux-server-hardening/)
- [GitHub Actions vs GitLab CI: Platform CI/CD Mana yang Harus Anda Pilih?](https://www.matthewswong.com/id/blog/github-actions-vs-gitlab/)
- [PostgreSQL vs MySQL di Produksi: Database Mana yang Harus Anda Pilih?](https://www.matthewswong.com/id/blog/postgresql-vs-mysql/)
- [Pola Caching Redis untuk NestJS: Dari 450ms ke 42ms Waktu Respons API](https://www.matthewswong.com/id/blog/redis-caching-nestjs/)
- [Docker Compose vs Kubernetes untuk Tim Kecil: Kapan Menggunakan Masing-Masing](https://www.matthewswong.com/id/blog/docker-compose-vs-k8s/)
- [Monitoring dan Alerting untuk DevOps Solo: Stack Praktis yang Berhasil](https://www.matthewswong.com/id/blog/monitoring-alerting-solo/)
- [Hardening Keamanan SSH untuk VPS: Hentikan Brute Force Sebelum Dimulai](https://www.matthewswong.com/id/blog/ssh-security-hardening/)
- [Strategi Backup PostgreSQL untuk VPS: Dari pg_dump hingga WAL Archiving](https://www.matthewswong.com/id/blog/postgresql-backup-strategy/)
- [Tuning Performa Nginx: Dari Konfigurasi Default ke 50.000 Req/s](https://www.matthewswong.com/id/blog/nginx-performance-tuning/)
- [Fail2ban di VPS: Otomatiskan Perlindungan Brute Force dalam 15 Menit](https://www.matthewswong.com/id/blog/fail2ban-vps-security/)
- [Systemd Service untuk Background Job: Cara yang Benar Menjalankan Node.js di Produksi](https://www.matthewswong.com/id/blog/systemd-services-jobs/)
- [WireGuard VPN untuk Jaringan Cloud Privat: Sederhana, Cepat, Aman](https://www.matthewswong.com/id/blog/wireguard-vpn-cloud/)
- [Rotasi Log di Linux: Mengelola Log Produksi Sebelum Mengisi Disk Anda](https://www.matthewswong.com/id/blog/log-rotation-linux/)
- [Docker Secrets di Produksi: Hentikan Menaruh API Key di Variabel Lingkungan](https://www.matthewswong.com/id/blog/docker-secrets-production/)
- [Cloud Run vs Cloud Functions: Platform Serverless Google Mana yang Harus Anda Gunakan?](https://www.matthewswong.com/id/blog/cloud-run-vs-functions/)
- [Membangun Modul Terraform yang Dapat Digunakan Ulang: Panduan IaC Produksi](https://www.matthewswong.com/id/blog/terraform-modules-reusable/)
- [Ansible Playbooks di Produksi: Pola Otomasi Nyata yang Dapat Diskalakan](https://www.matthewswong.com/id/blog/ansible-playbooks-production/)
- [Cara Saya Memangkas Biaya Cloud 40%: Strategi Optimasi Nyata yang Berhasil](https://www.matthewswong.com/id/blog/cloud-cost-optimization/)
- [Strategi Multi-Cloud untuk Tim Kecil: Apakah Sepadan dengan Kompleksitasnya?](https://www.matthewswong.com/id/blog/multi-cloud-small-teams/)
- [CDN dengan Cloudflare: Cara yang Benar untuk Menyajikan Aset Statis di Edge](https://www.matthewswong.com/id/blog/cdn-cloudflare-static/)
- [Load Balancer Nginx di Produksi: Konfigurasi, Health Check, dan Failover](https://www.matthewswong.com/id/blog/load-balancer-production-config/)
- [Perencanaan Disaster Recovery untuk VPS: Backup, RTO, dan Pemulihan yang Benar-Benar Diuji](https://www.matthewswong.com/id/blog/disaster-recovery-vps/)
- [Strategi Container Registry di GCP: Dari GCR ke Artifact Registry](https://www.matthewswong.com/id/blog/container-registry-gcr/)
- [VPC Networking untuk Developer: Panduan Praktis Isolasi Jaringan Cloud](https://www.matthewswong.com/id/blog/vpc-networking-guide/)
- [Cloud Storage vs MinIO: Memilih Object Storage untuk Produksi](https://www.matthewswong.com/id/blog/cloud-storage-vs-minio/)
- [GitHub Actions Self-Hosted Runner: Panduan Setup dan Keamanan Lengkap](https://www.matthewswong.com/id/blog/github-actions-runners/)
- [HashiCorp Vault untuk Manajemen Secrets Produksi: Setup dan Praktik Terbaik](https://www.matthewswong.com/id/blog/hashicorp-vault-secrets/)
- [Prometheus dan AlertManager: Membangun Sistem Alert On-Call yang Benar-Benar Berfungsi](https://www.matthewswong.com/id/blog/prometheus-alertmanager/)
- [Elastic Stack (ELK) Self-Hosted: Setup Produksi dan Pelajaran Operasional](https://www.matthewswong.com/id/blog/elastic-stack-self-hosted/)

---

- HTML version: https://www.matthewswong.com/id/blog/category/devops/
- English: https://www.matthewswong.com/en/blog/category/devops/
- Site index for agents: https://www.matthewswong.com/llms.txt
- Sitemap: https://www.matthewswong.com/sitemap.xml
- API description (OpenAPI): https://www.matthewswong.com/openapi.json
