Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini memperkenalkan konsep inti di balik Aplikasi Databricks, termasuk bagaimana aplikasi disusun, cara aplikasi mengelola dependensi dan status, cara kerja izin, dan cara aplikasi berinteraksi dengan sumber daya platform. Memahami konsep ini membantu saat mengembangkan, menyebarkan, dan mengelola aplikasi di ruang kerja Anda.
Aplikasi
Aplikasi Databricks adalah aplikasi web yang berjalan sebagai layanan kontainer di platform tanpa server Azure Databricks. Pengembang menggunakan kerangka kerja yang didukung seperti Streamlit, Dash, atau Gradio untuk membangun aplikasi yang memberikan data interaktif atau pengalaman AI dalam ruang kerja Azure Databricks.
Setiap aplikasi mencakup konfigurasi, identitas, dan lingkungan runtime terisolasinya sendiri. Karena aplikasi milik ruang kerja tertentu, aplikasi dapat mengakses sumber daya tingkat ruang kerja seperti gudang SQL dan sumber daya tingkat akun seperti Unity Catalog. Pengembang juga dapat memilih untuk berbagi aplikasi dengan pengguna di luar ruang kerja tetapi dalam akun Azure Databricks yang sama.
Meskipun kontainer aplikasi berjalan pada infrastruktur tanpa server Azure Databricks, aplikasi itu sendiri dapat terhubung ke sumber daya tanpa server dan non-serverless. Secara konseptual, aplikasi bertindak sebagai layanan sarana kontrol yang menghosting UI web dan mengakses layanan sarana data Azure Databricks yang tersedia. Untuk informasi selengkapnya, lihat gambaran umum arsitektur Databricks.
Untuk meluncurkan dan mengelola aplikasi, buka bagian Aplikasi di antarmuka pengguna ruang kerja.
Templat
Templat aplikasi adalah perancah bawaan yang membantu pengembang mulai membangun aplikasi dengan cepat menggunakan kerangka kerja yang didukung. Setiap templat menyertakan struktur file dasar, app.yaml
manifes, requirements.txt
file untuk aplikasi Python, dan kode sumber sampel.
File app.yaml
menentukan perintah untuk menjalankan aplikasi (misalnya, streamlit run <app-name>
untuk aplikasi Streamlit), menyiapkan variabel lingkungan lokal, dan mendeklarasikan sumber daya yang diperlukan.
- Gunakan
requirements.txt
untuk mencantumkan paket Python tambahan untuk diinstal denganpip
. - Gunakan
package.json
untuk mencantumkan paket Node.js untuk menginstal dengannpm
.
File-file ini melengkapi lingkungan sistem default dan paket yang telah diinstal sebelumnya. Untuk informasi selengkapnya, lihat Lingkungan sistem Databricks Apps.
Pengembang dapat menghasilkan aplikasi baru dari templat menggunakan UI atau CLI Azure Databricks.
Lingkungan dan paket sistem
Aplikasi Databricks berjalan di lingkungan sistem yang telah dikonfigurasi sebelumnya yang dikelola oleh Azure Databricks. Untuk detailnya, lihat Lingkungan sistem Databricks Apps.
Setiap aplikasi memiliki lingkungan terisolasi sendiri untuk mencegah konflik dependensi. Untuk memastikan konsistensi, tentukan paket yang diperlukan dan versinya dalam file yang sesuai untuk aplikasi Anda:
- Untuk Python, gunakan
requirements.txt
. - Untuk Node.js, gunakan
package.json
.
Untuk penyebaran hibrid, Anda kemungkinan besar akan memiliki kedua file.
Selama penyebaran, Azure Databricks menginstal dependensi ini ke lingkungan runtime terisolasi aplikasi. Jika Anda menyertakan paket yang sudah diinstal sebelumnya, versi yang ditentukan akan mengambil alih default.
Lihat Mengelola dependensi untuk aplikasi Databricks untuk detail selengkapnya.
Sumber daya aplikasi
Sumber daya aplikasi adalah layanan asli Azure Databricks yang sangat diperlukan oleh aplikasi, seperti gudang data SQL, titik akhir penyajian model, pekerjaan, rahasia, atau volume. Anda menyatakan dependensi ini dalam manifes databricks.yml
menggunakan kolom resources
. Azure Databricks mendukung jenis sumber daya berikut:
- Gudang SQL
- Pekerjaan
- Titik akhir pengoperasian model
- Ruang jin
- Rahasia
- Kapasitas
Untuk mengakses layanan Azure Databricks yang belum memiliki jenis sumber daya yang didukung, gunakan rahasia yang dikelola Katalog Unity untuk menyuntikkan kredensial dengan aman. Lihat Manajemen Rahasia.
Ada dua tahap untuk mengonfigurasi sumber daya aplikasi:
-
Deklarasi (pengembangan) - Deklarasikan setiap sumber daya yang
databricks.yml
diperlukan dalam manifes. Ini menentukan sumber daya mana yang dibutuhkan aplikasi dan izin apa yang diperlukannya. - Konfigurasi (penyebaran) - Selama penyebaran, gunakan UI Databricks Apps untuk mengonfigurasi sumber daya yang dideklarasikan dengan instans khusus ruang kerja aktual (misalnya, memilih gudang SQL tertentu).
Pemisahan antara deklarasi dan konfigurasi ini memungkinkan aplikasi menjadi portabel di seluruh lingkungan. Misalnya, Anda dapat menyebarkan kode aplikasi yang sama di ruang kerja pengembangan dan menautkannya ke satu gudang SQL. Dalam produksi, Anda dapat menggunakan kembali kode dan mengonfigurasi gudang yang berbeda tanpa membuat perubahan kode. Untuk mendukung hal ini, hindari menetapkan secara permanen ID sumber daya aplikasi atau nilai yang spesifik terhadap lingkungan di aplikasi Anda.
Azure Databricks memberlakukan akses hak istimewa paling sedikit. Aplikasi harus menggunakan sumber daya yang ada dan tidak dapat membuat sumber daya baru. Selama penyebaran, admin ruang kerja meninjau dan menyetujui akses aplikasi yang diminta ke sumber daya. Perwakilan layanan aplikasi menerima izin yang diperlukan, dan pengembang aplikasi harus memiliki izin untuk memberinya.
Untuk mempelajari selengkapnya, lihat Menambahkan sumber daya ke aplikasi Databricks.
Status aplikasi
Aplikasi dapat memiliki salah satu status berikut: Berjalan, Dihentikan, Menyebarkan, atau Mengalami Crash.
- Berjalan - Aplikasi sedang berjalan dan dapat diakses. Azure Databricks menagih untuk sumber daya komputasi yang digunakan saat aplikasi sedang berjalan.
- Dihentikan - Aplikasi tidak dapat diakses dan tidak dikenakan biaya apa pun. Azure Databricks mempertahankan konfigurasi dan lingkungan aplikasi, sehingga Anda dapat memulai ulang tanpa mengonfigurasi ulang.
- Menyebarkan - Aplikasi sedang dimulai. Ini belum dapat diakses dan tidak dikenakan biaya apa pun selama tahap ini.
- Gangguan - Aplikasi gagal memulai atau berhenti secara tak terduga. Ini tidak dapat diakses dan tidak dikenakan biaya. Anda dapat melihat log untuk memecahkan masalah dan memulai ulang aplikasi setelah masalah diselesaikan.
Status aplikasi
Status aplikasi menyertakan data atau konteks apa pun yang perlu dipertahankan aplikasi di seluruh sesi atau interaksi pengguna. Aplikasi tidak mempertahankan status dalam memori setelah dimulai ulang. Setiap data yang disimpan dalam memori hilang saat aplikasi dimatikan.
Untuk mempertahankan status antara sesi atau memulai ulang, pengembang harus menyimpannya secara eksternal. Misalnya, aplikasi dapat mempertahankan status menggunakan Databricks SQL (seperti tabel Delta), file ruang kerja, atau volume Unity Catalog. Kasus penggunaan umum termasuk penembolokan hasil kueri, menyimpan preferensi pengguna, atau mencatat tindakan pengguna di seluruh sesi.
Autentikasi dan otorisasi aplikasi
Aplikasi Databricks menggunakan OAuth 2.0 untuk autentikasi dan kontrol akses. Setiap aplikasi memiliki dua identitas pelengkap yang menentukan caranya mengautentikasi dan mengotorisasi akses ke sumber daya Azure Databricks: otorisasi aplikasi dan otorisasi pengguna.
Otorisasi aplikasi - Azure Databricks secara otomatis membuat perwakilan layanan untuk setiap aplikasi. Perwakilan layanan ini bertindak sebagai identitas aplikasi dan diberikan izin oleh pengembang aplikasi. Semua pengguna aplikasi berbagi identitas ini dan memiliki akses ke sekumpulan izin yang sama. Model ini berguna untuk operasi yang tidak bergantung pada konteks masing-masing pengguna, seperti pengelogan atau tindakan tingkat sistem.
Otorisasi pengguna - Model ini menggunakan identitas pengguna aplikasi untuk mengautentikasi dan mengotorisasi akses. Pengguna harus termasuk dalam akun Azure Databricks tempat aplikasi disebarkan. Setelah masuk melalui akses menyeluruh (SSO), aplikasi dapat menggunakan kredensial pengguna untuk mengakses sumber daya yang diatur seperti gudang SQL. Hal ini memungkinkan aplikasi untuk menghormati izin yang sangat terperinci yang dikelola oleh Unity Catalog tanpa memberikan izin tersebut kepada prinsipal layanan aplikasi.
Aplikasi meminta cakupan OAuth tertentu dalam manifesnya untuk mengontrol API dan sumber daya mana yang dapat mereka akses. Model fleksibel ini mendukung keamanan tingkat perusahaan dan memungkinkan kontrol akses terperinci.
Untuk informasi selengkapnya, lihat Mengonfigurasi otorisasi di aplikasi Databricks.
Pengguna aplikasi
Setelah penyebaran, pengembang aplikasi dapat berbagi aplikasi dengan pengguna atau grup dengan memberikan CAN_USE
izin atau CAN_MANAGE
pada instans aplikasi. Pengguna tidak perlu termasuk dalam ruang kerja yang sama, tetapi mereka harus menjadi bagian dari akun Azure Databricks yang sama. Untuk berbagi dengan pengguna eksternal, pertama-tama sinkronkan mereka ke dalam akun menggunakan penyedia identitas Anda. Untuk informasi selengkapnya, lihat Menyinkronkan pengguna dan grup dari MICROSOFT Entra ID menggunakan SCIM.
Anda juga dapat mendistribusikan aplikasi yang sama di seluruh lingkungan pengembangan, penahapan, dan produksi menggunakan alur CI/CD dan infrastruktur sebagai kode. UI Aplikasi terpusat membantu pengguna menemukan dan meluncurkan aplikasi yang diizinkan untuk mereka gunakan.