> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skanesgalab.my.id/llms.txt
> Use this file to discover all available pages before exploring further.

# Fundamental DevOps

> Pengenalan dasar konsep DevOps, siklus hidup (DevOps Lifecycle), pilar CAMS, perbedaan SysAdmin vs DevOps, dan tools populer.

## Apa itu DevOps?

**DevOps** adalah singkatan dari **Development** (Pengembangan Perangkat Lunak) dan **Operations** (Operasional Infrastruktur TI). DevOps bukan sekadar jabatan (*job role*) atau sebuah perangkat lunak, melainkan **budaya kerja kolaboratif**, serangkaian praktik terbaik, dan otomatisasi yang bertujuan mempercepat siklus pengiriman perangkat lunak dengan tetap menjaga stabilitas sistem produksi.

***

## Perbedaan SysAdmin Tradisional vs DevOps

| Aspek | SysAdmin Tradisional | DevOps Engineer |
| :- | :- | :- |
| **Fokus Utama** | Memelihara kestabilan server fisik/VM & konfigurasi sistem manual | Mengotomatisasi alur rilis kode, infrastruktur, dan pipeline |
| **Kolaborasi** | Bekerja terpisah dari pengembang (*silo*) | Terintegrasi erat bersama developer sejak tahap awal pembuatan aplikasi |
| **Manajemen Server** | Konfigurasi manual melalui SSH/GUI (*Snowflake servers*) | Berbasis kode (*Infrastructure as Code - IaC*) & Kontainer |
| **Frekuensi Rilis** | Mingguan/Bulanan (dengan waktu henti terjadwal) | Harian bahkan beberapa kali sehari secara otomatis (*Zero Downtime*) |
| **Respon Insiden** | Penanganan manual saat server error | *Self-healing*, monitoring real-time, dan rollback otomatis |

***

## 4 Pilar DevOps (Model CAMS)

Untuk menerapkan DevOps secara efektif, diadopsi kerangka kerja **CAMS**:

1. **Culture (Budaya):** Membangun transparansi, komunikasi terbuka, dan tanggung jawab bersama antara pengembang dan operator tanpa saling menyalahkan (*blameless culture*).
2. **Automation (Otomatisasi):** Menghilangkan pekerjaan manual yang berulang melalui pipeline pengujian otomatis, build otomatis, dan deployment otomatis.
3. **Measurement (Pengukuran):** Mengukur metrik kinerja seperti frekuensi rilis, waktu pemulihan (*Mean Time to Recovery - MTTR*), tingkat keberhasilan build, dan pemakaian sumber daya.
4. **Sharing (Berbagi Pengetahuan):** Membagikan pembelajaran, dokumentasi, template skrip, dan temuan insiden kepada seluruh anggota tim.

***

## Siklus Hidup DevOps (DevOps Lifecycle)

DevOps digambarkan sebagai loop tak berujung (simbol *Infinity* $\infty$) yang mencakup tahapan berkelanjutan:

```mermaid theme={null}
flowchart LR
    Plan["1. Plan (Perencanaan)"] --> Code["2. Code (Penulisan Kode)"]
    Code --> Build["3. Build (Penyusunan Paket)"]
    Build --> Test["4. Test (Pengujian Otomatis)"]
    Test --> Release["5. Release (Persiapan Rilis)"]
    Release --> Deploy["6. Deploy (Penyebaran ke Server)"]
    Deploy --> Operate["7. Operate (Operasional Aplikasi)"]
    Operate --> Monitor["8. Monitor (Pemantauan Sistem)"]
    Monitor --> Plan
```

1. **Plan:** Menentukan fitur baru, perbaikan bug, dan prioritas tugas (menggunakan Jira, GitHub Projects, Trello).
2. **Code:** Developer menulis kode program dan menyimpannya di Version Control System (Git, GitHub, GitLab).
3. **Build:** Kode dikompilasi atau dikemas bersama dependensinya menjadi artefak atau Docker Image.
4. **Test:** Menjalankan pengujian otomatis (unit test, integrasi, keamanan kode) untuk mencegah bug lolos ke produksi.
5. **Release:** Menandai versi rilis yang siap dikirimkan.
6. **Deploy:** Menyebarkan aplikasi ke lingkungan staging atau server produksi secara otomatis menggunakan CI/CD.
7. **Operate:** Mengelola konfigurasi dan skalabilitas aplikasi yang sedang berjalan (menggunakan Docker, Kubernetes).
8. **Monitor:** Mengumpulkan log, performa latency, dan metrik kesehatan server (Prometheus, Grafana, ELK Stack).

***

## Peta Alat (DevOps Tools Landscape)

* **Version Control (VCS):** Git, GitHub, GitLab.
* **Kontainerisasi & Orkestrasi:** Docker, Docker Swarm, Kubernetes.
* **CI/CD Pipeline:** GitHub Actions, GitLab CI, Jenkins.
* **Infrastructure as Code (IaC):** Terraform, Ansible.
* **Monitoring & Logging:** Prometheus, Grafana, Datadog.

***

## Rekomendasi Sumber Belajar

> [!NOTE]
>
> Berikut sumber referensi untuk memperdalam pemahaman mengenai alur kerja dan pola pikir DevOps:

* [DevOps Roadmap - Roadmap.sh](https://roadmap.sh/devops)
* [What is DevOps? - AWS Official Guide](https://aws.amazon.com/devops/what-is-devops/)
* [DevOps Culture and Mindset - Coursera](https://www.coursera.org/learn/devops-culture-mindset)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.