DevOps dengan GitOps - Gambaran Umum Metodologi, Alat GitOps dan Perbandingan dengan Alternatifnya

Beberapa catatan tentang GitOps

Konten Halaman

GitOps adalah pendekatan modern dalam mengelola pengiriman infrastruktur dan aplikasi dengan menggunakan Git sebagai satu-satunya sumber kebenaran. Ia memanfaatkan kemampuan kontrol versi Git untuk mengotomatisasi dan mempermudah proses pengiriman dan pengelolaan aplikasi serta infrastruktur, terutama dalam lingkungan native cloud.

gitops logo

Secara esensial, GitOps memperlakukan keadaan yang diinginkan dari sistem Anda, yang didefinisikan dalam Git, sebagai sumber otoritas, dan alat otomatis memastikan bahwa keadaan aktual dari sistem sesuai dengan keadaan yang diinginkan ini.

Berikut adalah penjelasan tentang apa itu GitOps, cara kerjanya, alur kerja yang umum, dan alternatifnya.

Apa itu GitOps?

GitOps adalah metodologi yang menggunakan repositori Git untuk mendefinisikan dan mengelola konfigurasi infrastruktur dan aplikasi. Semua perubahan dilakukan melalui commit dan pull request Git, yang kemudian secara otomatis diterapkan ke infrastruktur oleh agen otomatis (seperti Argo CD atau Flux).

Prinsip Dasar:

  • Git sebagai satu-satunya sumber kebenaran
  • Pengiriman otomatis melalui continuous delivery (CD)
  • Rekonsiliasi: Pastikan keadaan aktual sesuai dengan keadaan yang diinginkan
  • Perubahan yang dapat diaudit dan dikontrol versinya

Cara Menggunakan GitOps

  1. Mendefinisikan Konfigurasi:

    • Gunakan YAML atau JSON untuk mendefinisikan infrastruktur Anda (misalnya, manifest Kubernetes, file Terraform).
  2. Menyimpan di Git:

    • Unggah file konfigurasi ke repositori Git.
  3. Mengotomatisasi Pengiriman:

    • Gunakan alat GitOps seperti Argo CD atau Flux untuk memantau repositori dan menerapkan perubahan ke lingkungan Anda.
  4. Membuat Perubahan melalui Pull Request:

    • Setiap pembaruan dilakukan melalui pull request. Setelah digabungkan, agen GitOps akan menerapkan perubahan secara otomatis.

Alur Kerja GitOps yang Umum

  • Pengiriman Aplikasi:

    • Pengembang memperbarui konfigurasi aplikasi (misalnya, versi gambar) → PR → Gabungkan → Alat GitOps mengirimkan pembaruan.
  • Manajemen Infrastruktur:

    • DevOps memodifikasi kode infrastruktur → PR → Gabungkan → Infrastruktur diperbarui melalui alat seperti Terraform atau Crossplane.
  • Rollback:

    • Kembalikan commit di Git → Alat GitOps secara otomatis mengembalikan ke keadaan sebelumnya.
  • Deteksi Drift:

    • Jika keadaan live berbeda dari Git, alat GitOps akan memberi peringatan atau secara otomatis merekonsiliasi.

Alat GitOps yang Populer

Alat Deskripsi
Argo CD Alat continuous delivery (CD) berbasis GitOps native Kubernetes.
Flux Alat GitOps yang ringan dan dapat diperluas.
Jenkins X Platform CI/CD dengan dukungan GitOps bawaan.
Weave GitOps GitOps enterprise dengan fitur kebijakan dan keamanan.

Argo CD

Argo CD adalah alat continuous delivery (CD) berbasis GitOps deklaratif untuk Kubernetes. Ia mengotomatisasi pengiriman aplikasi dengan menyinkronkan repositori Git dengan klaster Kubernetes, memastikan konsistensi di seluruh lingkungan. Fitur utama meliputi:

  • Native Kubernetes: Dirancang untuk Kubernetes, dengan integrasi dalam untuk mengelola konfigurasi deklaratif.
  • Alur Kerja Deklaratif: Menggunakan Git sebagai satu-satunya sumber kebenaran untuk definisi aplikasi, konfigurasi, dan lingkungan.
  • Antarmuka Pengguna yang Ramah: Menyediakan antarmuka web untuk pemantauan real-time, manajemen aplikasi, dan visualisasi status pengiriman.

Argo CD bertindak sebagai kontroler yang terus-menerus merekonsiliasi keadaan aktual aplikasi dengan keadaan yang diinginkan yang didefinisikan dalam repositori Git.

Fitur Utama Argo CD sebagai Alat GitOps Argo CD menawarkan himpunan fitur yang kuat yang disesuaikan untuk alur kerja GitOps:

Fitur Deskripsi
Dukungan Multi-Klaster Mengelola pengiriman di seluruh klaster Kubernetes dengan kontrol terpusat.
RBAC & Multi-Tenancy Kontrol akses halus melalui peran, proyek, dan izin.
CLI & Web UI CLI untuk otomatisasi dan integrasi CI/CD; antarmuka web untuk pemantauan real-time.
Dukungan Helm & Kustomize Mengaplikasikan Helm charts dan konfigurasi Kustomize melalui alur kerja deklaratif.
Observabilitas Metrik, peringatan, dan notifikasi melalui Prometheus, Grafana, dan Slack.
Rollback & Sinkronisasi Memungkinkan rollback ke keadaan Git yang dikomitkan dan sinkronisasi otomatis.

Cara Argo CD Menerapkan Prinsip GitOps Argo CD sejalan dengan prinsip GitOps melalui mekanisme berikut:

  • Git sebagai Sumber Tunggal Kebenaran: Aplikasi, konfigurasi, dan lingkungan didefinisikan dalam repositori Git.
  • Rekonsiliasi Otomatis: Pengontrol Aplikasi terus-menerus membandingkan keadaan aktual sumber daya Kubernetes dengan keadaan yang diinginkan dalam Git, menyelesaikan drift secara otomatis.
  • Konfigurasi Deklaratif: Menggunakan Kubernetes CRDs (misalnya, Application, AppProject) untuk mendefinisikan target pengiriman dan kebijakan sinkronisasi.
  • Sinkronisasi Berbasis Tarik: Perubahan ditarik dari repositori Git untuk menyelaraskan lingkungan yang dideploy dengan keadaan yang diinginkan.

Pendekatan ini memastikan kemampuan audit, kelacakkan, dan konsistensi di seluruh lingkungan.

Kasus Penggunaan dan Aplikasi Nyata Argo CD Argo CD secara luas diadopsi dalam lingkungan produksi untuk:

  • Pengiriman Kubernetes: Menyelaraskan keadaan klaster dengan repositori Git untuk pembaruan yang mulus.
  • Integrasi CI/CD: Bekerja dengan pipeline CI (misalnya, GitHub Actions, Jenkins) untuk mengotomatisasi pengiriman dan rollback.
  • Keamanan: Terintegrasi dengan alat seperti Sealed Secrets dan SOPS untuk manajemen rahasia terenkripsi.

Metode Instalasi:

  • Kubectl: Pengaturan ringan untuk kasus penggunaan dasar.
  • Helm: Direkomendasikan untuk lingkungan produksi, menawarkan kontrol granular dan konfigurasi HA.

Langkah Konfigurasi:

  1. Buat namespace (argocd) dan terapkan manifest melalui kubectl.
  2. Ekspor UI Argo CD menggunakan kubectl port-forward.
  3. Daftarkan repositori Git dan definisikan Application CRDs yang menentukan sumber (repo Git) dan tujuan (klaster Kubernetes/nama namespace).

Alat untuk Integrasi:

  • Kustomize: Untuk konfigurasi spesifik lingkungan (misalnya, dev/staging/prod).
  • Helm: Untuk manajemen paket dan pengiriman berparameter.

Praktik Terbaik dalam Menggunakan Argo CD dalam Alur Kerja GitOps

  1. Pisahkan Repositori Konfigurasi: Simpan manifest Kubernetes dalam repositori Git terpisah dari kode sumber aplikasi.
  2. Gunakan ApplicationSets: Otomatisasi pengiriman aplikasi berparameterisasi di seluruh klaster/lingkungan.
  3. Lindungi Rahasia: Hindari rahasia dalam teks biasa; gunakan Sealed Secrets atau External Secrets Operator.
  4. Pantau dan Audit: Lacak status sinkronisasi, perbedaan, dan drift menggunakan pemantauan bawaan Argo CD dan sejarah Git.
  5. Aktifkan Self-Healing: Konfigurasikan prune=true dan selfHeal=true untuk memperbaiki drift secara otomatis.

Tren Masa Depan dan Evolusi Argo CD dalam Ekosistem GitOps

  • Dukungan Multi-Cloud yang Ditingkatkan: Perluasan kemampuan multi-klaster dan multi-cloud untuk lingkungan hybrid.
  • Integrasi yang Lebih Dalam dengan Alat IaC: Integrasi yang lebih dalam dengan platform IaC seperti Terraform dan Pulumi.
  • Kemampuan CI/CD yang Diperluas: Penghubungan yang lebih erat dengan alat CI (misalnya, GitHub Actions) untuk alur kerja end-to-end.
  • Observabilitas yang Lebih Baik: Metrik, peringatan, dan integrasi dengan platform observabilitas seperti Grafana dan Prometheus.

Flux V2 untuk GitOps

Flux adalah alat open-source yang telah lulus dari CNCF yang dirancang untuk otomatisasi berbasis GitOps dalam lingkungan Kubernetes. Dikembangkan oleh Weaveworks, ia memungkinkan tim menyelaraskan klaster Kubernetes dengan repositori Git, memastikan bahwa keadaan infrastruktur dan aplikasi selalu sejalan dengan definisi yang dikontrol versinya.

Aspek utama dari Flux meliputi:

  • Operator GitOps: Flux bertindak sebagai kontroler Kubernetes, terus-menerus memantau repositori Git dan menerapkan perubahan ke klaster.
  • Ringan dan Dapat Diperluas: Desain modular memungkinkan personalisasi (misalnya, mengaktifkan/menonaktifkan kontroler seperti Source, Kustomize, atau Helm).
  • Alur Kerja Berbasis CLI: Flux memprioritaskan antarmuka perintah baris (CLI) untuk skrip dan otomatisasi, meskipun antarmuka GUI pihak ketiga (misalnya, Weave GitOps) tersedia.

Flux secara luas diadopsi dalam lingkungan native cloud untuk otomatisasi, keamanan, dan skalabilitas-nya.

3. Fitur Utama Flux sebagai Alat GitOps
Flux menawarkan berbagai fitur yang sejalan dengan prinsip GitOps:

  1. Konfigurasi Berbasis Git:

    • Menyimpan manifest Kubernetes, Helm charts, dan overlay Kustomize dalam repositori Git.
    • Contoh: Repositori konfigurasi Flux tipe umum mencakup direktori untuk namespaces.yaml, deployments.yaml, dan konfigurasi spesifik lingkungan.
  2. Manajemen Sumber Daya Kubernetes:

    • Terus-menerus memantau repositori Git dan menerapkan perubahan ke klaster melalui loop rekonsiliasi.
    • Mendukung Helm, Kustomize, dan OCI registries untuk mengelola definisi aplikasi dan infrastruktur.
  3. Pembaruan Gambar Otomatis:

    • Mendeteksi versi gambar kontainer baru di registries (misalnya, Docker Hub, Azure Container Registry) dan memperbarui manifest dalam Git.
  4. Keamanan dan Kepatuhan:

    • Menggunakan kebijakan RBAC untuk kontrol akses halus.
    • Terintegrasi dengan alat manajemen rahasia (misalnya, SOPS, Sealed Secrets) untuk mengenkripsi data sensitif (misalnya, token API).
  5. Pengiriman Bertahap:

    • Bekerja dengan Flagger untuk menerapkan pengiriman canary, pengujian A/B, dan rollouts blue-green.
  6. Dukungan Multi-Klaster:

    • Mengelola beberapa klaster Kubernetes melalui repositori Git, memungkinkan pengiriman konsisten di seluruh lingkungan.

4. Cara Flux Sejalan dengan Prinsip GitOps
Flux sepenuhnya menerima prinsip GitOps melalui arsitektur dan alur kerjanya:

  • Keadaan Deklaratif: Semua sumber daya Kubernetes didefinisikan dalam Git, memastikan kelacakkan dan kontrol versi.
  • Rekonsiliasi Berkelanjutan: Flux secara otomatis menyelaraskan klaster dengan repositori Git, menghilangkan perintah kubectl apply manual.
  • Kontrol Versi: Perubahan dilakukan melalui pull request, memungkinkan kolaborasi, tinjauan, dan persetujuan.
  • Otomatisasi: Flux mengurangi beban operasional dengan mengotomatisasi pipeline pengiriman, dari commit kode hingga pembaruan klaster.

Model berbasis tarik Flux (dibandingkan dengan model berbasis dorong CI/CD) meningkatkan keamanan dengan meminimalkan paparan terhadap intervensi manual.

Kasus Penggunaan Flux dalam Situasi Nyata
Flux ideal untuk kasus penggunaan berikut:

  1. Pengiriman Kubernetes Otomatis:
    • Menyelaraskan keadaan klaster dengan repositori Git, memastikan konsistensi di lingkungan dev, staging, dan produksi.
  2. Pengiriman Bertahap:
    • Memungkinkan pengiriman canary dengan Flagger untuk pengujian terkendali.
  3. Manajemen Multi-Klaster:
    • Mengirimkan aplikasi ke beberapa klaster Kubernetes (misalnya, AKS, EKS, Azure Arc).
  4. Integrasi CI/CD:
    • Bekerja dengan GitHub Actions, Jenkins, dan GitLab CI/CD untuk mengotomatisasi pipeline pengujian, pembuatan, dan pengiriman.
  5. Infrastructure as Code (IaC):
    • Mengelola infrastruktur melalui Terraform atau Helm, sejalan dengan prinsip GitOps.

Contoh: Perusahaan FinTech menggunakan Flux untuk mengotomatisasi pengiriman produksi, memastikan jejak audit dan rollback cepat.

Instalasi:

  • CLI: Instalasi melalui brew install fluxctl atau unduhan langsung.
  • Helm:
    helm repo add fluxcd https://charts.fluxcd.io
    helm upgrade -i flux fluxcd/flux \
    --set git.url=git@github.com:your-username/your-repo \
    --namespace flux
    

Integrasi dengan Pipeline CI/CD dan Infrastruktur
Flux terintegrasi dengan lancar dengan alat CI/CD:

  • GitHub Actions: Memicu sinkronisasi Flux pada kejadian push Git (lihat contoh kode).
  • Jenkins: Mengotomatisasi pipeline pengujian, pembuatan, dan pengiriman.
  • GitLab CI/CD: Menggunakan .gitlab-ci.yml untuk memicu sinkronisasi Flux.

Integrasi Infrastruktur:

  • Terraform: Mengelola infrastruktur sebagai kode (IaC) melalui Flux.
  • Prometheus: Memantau pengiriman Flux dengan metrik dan peringatan.
  • Open Policy Agent (OPA): Menerapkan kebijakan sebagai kode untuk sumber daya Kubernetes.

Tantangan dan Keterbatasan Menggunakan Flux

  • Kompleksitas Keamanan: Mengelola rahasia di Git memerlukan alat seperti SOPS atau Sealed Secrets.
  • Beban Audit: Memerlukan penerapan ketat untuk penandatanganan commit Git dan larangan force-push.
  • Pengembangan Versi: Konfigurasi spesifik lingkungan (misalnya, dev vs. produksi) memerlukan proses tinjauan yang hati-hati.
  • Kematangan Alat: UI Flux kurang matang dibandingkan Argo CD, memerlukan ketergantungan pada alat pihak ketiga untuk pemantauan.

Praktik Terbaik dalam Mengimplementasikan Flux

  • Hindari Tag :latest: Gunakan penomoran versi semantik untuk gambar kontainer.
  • Struktur Repositori Git Secara Logis: Gunakan direktori seperti /apps, /clusters, dan /environments.
  • Pantau Status Rekonsiliasi: Gunakan flux get all dan peringatan untuk umpan balik real-time.
  • Aktifkan RBAC: Implementasikan kontrol akses halus untuk Flux dan sumber daya Kubernetes.
  • Integrasi dengan Manajemen Rahasia: Gunakan SOPS atau HashiCorp Vault untuk rahasia terenkripsi.

Poin Penting:

  • Kekuatan: Otomatisasi, alur kerja deklaratif, dan integrasi dengan pipeline CI/CD.
  • Kelemahan: Kompleksitas keamanan, beban audit, dan UI yang terbatas.
  • Terbaik Untuk: Tim yang memprioritaskan otomatisasi berbasis CLI, Helm/Kustomize, dan manajemen multi-klaster.

Flux sejalan dengan masa depan GitOps, di mana manajemen infrastruktur dan aplikasi sepenuhnya otomatis, aman, dan skalabel. Evolusi terus-menerus Flux di bawah CNCF memastikan relevansinya dalam ekosistem DevOps.

GitOps dengan Jenkins X

Jenkins X adalah platform CI/CD open-source berbasis cloud-native yang dirancang untuk mengotomatisasi pengiriman aplikasi di Kubernetes. Ia sejalan dengan prinsip GitOps, yang menekankan penggunaan repositori Git sebagai satu-satunya sumber kebenaran untuk konfigurasi infrastruktur dan aplikasi. Dengan mengintegrasikan dengan Kubernetes, Jenkins X memungkinkan tim mengelola pipeline CI/CD, pengiriman, dan promosi lingkungan melalui alur kerja berbasis Git. Pendekatan ini memastikan kontrol versi, kemampuan audit, dan kolaborasi, menjadikannya alat yang kuat untuk praktik DevOps modern.

Jenkins X: Fitur Utama dan Arsitektur Jenkins X dibangun di atas Kubernetes dan mengintegrasikan dengan Tekton, Helm, dan FluxCD untuk menyediakan solusi CI/CD yang komprehensif. Fitur utama meliputi:

  • Alur Kerja GitOps: Menggunakan repositori Git untuk mengelola pipeline, infrastruktur, dan pengiriman.
  • Promosi Lingkungan: Mengotomatisasi pengiriman di seluruh lingkungan (dev, staging, produksi) melalui strategi yang ditentukan sebelumnya.
  • Pipeline sebagai Kode: Mengkonfigurasi pipeline CI/CD menggunakan file YAML (misalnya, jenkins-x.yml) untuk reproduksibilitas.
  • Observabilitas: Mengintegrasikan Prometheus dan Grafana untuk pemantauan dan logging real-time.

Arsitektur mencakup:

  • Jenkins X CLI: Untuk pembuatan klaster (jx create cluster) dan pengaturan proyek (jx create quickstart).
  • Repositori GitOps: Menyimpan definisi pipeline, Helm charts, dan manifest Kubernetes.
  • Integrasi Kubernetes: Mengirimkan aplikasi menggunakan Helm charts dan mengelola lingkungan melalui FluxCD.

Contoh:

pipelineConfig:
  pipelines:
    release:
      pipeline:
        stages:
          - name: Deploy
            steps:
              - script: kubectl apply -f kubernetes-manifests/

Jenkins X adalah alat GitOps yang komprehensif yang menyederhanakan alur kerja CI/CD berbasis cloud-native di Kubernetes. Dengan sejalan dengan prinsip GitOps, ia memastikan kemampuan audit, otomatisasi, dan kolaborasi, menjadikannya ideal untuk organisasi yang mengadopsi DevOps dan microservices. Namun, alur kerja yang bersifat opiniatif mungkin memerlukan personalisasi untuk kasus penggunaan lanjutan. Seiring evolusi GitOps, Jenkins X siap untuk mengintegrasikan alat baru (misalnya, Kustomize, Lens) dan mengembangkan skala ke lingkungan perusahaan, memperkuat perannya dalam praktik DevOps modern.

Insight Akhir: Jenkins X membangun jembatan antara CI/CD tradisional dan GitOps, menawarkan solusi yang koheren untuk tim yang mencari otomatisasi, observabilitas, dan kolaborasi dalam alur kerja berbasis Kubernetes.

Weave GitOps

Weave GitOps adalah alat open-source berbasis cloud-native yang dikembangkan oleh Weaveworks, dirancang untuk mengotomatisasi pengiriman dan pengelolaan aplikasi di Kubernetes. Alat ini menyederhanakan pengiriman berkelanjutan (CD) dengan menyelaraskan lingkungan produksi dengan keadaan yang diinginkan yang didefinisikan dalam Git, memastikan konsistensi dan mengurangi intervensi manual. Weave GitOps terintegrasi dengan baik dengan Kubernetes, pipeline CI/CD, dan alat infrastructure-as-code (IaC), menjadikannya pilihan populer untuk tim yang mengadopsi praktik GitOps.

Arsitektur dan Komponen Alat Weave GitOps dibangun sebagai alat native Kubernetes, memanfaatkan kontroler Kubernetes dan sumber daya kustom (CRDs) untuk otomatisasi GitOps. Komponen utama meliputi:

  • Operator GitOps: Sebuah kontroler Kubernetes yang memantau repositori Git untuk perubahan dan menerapkan pembaruan ke klaster.
  • Mesin Rekonsiliasi: Membandingkan keadaan aktual klaster dengan keadaan yang diinginkan dalam Git, memicu pembaruan untuk menyelaraskan.
  • UI dan CLI: Menyediakan dashboard berbasis web untuk visualisasi pengiriman dan CLI (gitops) untuk mengelola alur kerja.
  • Lapisan Integrasi: Menghubungkan dengan alat eksternal seperti Flux, Helm, Kustomize, dan platform CI/CD untuk otomatisasi end-to-end.

Arsitektur menekankan skalabilitas, keamanan, dan ekstensibilitas, menjadikannya cocok untuk tim kecil maupun lingkungan perusahaan.

Kasus Penggunaan dan Skenario Utama Weave GitOps ideal untuk kasus penggunaan berikut:

  • Pengiriman Berkelanjutan (CD): Mengotomatisasi pipeline pengiriman aplikasi, memastikan pembaruan yang cepat dan andal.
  • Lingkungan Multi-Klaster dan Multi-Cloud: Mengelola pengiriman di seluruh klaster Kubernetes hybrid dan multi-cloud.
  • Otomatisasi Infrastruktur Perusahaan: Menerapkan kebijakan keamanan, kepatuhan, dan tata kelola melalui kebijakan sebagai kode.
  • Platform Self-Service Pengembang: Memungkinkan pengembang mengelola infrastruktur dan aplikasi tanpa memerlukan keahlian Kubernetes yang mendalam.
  • Observabilitas dan Pemecahan Masalah: Menyediakan wawasan real-time tentang keadaan aplikasi dan proses rekonsiliasi.

Instalasi

  • Helm: Gunakan chart Weave GitOps Helm untuk menginstal alat di Kubernetes.
  • CLI: Instalasi melalui curl atau Homebrew (brew install weaveworks/tap/gitops).
  • Bootstrap: Jalankan gitops bootstrap untuk menginisialisasi platform.

Konfigurasi

  • Definisikan manifest aplikasi, Helm charts, atau konfigurasi Kustomize dalam repositori Git.
  • Gunakan gitops apply untuk menyelaraskan keadaan klaster dengan Git.
  • Ekspor UI melalui Service Kubernetes dan LoadBalancer (misalnya, di AWS EKS).

Tantangan dan Keterbatasan

  • Kurva Belajar: Memerlukan keahlian dengan Kubernetes, GitOps, dan alat IaC.
  • Kurangnya Personalisasi: Kurang modular dibandingkan Flux, yang mungkin menjadi kelemahan untuk pengguna lanjutan.
  • Komunitas yang Lebih Kecil: Memiliki ekosistem yang lebih kecil dibandingkan Argo CD atau Flux.
  • Fitur Komersial: Fitur enterprise (misalnya, keamanan lanjutan, dukungan multi-cloud) memerlukan lisensi berbayar.

Weave GitOps adalah alat yang kuat dan siap untuk perusahaan dalam mengotomatisasi pengiriman Kubernetes melalui GitOps. Ia unggul dalam keamanan, manajemen multi-klaster, dan integrasi dengan pipeline CI/CD, menjadikannya pilihan kuat untuk organisasi yang mengadopsi GitOps secara besar-besaran. Meskipun menghadapi persaingan dari Flux dan Argo CD, setelan fitur yang komprehensif, kemampuan enterprise-grade, dan dukungan komersial menempatkannya sebagai solusi utama dalam ekosistem GitOps. Tim sebaiknya mengevaluasi kebutuhan dan alur kerja spesifik mereka saat memilih antara Weave GitOps, Flux, atau Argo CD.

Alternatif GitOps

Pendekatan Deskripsi
Pipeline CI/CD Gunakan Jenkins, GitHub Actions, atau GitLab CI untuk membangun/mengirimkan saat push tanpa Git sebagai sumber kebenaran.
Ops Manual Pendekatan tradisional: Insinyur ops mengkonfigurasi atau memperbarui infrastruktur secara manual.
Infrastructure as Code (IaC) Gunakan alat seperti Terraform, Pulumi, atau Ansible tanpa perlu menggunakan alur kerja Git.
Platform-as-a-Service (PaaS) Mengabstraksi kompleksitas pengiriman (misalnya, Heroku, Google App Engine).

Tautan yang Berguna

Tautan Lainnya