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

  1. Masukkan seni bina dan sasaran 1k hingga 1M pengguna.
  2. Architecto mengira pengkomputeran, storan, pangkalan data dan pemindahan.
  3. Memodelkan perubahan kos apabila skala bertambah.
  4. Mengenal pasti titik lonjakan kos.
  5. Mencadangkan strategi pengoptimuman.

Memahami lengkung kos

Kos lazimnya mengikut corak:

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

Titik 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:

StrategiContohKesan
Instans ditempahKomitmen EC2 1 tahunJimat 20-40%
CacheRedis untuk data kerap dicapaiKos pangkalan data turun 30-50%
Skala automatikKurangkan waktu malamJimat pengkomputeran 10-20%
PemindahanCDN untuk aset statikJimat pemindahan 20-40%
Pengoptimuman pangkalan dataReplika RDS dan pengumpulan sambungan15-30% kos pangkalan data
SpotBeban tidak kritikalJimat 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

MetrikTakrifContoh
Daya pemprosesanPermintaan sesaat yang boleh ditangani5,000 req/s
KependamanPurata masa respons200ms
KesesakanKomponen pembatasPangkalan data utama RDS
Had skalaMaksimum sebelum mutu merosot100,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:

  1. Replika baca untuk pangkalan data.

    • Bacaan ke replika, tulisan ke utama.
    • Daya pemprosesan bacaan meningkat linear.
    • Lazimnya 3-5 replika untuk 20-50k pengguna.
  2. Penskalaan mendatar pelayan.

    • Tambah instans di belakang pengimbang.
    • Lazimnya 500-2,000 pengguna serentak setiap instans.
  3. Lapisan cache Redis/Memcached.

    • Simpan data kerap dicapai.
    • Kurangkan beban pangkalan data 50-80%.
    • Lazimnya menangani trafik 10-100x.
  4. Pembahagian pangkalan data.

    • Bahagi mengikut pengguna, rantau atau tarikh.
    • Setiap bahagian mengurus subset.
    • Menyokong jutaan pengguna.
  5. 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

AncamanTakrifContoh
Penyamaran identitiBerpura-pura menjadi pihak lainLog masuk palsu dan permintaan API dipalsukan
PengubahanMengubah data dalam transit atau simpananSerangan perantara dan kerosakan pangkalan data
PenafianMenafikan tindakan dilakukanMenafikan pemadaman atau pemindahan
Pendedahan maklumatMembaca tanpa kebenaranKekunci API terdedah dan kebocoran pelanggan
Penafian perkhidmatanMenghalang pengguna sahDDoS dan kehabisan sumber
Peningkatan keistimewaanMendapat akses melebihi izinSuntikan 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:

  1. Pengesahan: MFA, OAuth 2.0 dan passkey.
  2. Penyulitan: TLS 1.3 dalam transit, AES-256 semasa disimpan.
  3. Keizinan: IAM keistimewaan minimum dan akses berperanan.
  4. Rangkaian: pengasingan VPC, kumpulan keselamatan dan NACL.
  5. Data: pentokenan maklumat peribadi serta penyamaran log.
  6. 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

  1. Pilih Analisis semua, akan datang.
  2. Architecto menjalankan modul berkaitan:
    • Kos untuk 1k, 10k, 100k dan 1M pengguna.
    • Kesesakan kebolehskalaan.
    • Semakan STRIDE penuh.
    • Pematuhan.
    • Simulasi prestasi.
  3. 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


Inti utama: modul ialah pasukan semakan seni bina anda. Kesan masalah awal, optimumkan kos dan bina keyakinan sebelum pelaksanaan.

Memahami modul analisis | Dokumentasi | Architecto