1 Gambaran Keseluruhan Projek
| Nama Projek | Tourist Tour Guide Training & Management System Version 2 (TTMS v2) |
| Klien | Kementerian Pelancongan, Seni dan Budaya Malaysia (MOTAC) |
| Jenis Sistem | Sistem Pengurusan Latihan Pemandu Pelancong Berasaskan ILP |
| Model Deployment | Cloud-Based (Public Cloud) |
| Tempoh Kontrak | 12 bulan pembangunan + 6 bulan waranti |
Nota: Spesifikasi ini adalah cloud-agnostic dan boleh dilaksanakan di mana-mana penyedia cloud (AWS, GCP, Azure). Pihak pembekal cloud diminta memberikan sebut harga berdasarkan keperluan teknikal yang dinyatakan.
2 Keperluan Kapasiti
| Peranan | Anggaran Bilangan | Aktiviti Utama |
|---|---|---|
| MOTAC Admin | 20-50 | Pengurusan keseluruhan sistem, kursus, peperiksaan |
| ILP Admin | 100-300 | Pendaftaran peserta, pengurusan batch |
| Instructor | 200-500 | Penilaian praktikal, pengurusan kursus |
| Participant | 5,000-10,000 | Peperiksaan dalam talian, muat turun sijil |
| Management | 10-30 | Paparan laporan dan statistik |
| Senario | Pengguna Serentak | Tempoh | Keperluan Kritikal |
|---|---|---|---|
| Peperiksaan Serentak | 2,000 | 2-3 jam | Latensi rendah, auto-save, tiada kehilangan data |
| Pendaftaran Terbuka | 1,500 | 1-2 hari | Throughput tinggi, pengendalian borang |
| Pengumuman Keputusan | 3,000 | 1-2 jam | Muat turun sijil serentak, caching |
| Operasi Harian | 200-500 | Berterusan | Prestasi konsisten, uptime 99.9% |
3 Keperluan Compute
| Komponen | vCPU | RAM | Instances | Nota |
|---|---|---|---|---|
| API Server (Laravel) | 2 | 4 GB | 2-8 | Auto-scale berdasarkan CPU 70% |
| Frontend (Vue.js SPA) | 1 | 2 GB | 2-4 | Static files, CDN-backed |
| Queue Workers | 2 | 4 GB | 2-4 | PDF generation, email, background jobs |
| Task Scheduler | 1 | 2 GB | 1 | Cron jobs, scheduled tasks |
| JUMLAH MAKSIMUM | 24 | 44 GB | 17 | Semasa beban puncak |
| Parameter | Nilai |
|---|---|
| Scale-up Trigger | CPU > 70% selama 2 minit |
| Scale-down Trigger | CPU < 30% selama 5 minit |
| Minimum Instances | 2 (API), 2 (Frontend), 2 (Workers) |
| Maximum Instances | 8 (API), 4 (Frontend), 4 (Workers) |
| Cooldown Period | 300 saat |
4 Keperluan Database
| Spesifikasi | Keperluan |
|---|---|
| Database Engine | PostgreSQL 15+ (Managed Service) |
| High Availability | Multi-AZ dengan automatic failover |
| Read Replica | 1 replica untuk reporting queries |
| Backup | Automated daily backup, 30-day retention |
| Point-in-Time Recovery | Ya, sehingga 35 hari |
| Encryption | At-rest (AES-256) dan in-transit (TLS 1.3) |
| Connection Pooling | PgBouncer dengan max 500 connections |
| Kategori Data | Anggaran Saiz | Nota |
|---|---|---|
| User & Authentication | 5 GB | 10,000 users, audit logs |
| Courses & Curriculum | 20 GB | Course materials, syllabus |
| Examinations | 100 GB | Question bank, answers, results |
| Documents & Certificates | 200 GB | PDF uploads, generated certificates |
| Audit Trail | 50 GB | 5 years compliance requirement |
| Indexes & Overhead | 25 GB | ~20% overhead |
| JUMLAH (dengan buffer 300%) | 1.2 TB | Growth buffer included |
5 Cache & Object Storage
| Penggunaan | Anggaran Saiz | TTL |
|---|---|---|
| Session Storage | 1 GB | 24 jam |
| Application Cache | 2 GB | 1-24 jam |
| Job Queues | 1 GB | Processed |
| Rate Limiting | 500 MB | 1-60 minit |
| Real-time Broadcasting | 1 GB | Transient |
| Bucket | Anggaran Saiz | Access Pattern | Lifecycle |
|---|---|---|---|
| User Uploads | 100 GB | Frequent read/write | Standard |
| Generated Certificates | 150 GB | Frequent read | Standard, CDN-backed |
| Course Materials | 50 GB | Frequent read | Standard |
| Backup Archives | 100 GB | Infrequent | Archive after 90 days |
6 Network & Security
| Komponen | Spesifikasi |
|---|---|
| Load Balancer | Application Load Balancer, SSL termination, health checks |
| CDN | Global CDN, 500 GB/bulan bandwidth, edge caching |
| VPC | Isolated network, public/private subnets, NAT Gateway |
| DNS | Managed DNS dengan failover dan health routing |
| SSL/TLS | Managed certificates, TLS 1.3, auto-renewal |
| Kategori | Keperluan |
|---|---|
| Web Application Firewall (WAF) | OWASP Top 10 protection, rate limiting, geo-blocking capability |
| DDoS Protection | Layer 3/4/7 protection, automatic mitigation |
| Encryption | At-rest: AES-256, In-transit: TLS 1.3 |
| Access Control | IAM, principle of least privilege, MFA untuk admin |
| Logging & Monitoring | Centralized logging, real-time alerts, 90-day retention |
| Vulnerability Scanning | Automated weekly scans, patch management |
ISO 27001 - Information Security Management
SOC 2 Type II - Security, Availability, Confidentiality
PDPA Malaysia - Personal Data Protection Act 2010
7 Service Level Agreement (SLA)
| Metrik | Target | Pengukuran |
|---|---|---|
| System Availability | 99.9% (8.76 jam downtime/tahun) | Monthly |
| API Response Time (P95) | < 500ms | Real-time |
| Page Load Time | < 2 saat | Synthetic monitoring |
| Database Query Time (P95) | < 100ms | Real-time |
| Error Rate | < 0.1% | Real-time |
| Backup Success Rate | 100% | Daily verification |
| Spesifikasi | Keperluan |
|---|---|
| Primary Region | Southeast Asia (Singapore atau Malaysia) |
| Latency to Malaysia | < 50ms |
| Data Residency | ASEAN region (preferred Malaysia/Singapore) |
| Disaster Recovery | Cross-region backup capability |
8 Ringkasan Keperluan
| Kategori | Spesifikasi | Kuantiti/Saiz |
|---|---|---|
| Compute | API Servers (Laravel) | 2-8 instances × 2 vCPU × 4GB RAM |
| Frontend Servers (Vue.js) | 2-4 instances × 1 vCPU × 2GB RAM | |
| Queue Workers | 2-4 instances × 2 vCPU × 4GB RAM | |
| Task Scheduler | 1 instance × 1 vCPU × 2GB RAM | |
| Database | PostgreSQL Primary | 12 vCPU × 48GB RAM × 1.2TB SSD |
| PostgreSQL Read Replica | 8 vCPU × 32GB RAM | |
| Backup Retention | 30 days automated + PITR | |
| Cache | Redis Cluster | 6GB memory, 2 nodes (HA) |
| Session/Queue/Cache | Included in Redis | |
| Storage | Object Storage | 400GB (Year 1) |
| CDN Bandwidth | 500GB/month | |
| Network | Load Balancer | Application LB with SSL |
| WAF | OWASP protection | |
| VPC | Isolated with NAT | |
| SLA | Availability | 99.9% |
| Response Time | < 2 seconds | |
| Region | Southeast Asia (SG/MY) |
ARAHAN KEPADA PEMBEKAL CLOUD:
Sila sediakan sebut harga berdasarkan spesifikasi di atas dengan pecahan kos seperti berikut:
• Kos bulanan untuk setiap komponen
• Kos tahunan dengan diskaun (jika ada)
• Reserved/Committed Use Discounts (1 tahun / 3 tahun)
• Kos data transfer dan bandwidth
• Kos sokongan teknikal (Basic/Business/Enterprise)
Dokumen: TTMS v2 Infrastructure Requirements RFQ
Versi: 1.0
Tarikh: Januari 2026
Projek: MOTAC TTMS v2