Memahami modul analisis

Modul Architecto menilai dimensi kritis sebelum penerapan: biaya, skalabilitas, keamanan, kinerja, dan kepatuhan. Setiap modul menangani aspek tertentu.

Gambaran analisis

Anggap sebagai tinjauan para ahli:

  • Auditor keuangan → Perkiraan biaya.
  • Engineer kinerja → Analisis skalabilitas dan simulasi.
  • Arsitek keamanan → Pemodelan ancaman dan postur keamanan.
  • Pimpinan operasi → Pendeteksi penyimpangan.
  • Petugas kepatuhan → Pemeriksaan kepatuhan.

Bersama-sama, semuanya meningkatkan keyakinan akan kesiapan produksi.

Perkiraan biaya

Pertanyaan: “Berapa biayanya?”

Memodelkan tagihan cloud bulanan pada berbagai skala.

Cara kerja

  1. Masukkan arsitektur dan sasaran 1k hingga 1M pengguna.
  2. Architecto menghitung komputasi, penyimpanan, basis data, dan transfer.
  3. Memodelkan perubahan biaya saat skala bertambah.
  4. Menemukan titik lonjakan biaya.
  5. Menyarankan strategi optimasi.

Memahami kurva biaya

Biaya biasanya mengikuti pola:

                   Cost
                     ^
                     |     /
                     |    /
                     |   /
                     |  /_____ Cost knee
                     | /
                     |/
                     +-----> Users

Titik lonjakan biaya adalah saat arsitektur menjadi tidak berkelanjutan secara keuangan. Contoh:

  • 10k pengguna: $200/bulan ✓ Sehat.
  • 50k pengguna: $500/bulan ✓ Masih layak.
  • 100k pengguna: $2,000/bulan ⚠️ Titik lonjakan.
  • 200k pengguna: $5,000/bulan ✗ Tidak berkelanjutan.

Strategi pengurangan biaya

Saran umum:

StrategiContohDampak
Reservasi instansKomitmen EC2 1 tahunHemat 20-40%
CacheRedis untuk data sering diaksesBiaya basis data turun 30-50%
Penskalaan otomatisKurangi pada malam hariHemat komputasi 10-20%
TransferCDN untuk aset statisHemat transfer 20-40%
Optimasi basis dataReplika RDS dan pool koneksi15-30% biaya basis data
SpotBeban tidak kritisHemat komputasi 70%

Analisis skalabilitas

Pertanyaan: “Berapa pengguna yang ditangani? Di mana hambatannya?”

Teori antrean dan model uji tekanan memprediksi perilaku saat terbebani.

Metrik utama

MetrikDefinisiContoh
ThroughputPermintaan per detik yang ditangani5,000 req/s
LatensiWaktu respons rata-rata200ms
HambatanKomponen pembatasBasis data utama RDS
Batas skalaMaksimum sebelum kualitas turun100,000 bersamaan

Menemukan hambatan

Komponen berbeda mencapai batas pada skala berbeda:

10k users:   API Server (add more servers)
50k users:   Database (add read replicas, caching)
100k users:  Network bandwidth (add CDN, optimize queries)
1M users:    Distributed systems complexity (redesign for microservices)

Analisis menunjukkan komponen yang tepat menjadi pembatas.

Rekomendasi skala

Setelah hambatan ditemukan:

  1. Replika baca untuk basis data.

    • Baca ke replika, tulis ke utama.
    • Throughput baca meningkat linear.
    • Umumnya 3-5 replika untuk 20-50k pengguna.
  2. Penskalaan horizontal server.

    • Tambah instans di belakang penyeimbang.
    • Umumnya 500-2,000 pengguna bersamaan per instans.
  3. Lapisan cache Redis/Memcached.

    • Simpan data sering diakses.
    • Kurangi beban basis data 50-80%.
    • Umumnya menangani lalu lintas 10-100x.
  4. Pembagian basis data.

    • Bagi menurut pengguna, wilayah, atau tanggal.
    • Tiap bagian memproses subset.
    • Mendukung jutaan pengguna.
  5. Pool koneksi basis data.

    • Gunakan kembali koneksi.
    • Kurangi overhead.
    • Umumnya meningkatkan throughput 2-3x.

Pemodelan ancaman

Pertanyaan: “Apa yang bisa salah? Bagaimana mencegah serangan?”

STRIDE mengidentifikasi ancaman dan mitigasi.

Kerangka STRIDE

AncamanDefinisiContoh
Pemalsuan identitasMengaku sebagai pihak lainLogin palsu dan permintaan API dipalsukan
ManipulasiMengubah data tersimpan atau dalam perjalananPenyusup perantara dan kerusakan basis data
PenyangkalanMenyangkal tindakan sendiriMenyangkal penghapusan atau transfer
Pengungkapan informasiMembaca tanpa hakKunci API terbuka dan kebocoran pelanggan
Penolakan layananMenghalangi pengguna sahDDoS dan kehabisan sumber daya
Peningkatan hak aksesMendapat hak melebihi izinInjeksi SQL untuk membaca semua data

Contoh analisis

Untuk perdagangan elektronik:

Pemalsuan:

  • Penyerang menyamar sebagai pengguna.
  • Mengakses pesanan dan pembayaran.
  • Mitigasi: MFA, OAuth 2.0, dan token sesi.

Manipulasi:

  • Penyerang mengubah harga saat pembayaran.
  • Pesanan $100 diubah menjadi $1.
  • Mitigasi: tanda tangan kriptografis, validasi server, dan komunikasi terenkripsi.

Pengungkapan:

  • Penyerang membaca cadangan.
  • Mencuri kartu dan data pribadi.
  • Mitigasi: AWS KMS, cadangan terenkripsi, dan kontrol akses.

Penolakan layanan:

  • Penyerang membanjiri API.
  • Pengguna sah menerima HTTP 503.
  • Mitigasi: pembatasan, proteksi DDoS CloudFront, WAF, dan kapasitas otomatis.

Praktik keamanan

Architecto menyarankan:

  1. Autentikasi: MFA, OAuth 2.0, kunci akses.
  2. Enkripsi: TLS 1.3 saat perjalanan, AES-256 saat tersimpan.
  3. Otorisasi: IAM hak minimum dan akses berbasis peran.
  4. Jaringan: isolasi VPC, grup keamanan, NACL.
  5. Data: tokenisasi data pribadi dan penyamaran log.
  6. Pemantauan: CloudTrail untuk audit, CloudWatch untuk anomali.

Perbandingan arsitektur

Pertanyaan: “Apa yang berubah dan dampaknya?”

Menampilkan perbedaan semantik dua versi.

Yang dibandingkan

  • Ditambah: layanan dan basis data baru.
  • Dihapus: layanan dihentikan.
  • Diubah: instans, kapasitas, dan konfigurasi.
  • Koneksi: aliran ditambah atau dihapus.

Contoh

Version 1:
- Single RDS database (no replicas)
- Single EC2 instance
- No caching layer
- Direct database access from app

Version 2:
+ Added 2 RDS read replicas
+ Added autoscaling group (3-10 instances)
+ Added Redis cache layer
+ Added connection pooling
~ Changed database instance type (t3.medium → r5.large)

Analisis dampak

Menjelaskan:

  • Biaya: +$500/bulan untuk replika dan cache.
  • Skalabilitas: +400%, pengguna 5x lebih banyak.
  • Ketersediaan: +99.9%, alih gagal Multi-AZ aktif.
  • Kompleksitas: sedang karena mengelola cache dan replika.

Simulasi kinerja

Pertanyaan: “Bagaimana latensi dan throughput saat terbebani?”

(Segera hadir: simulasi lengkap dengan pemodelan latensi.)

Memprediksi perilaku komponen pada berbagai beban.

Pemeriksaan kepatuhan

Pertanyaan: “Apakah memenuhi persyaratan?”

(Segera hadir: validasi SOC2, HIPAA, PCI DSS, dan GDPR.)

Memvalidasi arsitektur terhadap standar.

Pendeteksi penyimpangan

Pertanyaan: “Apakah infrastruktur menyimpang dari rancangan?”

(Segera hadir: pemantauan penyimpangan konfigurasi berkelanjutan.)

Analisis lengkap

Tinjauan terpadu

  1. Pilih Analisis semua, segera hadir.
  2. Architecto menjalankan modul terkait:
    • Biaya untuk 1k, 10k, 100k, 1M pengguna.
    • Hambatan skalabilitas.
    • Tinjauan STRIDE lengkap.
    • Kepatuhan.
    • Simulasi kinerja.
  3. Menghasilkan laporan tinjauan arsitektur:
    • Ringkasan eksekutif dan skor 1-10.
    • Temuan tiap modul.
    • Masalah kritis.
    • Langkah berikutnya.
    • Biaya-manfaat tiap rekomendasi.

Pelacakan dari waktu ke waktu

Simpan beberapa eksekusi untuk melacak:

  • Peningkatan arsitektur.
  • Tren biaya.
  • Kesiapan skala.
  • Peningkatan keamanan.

Langkah berikutnya


Inti pembelajaran: modul adalah tim peninjau arsitektur Anda. Temukan masalah lebih awal, optimalkan biaya, dan tingkatkan keyakinan sebelum penerapan.

Memahami modul analisis | Dokumentasi | Architecto