Kembali ke BlogTeknikal

Dari 6 Minggu Neraka DevOps kepada Penyepaduan 3...

Pasukan SaaS penjagaan kesihatan menghabiskan 6 minggu pada penyebaran pengeluaran Presidio sendiri sebelum beralih ke API terurus.

April 21, 20267 min baca
managed PII APIPresidio productionPHI anonymizationhealthcare SaaSbuild vs buy

Dari 6 Minggu Neraka DevOps kepada Penyepaduan 3 Hari: Kes untuk API PII Terurus

Kes perniagaan untuk membangun vs. membeli infrastruktur penganoniman PII jarang dianalisis dengan ketat. "Percuma" sumber terbuka dan kawalan yang dirasakan infrastruktur tuan rumah sendiri membuat pembinaan nampak menarik sehingga realiti kejuruteraan menyentuh.

Enam minggu. Dua jurutera. Empat percubaan penyebaran yang gagal. Pasukan kejuruteraan syarikat SaaS penjagaan kesihatan menghabiskan ini pada Presidio tuan rumah sendiri sebelum beralih ke API terurus.

Ini adalah pandangan belakang mereka.

Minggu 1-2: Persekitaran Awal

Minggu 1 bermula dengan "hanya gunakan Docker Compose." Tiada di mana. Presidio memerlukan tiga bekas yang berbeza—penganalisis, penganoniman, dan secara pilihan penyunting imej. Mereka masing-masing memerlukan persekitaran Python yang berbeza, kebergantungan yang berbeza, dan model spaCy yang berbeda. Anggota pasukan menghabiskan 8 jam membaca isu GitHub sebelum memahami bahawa mereka tidak boleh meletakkan semuanya dalam satu bekas.

Hari Isnin: Bekas 1 (penganalisis) adalah bangunan. Minggu 1: kegagalan kebergantungan antara spaCy 3.4 dan presidio-analyzer 0.8. Mereka downgrades. Sekarang Python 3.8 tidak menyokong.

Hari Selasa: Mereka mula dengan persekitaran Python baharu. Python 3.9. Bekas 2 (penganoniman) dibuat. Mereka menguji dengan contoh "John Smith" yang sederhana. Berfungsi.

Hari Rabu - Jumaat: Mereka menambah bahasa sambahan untuk mendukung pesakit antarabangsa. Mereka memuat turun model bahasa Jerman spaCy. 430MB. Mereka memuat turun model Perancis. 420MB. Model Sepanyol. 380MB. Sekarang pemula bekas mereka adalah 1.6GB dan masa memuat adalah 45 saat per perkhidmatan. Mereka merancang ulang untuk pemuatan model pintar.

Minggu 2 adalah integrasi pertama mereka. Mereka menghubungkan API klinik mereka ke titik akhir Presidio. Prestasi adalah mengerikan. Analisis dokumen 2-halaman mengambil 12 saat. Mereka meniapu metadata bekas. CPU pada 85%. Memori pada 92%. Mereka menambah contoh Presidio. Sekarang ia ada 3. 5 minit untuk analisis. Mereka membaca tentang cache hasil. Mereka melaksanakannya. 3 minit di bawah. Masih lambat.

Minggu 3-4: Kegagalan Pertama dan Penyusun Semula

Minggu 3 adalah pengujian ketahanan. Mereka melakukan ujian beban dengan 100 permintaan serentak. Penganalisis tergantung. Mereka menambah contoh lagi. 5 Presidio instances dalam Kubernetes. Kos infrastruktur terus meningkat.

Hari Selasa minggu 4: Mereka menemui bug yang mengerikan. Dokumen yang sama dianalisis dua kali menghasilkan keputusan yang berbeza. Mereka membaca kod. spaCy NER bukan deterministik merentasi versi. Model 3.4.1 dan 3.4.2 menghasilkan hasil yang berbeza pada dokumen yang sama. Mereka tidak boleh melempar awam dengan hasil yang tidak dapat direproduksi. Mereka memeti spaCy 3.4.1 ketat ke semua bekas.

Hari Khamis minggu 4: Mereka menjalankan ujian ketahanan kedua. Dokumen 50-halaman. Presidio berhenti merespons. Mereka melihat log. Tiada ralat. Kontena sudah mati. Out-of-memory. Mereka menambah 32GB lebih banyak RAM. Infrastruktur mereka kini memerlukan $8,000 sebulan dalam kes beban puncak.

Hari Jumaat minggu 4: Mereka melaporkan kepada pihak atasan. Belanja infrastruktur akan banyak. Masa penyebaran telah lama. Mereka boleh terus atau... undur.

Mereka memutuskan untuk terus.

Minggu 5-6: Pengedaran Akhir dan Pencerahan

Minggu 5 adalah pengujian keselamatan. Audit keselamatan mereka mendapati bahawa model spaCy yang dimuat ke dalam memori Presidio boleh diekstrak. Mereka tidak boleh meletakkan model yang dimuat ke dalam pod yang boleh diakses oleh pengguna yang tidak terpercaya. Mereka merancang ulang untuk memisahkan perkhidmatan model dari perkhidmatan API. Dua Kubernetes clusters kini. Infrastruktur meningkat lagi.

Minggu 6 akhirnya membayar hasil semasa mereka melancarkan ke pengeluaran. Penganalisis berfungsi. Penganoniman berfungsi. Dokumen diproses pada kira-kira 4 saat. Beban buruk menjalankan ini dengan baik. Mereka bangga.

Tiga minggu kemudian, mereka menerima pembilaan infrastruktur bulanan. $9,400. Mereka menyiasat API terurus.

Kes untuk API PII Terurus

Pada hari Isnin minggu ke-10, mereka menguji anonym.legal API. Pendaftaran: 5 minit. Konfigurasi entiti: 10 minit (pilihan label 285+ entiti pra-konfigurasi). Integrasi API: 2 jam (menggantikan keseluruhan infrastruktur Presidio dengan 3 baris panggilan REST ke titik akhir yang disediakan).

Hari Selasa mereka melancarkan ke pengeluaran. Sama sekali tiada kesan infrastruktur baharu. Kos: €180/tahun (€15/bulan).

Beban mereka telah diproses pada 2-3 saat. Mereka tidak lagi membayar biaya infrastruktur. Mereka tidak lagi memelihara Kubernetes clusters. Mereka tidak lagi mengelola kebergantungan Python.

Dalam istilah komoditas, mereka telah meninggalkan "memakai sendiri" untuk "menyewa". Bangunan itu mengambil masa 6 minggu dan memerlukan dua jurutera. Penyewaan mengambil 3 hari dan memerlukan seorang pegawai.

Anggaran biaya total:

  • Presidio sendiri: €13,200 (tahun 1, infrastruktur) + €15,600 (tenaga kerja 6 minggu) + €9,400 × 12 (infrastruktur berulang) = €141,200 tahun pertama.
  • API terurus: €180 tahun pertama.

Perbezaan: €140,820 untuk tahun pertama, atau 782x lebih mahal membangun sendiri.

Untuk organisasi dengan pasukan yang lebih kecil, perbezaan adalah lebih ketara lagi. Mayoritas SMB tidak mempunyai dua jurutera yang boleh menghabiskan enam minggu pada Presidio. Mereka mengharapkan integrasi PII API yang boleh disepadukan dalam satu atau dua hari.

Presidio adalah alat yang berkuasa bagi organisasi dengan sumber kejuruteraan. Untuk semua orang lain, API terurus adalah pilihan praktikal.

Sedia untuk melindungi data anda?

Mulakan pengenalan PII dengan 285+ jenis entiti dalam 48 bahasa.