⚙️ Dasar DevOps
Level: Intermediate
DevOps adalah budaya dan praktik yang menyatukan tim Development dan Operations untuk mempercepat siklus pengembangan, meningkatkan kualitas, dan memastikan aplikasi dapat berjalan stabil di produksi.
Bayangkan DevOps seperti orkestra: developer adalah pemain musik, ops adalah teknisi panggung, dan DevOps adalah konduktor yang menyatukan keduanya agar pertunjukan berjalan harmonis.
📖 Konsep Utama DevOps
- Kolaborasi: hilangkan sekat antara dev & ops.
- Automasi: otomatisasi build, test, deploy.
- Continuous Integration (CI): kode baru digabung & diuji secara otomatis.
- Continuous Delivery/Deployment (CD): aplikasi siap dirilis kapan saja.
- Monitoring: pantau performa & error di produksi.
- Feedback Loop: perbaikan cepat berdasarkan data nyata.
🔧 Tools Populer
- CI/CD: GitHub Actions, GitLab CI, Jenkins.
- Configuration Management: Ansible, Puppet, Chef.
- Container & Orchestration: Docker, Kubernetes.
- Monitoring: Prometheus, Grafana, ELK Stack.
🔄 Alur DevOps (Pipeline)
- Developer push kode ke repository.
- CI server build & jalankan unit test.
- Jika lolos, kode di-deploy ke staging.
- Setelah validasi, otomatis deploy ke production.
- Monitoring & feedback untuk perbaikan.
🛠️ Praktik Kecil
Buat pipeline sederhana dengan GitHub Actions:
# .github/workflows/nodejs.yml
name: Node.js CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- run: npm install
- run: npm test
👉 Pipeline ini otomatis menjalankan npm install dan npm test setiap kali ada push ke repo.
🎮 Mini Challenge
Buat pipeline CI/CD sederhana:
- Gunakan GitHub Actions atau GitLab CI.
- Pipeline harus build & test aplikasi Node.js.
- Jika sukses, deploy otomatis ke staging (misalnya Heroku atau Vercel).
Tugas tambahan: Tambahkan notifikasi ke Slack/Discord jika pipeline gagal.