Skip to content

Bab 6: Pengelolaan Infrastruktur

Published: at 10:57 PM

Bab 6: Pengelolaan Infrastruktur

6.1. Penggunaan Docker untuk Containerization

Apa itu Docker?
Docker adalah platform untuk containerization, memungkinkan aplikasi dan dependensinya dibungkus ke dalam satu kontainer.
Keuntungan Docker

6.2. Manajemen Server dengan Kubernetes

Apa itu Kubernetes?
Kubernetes adalah sistem orkestrasi untuk mengelola container dalam skala besar.
Komponen Utama Kubernetes

6.3. DevOps Dasar untuk Backend Developer

Apa itu DevOps?
DevOps adalah pendekatan kolaboratif antara tim pengembangan (Development) dan tim operasional (Operations) untuk mempercepat pengiriman aplikasi.
Prinsip Dasar DevOps

  1. Continuous Integration (CI): Mengintegrasikan kode ke repository secara otomatis dan terus-menerus.

  2. Continuous Delivery (CD): Mengotomatisasi pengujian dan deployment kode.

  3. Automation: Menggunakan alat seperti Jenkins, GitLab CI/CD, atau GitHub Actions.
    Contoh Pipeline CI/CD dengan GitHub Actions:

    name: Node.js CI
    on:
    push:
    branches:
     - main
    jobs:
    build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Setup Node.js
     uses: actions/setup-node@v2
     with:
       node-version: 16
    - run: npm install
    - run: npm test
    

6.4. Deploy Aplikasi: AWS, Azure, DigitalOcean, Heroku

Pilihan Platform Deployment

  1. Login Heroku:

    heroku login
    
  2. Buat Aplikasi:

    heroku create my-app
    
  3. Deploy Aplikasi:

    git push heroku main
    

    AWS Elastic Beanstalk:

  4. Install CLI AWS:

    aws configure
    
  5. Deploy Aplikasi:

    eb init
    eb deploy
    

6.5. Monitoring dan Logging (Grafana, ELK Stack)

Mengapa Monitoring Penting?
Untuk memastikan aplikasi berjalan optimal dan mendeteksi masalah sejak dini.
Alat Monitoring dan Logging

  1. Instal Grafana di server.

  2. Tambahkan data source (seperti Prometheus).

  3. Buat dashboard untuk memantau metrik aplikasi.
    Contoh Konfigurasi Log ELK Stack

Kesimpulan:
Bab ini membahas pengelolaan infrastruktur modern untuk aplikasi backend. Dengan memahami containerization (Docker), orkestrasi (Kubernetes), DevOps dasar, dan deployment, pengembang dapat mengelola aplikasi secara lebih efisien dan scalable. Monitoring dan logging juga memastikan aplikasi tetap berjalan dengan baik dalam produksi.