Memahami modul analisis
Modul Architecto menilai dimensi kritikal sebelum pelaksanaan: kos, kebolehskalaan, keselamatan, prestasi dan pematuhan. Setiap modul mengkhusus pada satu aspek.
Gambaran analisis
Anggap sebagai semakan pakar:
- Juruaudit kewangan → Penganggar kos.
- Jurutera prestasi → Penganalisis kebolehskalaan dan penyimulasi.
- Arkitek keselamatan → Pemodel ancaman dan postur keselamatan.
- Ketua operasi → Pengesan penyimpangan.
- Pegawai pematuhan → Penyemak pematuhan.
Bersama-sama, modul memberikan keyakinan tentang kesediaan pengeluaran.
Penganggar kos
Soalan: “Berapakah kosnya?”
Memodelkan bil awan bulanan pada pelbagai skala.
Cara berfungsi
- Masukkan seni bina dan sasaran 1k hingga 1M pengguna.
- Architecto mengira pengkomputeran, storan, pangkalan data dan pemindahan.
- Memodelkan perubahan kos apabila skala bertambah.
- Mengenal pasti titik lonjakan kos.
- Mencadangkan strategi pengoptimuman.
Memahami lengkung kos
Kos lazimnya mengikut corak:
Cost
^
| /
| /
| /
| /_____ Cost knee
| /
|/
+-----> UsersTitik lonjakan kos ialah ketika seni bina tidak lagi mampan secara kewangan. Contoh:
- 10k pengguna: $200/bulan ✓ Sihat.
- 50k pengguna: $500/bulan ✓ Masih sesuai.
- 100k pengguna: $2,000/bulan ⚠️ Titik lonjakan.
- 200k pengguna: $5,000/bulan ✗ Tidak mampan.
Strategi pengurangan kos
Cadangan lazim:
| Strategi | Contoh | Kesan |
|---|---|---|
| Instans ditempah | Komitmen EC2 1 tahun | Jimat 20-40% |
| Cache | Redis untuk data kerap dicapai | Kos pangkalan data turun 30-50% |
| Skala automatik | Kurangkan waktu malam | Jimat pengkomputeran 10-20% |
| Pemindahan | CDN untuk aset statik | Jimat pemindahan 20-40% |
| Pengoptimuman pangkalan data | Replika RDS dan pengumpulan sambungan | 15-30% kos pangkalan data |
| Spot | Beban tidak kritikal | Jimat pengkomputeran 70% |
Penganalisis kebolehskalaan
Soalan: “Berapa pengguna boleh ditangani? Di manakah kesesakan?”
Teori baris gilir dan model ujian tekanan meramalkan tingkah laku di bawah beban.
Metrik utama
| Metrik | Takrif | Contoh |
|---|---|---|
| Daya pemprosesan | Permintaan sesaat yang boleh ditangani | 5,000 req/s |
| Kependaman | Purata masa respons | 200ms |
| Kesesakan | Komponen pembatas | Pangkalan data utama RDS |
| Had skala | Maksimum sebelum mutu merosot | 100,000 serentak |
Mengenal pasti kesesakan
Komponen mencapai had pada skala berbeza:
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)Penganalisis mengenal pasti komponen tepat yang menjadi pembatas.
Cadangan skala
Selepas kesesakan dikenal pasti:
-
Replika baca untuk pangkalan data.
- Bacaan ke replika, tulisan ke utama.
- Daya pemprosesan bacaan meningkat linear.
- Lazimnya 3-5 replika untuk 20-50k pengguna.
-
Penskalaan mendatar pelayan.
- Tambah instans di belakang pengimbang.
- Lazimnya 500-2,000 pengguna serentak setiap instans.
-
Lapisan cache Redis/Memcached.
- Simpan data kerap dicapai.
- Kurangkan beban pangkalan data 50-80%.
- Lazimnya menangani trafik 10-100x.
-
Pembahagian pangkalan data.
- Bahagi mengikut pengguna, rantau atau tarikh.
- Setiap bahagian mengurus subset.
- Menyokong jutaan pengguna.
-
Pengumpulan sambungan pangkalan data.
- Guna semula sambungan.
- Kurangkan overhed.
- Peningkatan lazim 2-3x daya pemprosesan.
Pemodel ancaman
Soalan: “Apakah yang boleh berlaku? Bagaimanakah mencegah serangan?”
STRIDE mengenal pasti ancaman dan mitigasi.
Rangka kerja STRIDE
| Ancaman | Takrif | Contoh |
|---|---|---|
| Penyamaran identiti | Berpura-pura menjadi pihak lain | Log masuk palsu dan permintaan API dipalsukan |
| Pengubahan | Mengubah data dalam transit atau simpanan | Serangan perantara dan kerosakan pangkalan data |
| Penafian | Menafikan tindakan dilakukan | Menafikan pemadaman atau pemindahan |
| Pendedahan maklumat | Membaca tanpa kebenaran | Kekunci API terdedah dan kebocoran pelanggan |
| Penafian perkhidmatan | Menghalang pengguna sah | DDoS dan kehabisan sumber |
| Peningkatan keistimewaan | Mendapat akses melebihi izin | Suntikan SQL untuk membaca semua data |
Contoh analisis
Bagi e-dagang:
Penyamaran:
- Penyerang menyamar sebagai pengguna lain.
- Mengakses pesanan dan pembayaran.
- Mitigasi: MFA, OAuth 2.0 dan token sesi.
Pengubahan:
- Penyerang mengubah harga semasa pembayaran.
- Pesanan $100 menjadi $1.
- Mitigasi: tandatangan kriptografi, pengesahan pelayan dan komunikasi disulitkan.
Pendedahan:
- Penyerang membaca sandaran.
- Mencuri kad dan maklumat peribadi.
- Mitigasi: AWS KMS, sandaran disulitkan dan kawalan akses.
Penafian perkhidmatan:
- Penyerang membanjiri API.
- Pengguna sah menerima HTTP 503.
- Mitigasi: had permintaan, perlindungan DDoS CloudFront, WAF dan skala automatik.
Amalan keselamatan
Architecto mencadangkan:
- Pengesahan: MFA, OAuth 2.0 dan passkey.
- Penyulitan: TLS 1.3 dalam transit, AES-256 semasa disimpan.
- Keizinan: IAM keistimewaan minimum dan akses berperanan.
- Rangkaian: pengasingan VPC, kumpulan keselamatan dan NACL.
- Data: pentokenan maklumat peribadi serta penyamaran log.
- Pemantauan: CloudTrail untuk audit, CloudWatch untuk anomali.
Perbandingan seni bina
Soalan: “Apakah yang berubah dan kesannya?”
Menunjukkan perbezaan semantik dua versi.
Perkara dibandingkan
- Ditambah: perkhidmatan serta pangkalan data baharu.
- Dibuang: perkhidmatan dihentikan.
- Diubah: instans, skala dan konfigurasi.
- Sambungan: aliran ditambah atau dibuang.
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 kesan
Menerangkan:
- Kos: +$500/bulan bagi replika dan cache.
- Kebolehskalaan: +400%, pengguna 5x lebih banyak.
- Ketersediaan: +99.9%, failover Multi-AZ ditetapkan.
- Kerumitan: sederhana kerana mengurus cache dan replika.
Penyimulasi prestasi
Soalan: “Bagaimanakah kependaman dan daya pemprosesan di bawah beban?”
(Akan datang: simulasi penuh dengan pemodelan kependaman.)
Meramalkan tingkah laku komponen pada pelbagai beban.
Penyemak pematuhan
Soalan: “Adakah memenuhi keperluan?”
(Akan datang: pengesahan SOC2, HIPAA, PCI DSS dan GDPR.)
Mengesahkan seni bina terhadap standard.
Pengesan penyimpangan
Soalan: “Adakah infrastruktur menyimpang daripada reka bentuk?”
(Akan datang: pemantauan penyimpangan konfigurasi berterusan.)
Analisis lengkap
Semakan bersepadu
- Pilih Analisis semua, akan datang.
- Architecto menjalankan modul berkaitan:
- Kos untuk 1k, 10k, 100k dan 1M pengguna.
- Kesesakan kebolehskalaan.
- Semakan STRIDE penuh.
- Pematuhan.
- Simulasi prestasi.
- Menghasilkan laporan semakan seni bina:
- Ringkasan eksekutif dan skor 1-10.
- Dapatan setiap modul.
- Isu kritikal.
- Langkah disyorkan.
- Kos-manfaat setiap cadangan.
Penjejakan sepanjang masa
Simpan pelbagai pelaksanaan untuk menjejaki:
- Penambahbaikan seni bina.
- Aliran kos.
- Kesediaan skala.
- Penambahbaikan keselamatan.
Langkah seterusnya
- Cipta seni bina → Seni bina pertama
- Pelajari amalan → Amalan terbaik
- Terokai ciri → Panduan ciri
Inti utama: modul ialah pasukan semakan seni bina anda. Kesan masalah awal, optimumkan kos dan bina keyakinan sebelum pelaksanaan.