Pertemuan 2: Implementasi Layanan Cloud Dasar Progress: 0%

Implementasi Layanan Cloud Dasar

Virtual Machine, Cloud Storage, dan Database - Multi Platform

Panduan Multi-Platform: Praktikum ini mencakup implementasi di tiga platform cloud: OpenNebula (Private Cloud), AWS, dan Huawei Cloud. Pilih salah satu platform untuk fokus praktikum.

Pilih Platform Cloud

OpenNebula

Tipe: Private & Hybrid Cloud

Kelebihan:

  • Open-source & gratis
  • Kontrol penuh atas infrastruktur
  • Cocok untuk pembelajaran
  • Self-managed
Recommended untuk: Mahasiswa dengan akses lab kampus

AWS

Tipe: Public Cloud

Kelebihan:

  • Free tier available
  • Dokumentasi lengkap
  • Layanan sangat lengkap
  • Global infrastructure
Recommended untuk: Mahasiswa dengan credit AWS Educate

Huawei Cloud

Tipe: Public Cloud

Kelebihan:

  • Free trial available
  • Harga kompetitif
  • Fokus keamanan
  • Region Asia terdekat
Recommended untuk: Mahasiswa di region Asia

Tujuan Pembelajaran

Menguasai Multi-Platform VM Management

Membuat dan mengkonfigurasi Virtual Machine di OpenNebula, AWS EC2, dan Huawei Cloud ECS

Implementasi Cloud Storage

Membuat dan mengelola object storage di berbagai platform cloud

Manajemen Cloud Database

Mengimplementasikan database terkelola di environment cloud

Integrasi Layanan Cloud

Menghubungkan VM, storage, dan database dalam arsitektur terintegrasi

Konsep Layanan Cloud Dasar

Arsitektur Multi-Platform

OpenNebula
Private Cloud
VM + Datastore
AWS
Public Cloud
EC2 + S3 + RDS
Huawei Cloud
Public Cloud
ECS + OBS + RDS
🖥️
Virtual Machine
Compute Service
💾
Cloud Storage
Object Storage
🗃️
Cloud Database
Managed Database
Layanan OpenNebula AWS Huawei Cloud
Virtual Machine KVM Virtual Machines EC2 Instances Elastic Cloud Server (ECS)
Cloud Storage Datastore (Image Repository) S3 (Simple Storage Service) OBS (Object Storage Service)
Cloud Database Self-managed MySQL on VM RDS (Relational Database) RDS (Relational Database)
Network Virtual Networks VPC + Security Groups VPC + Security Groups
Access Method Sunstone Web UI / CLI Web Console / AWS CLI Web Console / Huawei CLI

Implementasi Virtual Machine - Multi Platform

A. Persiapan Environment

OpenNebula

  • Akses Sunstone Web UI
  • Login dengan credentials
  • Verifikasi available resources
  • Check network configuration

AWS

  • Login ke AWS Console
  • Siapkan AWS CLI (opsional)
  • Pilih region terdekat
  • Verifikasi EC2 limits

Huawei Cloud

  • Login ke Huawei Cloud Console
  • Pilih region (Singapore recommended)
  • Siapkan ECS resources
  • Configure VPC network

B. Membuat Virtual Machine di OpenNebula

Step 1: Akses Sunstone Dashboard

Buka browser dan akses OpenNebula Sunstone interface:

# OpenNebula Sunstone URL (sesuaikan dengan environment) http://opennebula-frontend:9869 # atau http://your-opennebula-server:9869 # Login credentials Username: [username] Password: [password]

Step 2: Buat Virtual Machine Baru

Navigasi ke "Instances" → "VMs" → "+" → "Create"

Konfigurasi VM:
Name: web-server-pertemuan-2
Template: Ubuntu 20.04 atau CentOS 7
CPU: 1 vCPU
Memory: 2 GB
Disk: 20 GB
# Alternative: Create VM via OpenNebula CLI onevm create /path/to/vm_template.txt # Example VM template content: NAME = "web-server-pertemuan-2" CPU = 1 MEMORY = 2048 DISK = [ IMAGE_ID = 5 ] NIC = [ NETWORK_ID = 3 ] OS = [ BOOT = "network,hd" ]

Step 3: Konfigurasi Network

Konfigurasi network interface dan security rules:

Network Configuration:
  • Network: Pilih virtual network yang tersedia
  • Security Groups: Configure inbound rules
  • IP Assignment: Dynamic atau fixed IP
# Check available networks onevnet list # Create security group rules # Allow SSH (port 22), HTTP (80), HTTPS (443)

Step 4: Deploy & Verifikasi

Klik "Create" dan tunggu VM berjalan, kemudian verifikasi:

# Check VM status via CLI onevm list # Expected output: VM should be in "RUNNING" state ID USER GROUP NAME STAT CPU MEM HOSTNAME TIME 5 student cloud web-server-pert RUNNING 1 2G one-node01 0d 00h05 # Get VM information onevm show 5
✅ Expected Result: VM status "RUNNING" dengan IP address terassign

Implementasi Cloud Storage - Multi Platform

E. Cloud Storage di OpenNebula (Datastore)

Step 1: Akses Storage Management

Navigasi ke "Storage" → "Datastores" di Sunstone interface

# Check available datastores via CLI onedatastore list # Expected output shows system and image datastores ID NAME CLUSTER SIZE AVAILABLE USED TYPE 0 system - - - - SYSTEM_DS 1 default - 100G 85.2G 14.8G IMAGE_DS

Step 2: Upload Images ke Datastore

Upload file/images yang akan digunakan oleh VM:

# Navigate to Storage -> Images -> + (Add) # Upload method: Select "Upload" # Choose files to upload: # - web-files.tar.gz (containing HTML/CSS/JS files) # - app-config.conf # - database-backup.sql # Alternative via CLI oneimage create --name "web-assets" --path /local/path/to/files.tar.gz --datastore default
📝 Note: OpenNebula menggunakan image-based storage. File disimpan sebagai images yang dapat diattach ke VM.

Step 3: Attach Images ke VM

Attach uploaded images ke VM sebagai additional disks:

# Via Sunstone UI: # 1. Go to Instances -> Select VM -> Storage -> Attach Disk # 2. Choose "Image" and select uploaded image # 3. Configure as read-only or read-write # Via CLI onevm disk-attach 5 --image 10 # Where: 5 = VM ID, 10 = Image ID

Implementasi Cloud Database - Multi Platform

H. Database di OpenNebula (Self-Managed)

Step 1: Install MySQL pada VM

SSH ke VM dan install MySQL server:

# SSH to OpenNebula VM ssh ubuntu@ # Update package list sudo apt update # Install MySQL Server sudo apt install mysql-server -y # Secure MySQL installation sudo mysql_secure_installation # Start and enable MySQL service sudo systemctl start mysql sudo systemctl enable mysql

Step 2: Konfigurasi Database

Buat database dan user untuk aplikasi web:

# Access MySQL as root sudo mysql -u root -p # Create database and user CREATE DATABASE webapp; CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'securepassword'; GRANT ALL PRIVILEGES ON webapp.* TO 'webuser'@'localhost'; FLUSH PRIVILEGES; # Create sample table USE webapp; CREATE TABLE products ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, price DECIMAL(10,2), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); # Insert sample data INSERT INTO products (name, price) VALUES ('Laptop', 999.99), ('Mouse', 25.50), ('Keyboard', 75.00);

Step 3: Konfigurasi Keamanan

Konfigurasi MySQL untuk akses remote (jika diperlukan):

# Edit MySQL configuration sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # Change bind-address to allow remote connections # bind-address = 0.0.0.0 # Create user for remote access CREATE USER 'webuser'@'%' IDENTIFIED BY 'securepassword'; GRANT ALL PRIVILEGES ON webapp.* TO 'webuser'@'%'; FLUSH PRIVILEGES; # Restart MySQL service sudo systemctl restart mysql
⚠️ Security Note: Hanya enable remote access jika diperlukan. Selalu gunakan strong passwords dan firewall rules.

Tugas Praktikum & Integrasi - Multi Platform

Tugas Praktikum: Integrasi Layanan Cloud

Tugas Khusus OpenNebula

Tugas 1: Konfigurasi VM & Web Server
  1. SSH ke OpenNebula VM
  2. Install Apache/Nginx web server
  3. Configure virtual host
  4. Test web server accessibility
# Install Apache on Ubuntu sudo apt update sudo apt install apache2 -y sudo systemctl start apache2 sudo systemctl enable apache2 # Test web server curl http://localhost
Tugas 2: Integrasi dengan Datastore
  1. Upload web files ke datastore
  2. Attach image sebagai disk ke VM
  3. Mount disk dan copy files
  4. Configure auto-mount pada boot
# Mount additional disk (if attached) sudo mkdir /mnt/webassets sudo mount /dev/sdb1 /mnt/webassets # Copy files to web directory sudo cp -r /mnt/webassets/* /var/www/html/ # Configure fstab for auto-mount echo "/dev/sdb1 /mnt/webassets ext4 defaults 0 2" | sudo tee -a /etc/fstab
Tugas 3: Database Integration
  1. Install MySQL pada VM
  2. Create database dan tables
  3. Develop simple PHP web app
  4. Test database connectivity
# Simple PHP test script <?php $conn = new mysqli('localhost', 'webuser', 'password', 'webapp'); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Database connected successfully!"; ?>

Hasil yang Diharapkan - Semua Platform

🌐
Web Server Running
Accessible via IP/Domain
📁
Storage Integrated
Files served from storage
🗃️
Database Connected
CRUD operations working
📋
Documentation
Screenshot & report

Kriteria Penilaian - Multi Platform

Tugas Praktik (10%)

  • Kelengkapan implementasi
  • Fungsi layanan yang berjalan
  • Kualitas dokumentasi
  • Ketepatan waktu

Kehadiran (5%)

  • Kehadiran penuh sesi praktikum
  • Partisipasi aktif
  • Ketepatan waktu

Platform Understanding (Bonus 5%)

  • Perbandingan platform
  • Analisis kelebihan/kekurangan
  • Recommendasi use case