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
- Masukkan arsitektur dan sasaran 1k hingga 1M pengguna.
- Architecto menghitung komputasi, penyimpanan, basis data, dan transfer.
- Memodelkan perubahan biaya saat skala bertambah.
- Menemukan titik lonjakan biaya.
- Menyarankan strategi optimasi.
Memahami kurva biaya
Biaya biasanya mengikuti pola:
Cost
^
| /
| /
| /
| /_____ Cost knee
| /
|/
+-----> UsersTitik 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:
| Strategi | Contoh | Dampak |
|---|---|---|
| Reservasi instans | Komitmen EC2 1 tahun | Hemat 20-40% |
| Cache | Redis untuk data sering diakses | Biaya basis data turun 30-50% |
| Penskalaan otomatis | Kurangi pada malam hari | Hemat komputasi 10-20% |
| Transfer | CDN untuk aset statis | Hemat transfer 20-40% |
| Optimasi basis data | Replika RDS dan pool koneksi | 15-30% biaya basis data |
| Spot | Beban tidak kritis | Hemat komputasi 70% |
Analisis skalabilitas
Pertanyaan: “Berapa pengguna yang ditangani? Di mana hambatannya?”
Teori antrean dan model uji tekanan memprediksi perilaku saat terbebani.
Metrik utama
| Metrik | Definisi | Contoh |
|---|---|---|
| Throughput | Permintaan per detik yang ditangani | 5,000 req/s |
| Latensi | Waktu respons rata-rata | 200ms |
| Hambatan | Komponen pembatas | Basis data utama RDS |
| Batas skala | Maksimum sebelum kualitas turun | 100,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:
-
Replika baca untuk basis data.
- Baca ke replika, tulis ke utama.
- Throughput baca meningkat linear.
- Umumnya 3-5 replika untuk 20-50k pengguna.
-
Penskalaan horizontal server.
- Tambah instans di belakang penyeimbang.
- Umumnya 500-2,000 pengguna bersamaan per instans.
-
Lapisan cache Redis/Memcached.
- Simpan data sering diakses.
- Kurangi beban basis data 50-80%.
- Umumnya menangani lalu lintas 10-100x.
-
Pembagian basis data.
- Bagi menurut pengguna, wilayah, atau tanggal.
- Tiap bagian memproses subset.
- Mendukung jutaan pengguna.
-
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
| Ancaman | Definisi | Contoh |
|---|---|---|
| Pemalsuan identitas | Mengaku sebagai pihak lain | Login palsu dan permintaan API dipalsukan |
| Manipulasi | Mengubah data tersimpan atau dalam perjalanan | Penyusup perantara dan kerusakan basis data |
| Penyangkalan | Menyangkal tindakan sendiri | Menyangkal penghapusan atau transfer |
| Pengungkapan informasi | Membaca tanpa hak | Kunci API terbuka dan kebocoran pelanggan |
| Penolakan layanan | Menghalangi pengguna sah | DDoS dan kehabisan sumber daya |
| Peningkatan hak akses | Mendapat hak melebihi izin | Injeksi 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:
- Autentikasi: MFA, OAuth 2.0, kunci akses.
- Enkripsi: TLS 1.3 saat perjalanan, AES-256 saat tersimpan.
- Otorisasi: IAM hak minimum dan akses berbasis peran.
- Jaringan: isolasi VPC, grup keamanan, NACL.
- Data: tokenisasi data pribadi dan penyamaran log.
- 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
- Pilih Analisis semua, segera hadir.
- Architecto menjalankan modul terkait:
- Biaya untuk 1k, 10k, 100k, 1M pengguna.
- Hambatan skalabilitas.
- Tinjauan STRIDE lengkap.
- Kepatuhan.
- Simulasi kinerja.
- 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
- Buat arsitektur → Arsitektur pertama
- Pelajari praktik → Praktik terbaik
- Jelajahi fitur → Panduan fitur
Inti pembelajaran: modul adalah tim peninjau arsitektur Anda. Temukan masalah lebih awal, optimalkan biaya, dan tingkatkan keyakinan sebelum penerapan.