Container dan Cognitive service


Saya lanjutkan catatan dari training Azure AI102. Kali ini tentang containers. Dengan container, kita bisa menggunakan Azure cognitive service di cloud azure maupun on-premise. On premise ini maksudnya hosting konvensional. Misalnya aplikasi yang kita buat membutuhkan data pada server SQL on-premise, kita dapat menggunakan cognitive service di container pada jaringan yang sama. Data kita akan tetap berada pada jaringan lokal dan tidak dipindahkan ke cloud. Menjalankan cognitive service di sebuah container on-premise akan mengurangi latency antara service dan data lokal, sehingga akan meningkatkan performa.

Kita dapat menggunakan container cognitive service pada berbagai host container, diantaranya: host docker lokal, Azure container instance (ACI) dan cluster Azure kubernetes service (AKS). Dengan adanya fitur contanier ini, maka memudahkan berbagai kemungkinan deployment aplikasi kita sesuai dengan kebijakan keamanan organisasi.

Container docker sudah disediakan di Microsoft container registry. Setiap contanier menyediakan sebuah subset dari fungsi cognitive service. Contohnya tidak semua fitur dari language service ada dalam sebuah container. Fitur language detection, translation dan sentiment analysis disediakan pada image container terpisah. Namun langkah konfigurasinya hampir sama untuk semua container.

Untuk language service, setiap 3 core feature dipetakan ke image berbeda.

Key Phrase extraction : imagenya disediakan di mcr.microsoft.com/azure-cognitive-services/keyphrase

Language detection: mcr.microsoft.com/azure-cognitive-services/language

Sentiment analysis: mcr.microsoft.com/azure-cognitive-services/sentiment:3.0-en (untuk bahasa selain inggris ganti en dengan kode bahasa)

Untuk mengunduh dapat menggunakan docker pull comand. Beberapa container ada dalam sebuah “gated” public preview state, kita harus secara khusus meminta akses untuk menggunakannya. Namun container lainnya tersedia untuk siapa saja yang ingin men-deploy azure cognitive service.

Setiap cognitive service image membutuhkan 3 konfigurasi: billing endpoint, subscription key dan perjanjian EULA. Ada juga container yang membutuhkan konfigurasi tambahan.

Untuk semua container cognitive service yang dibutuhkan adalah konfigurasi ApiKey, Billing dan Eula.

Setelah container cognitive service di deploy, aplikasi akan menggunakan cognitive service endpoint yang di container (containerized) bukan yang azure endpoint default. Sehingga semua komunikasi data antara aplikasi client and containerized service tidak dikirim ke azure resource endpoint. Namun container masih perlu untuk menghubungkan azure resource endpoint untuk mendapatkan usage metric untuk billing.

Sampai disini dulu, semoga bermanfaat!


Silahkan tuliskan tanggapan, kritik maupun saran