Implementasi DevOps Practices

Automasi Deployment Menggunakan Tools Cloud-Native

Estimasi: 180 menit
Tingkat: Menengah
Tools: Terraform, ArgoCD, GitHub Actions
Pertemuan 11 dari 16 68.75%

Tujuan Pembelajaran

Setelah mengikuti praktikum ini, mahasiswa diharapkan mampu:

Infrastructure as Code

Mengimplementasikan Infrastructure as Code (IaC) dengan Terraform untuk provisioning cloud infrastructure

GitOps Practices

Membangun pipeline deployment otomatis dengan GitOps menggunakan ArgoCD

Manajemen Konfigurasi

Menggunakan tools manajemen konfigurasi (Ansible) untuk automasi deployment

Testing Otomatis

Mengimplementasikan automated testing dalam pipeline DevOps

Monitoring & Observability

Membangun monitoring dan observability untuk aplikasi production

Praktik Keamanan

Menerapkan security practices dalam pipeline DevOps (DevSecOps)

Materi Pembelajaran

1. Konsep DevOps dan GitOps

Teori

DevOps adalah budaya dan serangkaian praktik yang menggabungkan pengembangan perangkat lunak (Dev) dan operasi IT (Ops) untuk memperpendek siklus hidup pengembangan sistem.

Budaya & Kolaborasi

Kolaborasi antara tim development dan operations

Otomatisasi

Otomatisasi proses berulang dalam software delivery

Pengukuran

Monitoring dan metrics untuk continuous improvement

Berbagi

Berbagi pengetahuan dan tools antar tim

Prinsip GitOps
# Prinsip Inti GitOps
1. Konfigurasi Deklaratif
2. Semua Terkontrol Versi
3. Deployment Otomatis
4. Rekonsiliasi Berkelanjutan
5. Umpan Balik Tertutup

# Manfaat
- Peningkatan Frekuensi Deployment
- Waktu Pemulihan Lebih Cepat
- Tingkat Kegagalan Perubahan Lebih Rendah
- Keamanan dan Kepatuhan yang Lebih Baik

2. Toolchain DevOps Modern

Tools

Kode & Versi

Git, GitHub, GitLab

Build & Package

Docker, Jenkins, GitHub Actions

Test & Kualitas

Selenium, Jest, SonarQube

Deploy & Release

ArgoCD, Terraform, Ansible

Monitor & Operasi

Prometheus, Grafana, ELK Stack

3. Infrastructure as Code dengan Terraform

Praktikum

A. Setup Terraform dan AWS Provider

terraform/main.tf
terraform {
  required_version = ">= 1.0"
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }

  backend "s3" {
    bucket = "my-terraform-state-bucket"
    key    = "ecommerce-platform/terraform.tfstate"
    region = "us-east-1"
  }
}

provider "aws" {
  region = var.aws_region
  default_tags {
    tags = {
      Environment = var.environment
      Project     = "ecommerce-platform"
      ManagedBy   = "terraform"
    }
  }
}

B. Infrastruktur Jaringan

terraform/network.tf
# Konfigurasi VPC
resource "aws_vpc" "main" {
  cidr_block           = var.vpc_cidr
  enable_dns_hostnames = true
  enable_dns_support   = true

  tags = {
    Name = "${var.cluster_name}-vpc"
  }
}

# Subnet Private
resource "aws_subnet" "private" {
  count = 3
  vpc_id            = aws_vpc.main.id
  cidr_block        = cidrsubnet(var.vpc_cidr, 8, count.index + 10)
  availability_zone = data.aws_availability_zones.available.names[count.index]

  tags = {
    Name = "${var.cluster_name}-private-${count.index + 1}"
    "kubernetes.io/role/internal-elb" = "1"
  }
}

# Internet Gateway
resource "aws_internet_gateway" "main" {
  vpc_id = aws_vpc.main.id

  tags = {
    Name = "${var.cluster_name}-igw"
  }
}

Tugas Praktikum

Implementasikan solusi DevOps lengkap dengan ketentuan berikut:

01

Infrastructure as Code

40 Poin

Persyaratan:

  • Implementasi Terraform untuk provisioning cloud infrastructure
  • Setup VPC, EKS cluster, database, dan supporting services
  • Implementasi security groups dan IAM roles yang tepat
  • Deploy infrastructure ke cloud environment

Deliverables:

  • Terraform code yang lengkap dan modular
  • Documentation dan README
  • Screenshot hasil deployment
02

GitOps Deployment

35 Poin

Persyaratan:

  • Setup ArgoCD untuk GitOps workflows
  • Implementasi ApplicationSet untuk multi-environment
  • Konfigurasi automated synchronization dan self-healing
  • Setup rollback mechanisms

Deliverables:

  • ArgoCD application definitions
  • Kubernetes manifests
  • Git repository structure
03

Complete DevOps Pipeline

25 Poin

Persyaratan:

  • Implementasi end-to-end CI/CD pipeline
  • Integrasi security scanning dan compliance checks
  • Setup monitoring dan observability stack
  • Implementasi automated testing

Deliverables:

  • GitHub Actions workflows
  • Monitoring configurations
  • Security scanning configurations

Kriteria Penilaian

Rubrik Penilaian

Aspek Bobot Kriteria
Fungsionalitas 40% Sistem berjalan sesuai requirements dan semua fitur berfungsi dengan baik
Kualitas Kode 25% Code yang clean, well-documented, dan mengikuti best practices
Keamanan 20% Implementasi security best practices dan compliance
Otomatisasi 15% Tingkat automasi yang dicapai dalam pipeline