Gesaan dan konteks
Soalan reka bentuk sistem platform ini menyimpan komponen, sistem, domain, API, pemilik, dan pinggir kebergantungan daripada repositori, sistem penggunaan (deployment), dan deklarasi manusia. Ia berfungsi untuk penemuan, tindak balas insiden, dan tadbir urus; ia tidak boleh menjadi sebuah lagi CMDB yang diselenggara secara manual yang tidak dipercayai oleh sesiapa.
Perkara yang dinilai oleh penemu duga
- Mengubah keperluan "cari pemilik perkhidmatan" kepada model entiti, dasar kepercayaan sumber, dan pengalaman yang boleh dicari.
- Mengendalikan konflik, tamat tempoh, dan pemadaman antara metadata deklaratif dan imbasan automatik.
- Menerangkan pertanyaan kebergantungan, pengasingan kebenaran, sempadan penyewa (tenant), dan SLO kesegaran.
- Memilih pelancaran platform secara berperingkat yang mengimbangi nilai dengan kos penyelenggaraan.
Soalan penjelasan untuk ditanya
Sahkan bilangan entiti, volum perubahan harian, kelewatan metadata, puncak pertanyaan, pengasingan organisasi atau pelanggan, sama ada kebergantungan adalah statik atau diperhatikan semasa masa jalanan (runtime), dan siapa yang boleh mengisytiharkan pemilikan. Penggunaan untuk insiden berisiko tinggi memerlukan tahap sumber, penanda usang (stale), dan audit; direktori pembangun boleh bermula dengan tahap kesegaran yang lebih longgar.
Kerangka jawapan 30 saat
Saya akan memodelkan graf entiti deklaratif: komponen, sistem, domain, API, pasukan, dan hubungan mempunyai identiti yang stabil. Fail katalog repositori menyediakan niat; isyarat penggunaan dan masa jalanan menambah versi dan pinggir yang diperhatikan; pengumpul menulis peristiwa berversi. Perkhidmatan pertanyaan menyediakan pemilik, kebergantungan songsang, dan carian sambil menunjukkan sumber dan masa kemas kini. Konflik menjadi status yang boleh diambil tindakan dan bukannya ditulis ganti secara senyap. Kebenaran digunakan pada entiti dan medan, dan entiti usang kekal sebagai sejarah tetapi hilang daripada hasil carian lalai.
Jawapan mendalam langkah demi langkah
1. Modelkan entiti dan hubungan
Model entiti Backstage ialah rujukan yang berguna: komponen tergolong dalam sistem, sistem dalam domain, API disediakan atau digunakan oleh komponen, dan pasukan memiliki komponen. Berikan setiap entiti nama yang stabil, ruang nama (namespace), dan kunci versi. Pinggir hubungan membawa sumber, masa penemuan, dan keyakinan. Pemilikan mesti merujuk kepada prinsipal pasukan yang boleh diselesaikan, bukan teks bebas, supaya penghalaan insiden boleh diautomatikkan.
2. Tetapkan kapasiti dan SLO
Andaikan 10,000 entiti dengan 20 hubungan setiap satu, kira-kira 200,000 pinggir, dan 5% perubahan entiti harian, iaitu sekitar 500 import. Tulis melalui giliran peristiwa (event queue) dan kekalkan model bacaan dengan indeks pemilik dan kejiranan (adjacency). Sasaran permulaan boleh merangkumi keterlihatan import dalam masa beberapa minit, P95 carian di bawah 300 milisaat, dan pertanyaan kebergantungan tiga lompatan dalam masa satu saat; paparan berisiko tinggi juga menunjukkan usia data.
3. Reka bentuk pengingesan dan keutamaan sumber
Deklarasi repositori menyediakan niat dan pemilikan, sistem penggunaan menyediakan versi dan persekitaran sebenar, dan telemetri masa jalanan membekalkan pinggir panggilan terkini. Setiap import menyimpan sumber, versi komit, dan hasil pengesahan serta menggunakan kunci keidempotanan. Gabungkan konflik mengikut dasar medan: satu pemerhatian masa jalanan tidak boleh menulis semula pemilikan yang diisytiharkan, dan pinggir masa jalanan tidak boleh membuktikan bahawa sesuatu kebergantungan tidak wujud. Masukkan konflik ke dalam giliran dan maklumkan kepada pemilik.
4. Tentukan semantik kesegaran dan pemadaman
Simpan lastSeenAt, versi deklarasi, dan dasar tamat tempoh bagi setiap entiti. Tandakan entiti sebagai usang selepas sumbernya berhenti mengemas kini; sembunyikan atau turunkan kedudukannya dalam carian lalai sambil mengekalkan sejarah untuk main semula insiden. Pemadaman repositori, persaraan perkhidmatan, dan persekitaran efemeral memerlukan keadaan yang berbeza. Pemadaman serta-merta memusnahkan sejarah; tidak pernah memadam mencemarkan carian. Penyelaras berkala mencuba semula import yang gagal dan mengalih keluar pinggir yatim (orphan edges).
5. Bina laluan pertanyaan, kebenaran, dan keselamatan
Sokong carian mengikut nama, pasukan, domain, persekitaran, tag, dan pemilik. Bataskan kedalaman kebergantungan dan bilangan hasil supaya traversal graf tidak membebankan perkhidmatan. Lampirkan skop organisasi pada entiti dan medan; padamkan (redact) laluan repositori sensitif, titik akhir dalaman, dan butiran penyewa pelanggan mengikut medan. Audit perubahan pemilikan dan akses yang ditolak; menyembunyikan data dalam penyemak imbas bukanlah kebenaran (authorization).
6. Lancarkan secara berperingkat dan simpan alternatif
Peringkat pertama merangkumi perkhidmatan kritikal dan carian pemilik dengan keperluan sumber dan kesegaran. Peringkat kedua menambah graf kebergantungan, versi penggunaan, dan penghalaan insiden. Peringkat ketiga menilai tadbir urus automatik. Jika pasukan tidak mengekalkan deklarasi, mulakan dengan templat repositori dan semakan CI dan bukannya katalog seluruh syarikat. Panduan PM Amazon menekankan masalah pelanggan dan bukti kecekapan; penggunaan harus dibuktikan melalui kejayaan carian, masa penyetempatan insiden, dan kadar penyelenggaraan metadata.
Model jawapan berkualiti tinggi
Saya akan menganggap katalog sebagai graf entiti dengan sumber dan kesegaran, bukan sebagai hamparan data. Komponen, sistem, domain, API, pasukan, dan hubungan mempunyai kunci yang stabil; deklarasi repositori mentakrifkan niat, penggunaan menambah versi persekitaran, dan isyarat masa jalanan menambah kebergantungan terkini. Pengumpul didorong oleh peristiwa, bersifat idempoten, dan mengekalkan versi komit. Model bacaan menyediakan pemilik, kebergantungan songsang, dan pertanyaan graf yang terikat. Konflik menjadi giliran, entiti usang kekal sebagai sejarah tetapi hilang daripada carian lalai, dan kebenaran dikenakan mengikut organisasi dan medan. Saya akan membuktikan kejayaan carian, masa penyetempatan insiden, dan kadar penyelenggaraan pada perkhidmatan kritikal sebelum berkembang.
Kesilapan lazim
- Membina CMDB yang diselenggara secara manual → ia cepat menjadi usang → gunakan deklarasi repositori dan pengumpulan automatik sebagai fakta.
- Menyimpan rentetan teks pemilik → pemberitahuan dan proses penamatan (offboarding) tidak dapat disahkan → rujuk kepada prinsipal pasukan yang boleh diselesaikan.
- Membiarkan sumber terbaharu menulis ganti segalanya → hingar masa jalanan menulis semula fakta tadbir urus → susun kedudukan sumber dan kekalkan konflik.
- Memadamkan perkhidmatan yang telah dibersarakan → main semula insiden kehilangan kebergantungan → gunakan keadaan kitaran hayat dan versi sejarah.
- Traversal kebergantungan tanpa batas → satu pertanyaan berkembang ke seluruh graf → bataskan kedalaman dan hasil serta gunakan indeks kejiranan.
Soalan susulan dan jawapan
Bagaimana jika pemilikan yang diisytiharkan bercanggah dengan data penggunaan?
Wakilkan mereka sebagai atribut bersumber berasingan, gabungkan mengikut dasar medan, dan tunjukkan konflik tersebut. Deklarasi terkawal memiliki medan pemilik; sistem penggunaan memiliki medan persekitaran. Maklumkan kepada kedua-dua pihak dan selesaikan melalui komit pembetulan.
Bagaimanakah anda mengendalikan persekitaran pratonton jangka pendek?
Berikan entiti persekitaran dan masa tamat tempoh. Entri pratonton menerima berat lalai yang rendah dan diarkibkan secara automatik. Jika pengeluaran bergantung pada salah satu daripadanya, pinggir masa jalanan boleh mencetuskan amaran, tetapi pemilikan dan kebenaran penyewa masih terpakai.
Apakah yang berlaku jika katalog tidak tersedia semasa insiden?
Simpan snapshot yang boleh dieksport dan cache pemilik terkini untuk perkhidmatan kritikal dan paparkan usia datanya. Alat insiden boleh membaca snapshot, tetapi tidak boleh mengemukakan snapshot yang telah tamat tempoh sebagai kebenaran langsung.
Bagaimanakah anda menghalang pasukan daripada menganggap katalog sebagai pintu kelulusan pelepasan (release gate)?
Mulakan dengan penemuan dan tindak balas insiden serta ukur masa carian dan penyetempatan. Sambungkan semakan tadbir urus hanya selepas metadata dan kebenaran menjadi stabil; semakan yang gagal harus menyediakan laluan pembaikan dan bukannya menyekat setiap pelepasan.