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
4 Pilar DevOps (Model CAMS)
Untuk menerapkan DevOps secara efektif, diadopsi kerangka kerja CAMS:- Culture (Budaya): Membangun transparansi, komunikasi terbuka, dan tanggung jawab bersama antara pengembang dan operator tanpa saling menyalahkan (blameless culture).
- Automation (Otomatisasi): Menghilangkan pekerjaan manual yang berulang melalui pipeline pengujian otomatis, build otomatis, dan deployment otomatis.
- Measurement (Pengukuran): Mengukur metrik kinerja seperti frekuensi rilis, waktu pemulihan (Mean Time to Recovery - MTTR), tingkat keberhasilan build, dan pemakaian sumber daya.
- 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 ) yang mencakup tahapan berkelanjutan:- Plan: Menentukan fitur baru, perbaikan bug, dan prioritas tugas (menggunakan Jira, GitHub Projects, Trello).
- Code: Developer menulis kode program dan menyimpannya di Version Control System (Git, GitHub, GitLab).
- Build: Kode dikompilasi atau dikemas bersama dependensinya menjadi artefak atau Docker Image.
- Test: Menjalankan pengujian otomatis (unit test, integrasi, keamanan kode) untuk mencegah bug lolos ke produksi.
- Release: Menandai versi rilis yang siap dikirimkan.
- Deploy: Menyebarkan aplikasi ke lingkungan staging atau server produksi secara otomatis menggunakan CI/CD.
- Operate: Mengelola konfigurasi dan skalabilitas aplikasi yang sedang berjalan (menggunakan Docker, Kubernetes).
- 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
Berikut sumber referensi untuk memperdalam pemahaman mengenai alur kerja dan pola pikir DevOps: