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.
App
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.
Arsitektur dan isolasi
Aplikasi Databricks dibangun di atas arsitektur yang sama dengan komputasi tanpa server dan mendapat manfaat dari lapisan isolasi yang sama, termasuk sumber daya komputasi khusus, segmentasi jaringan, enkripsi saat tidak aktif dan saat transit, dan prinsip hak istimewa paling sedikit. Untuk detail konfigurasi jaringan, lihat Mengonfigurasi jaringan untuk Aplikasi Databricks.
URL aplikasi
Databricks secara otomatis menetapkan URL unik untuk setiap aplikasi saat Anda membuatnya. URL tersebut mengikuti format berikut:
https://<app-name>-<workspace-id>.<region>.databricksapps.com
Where:
-
<app-name>adalah nama yang Anda berikan saat membuat aplikasi -
<workspace-id>adalah pengidentifikasi unik untuk ruang kerja Anda -
<region>adalah wilayah cloud tempat ruang kerja Anda berada
Anda tidak dapat mengubah URL setelah membuat aplikasi. Jika Anda memerlukan URL yang berbeda, buat aplikasi baru dengan nama yang berbeda.
Template
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.txtuntuk mencantumkan paket Python tambahan untuk diinstal denganpip, atau gunakanpyproject.tomluntuk manajemen dependensi berbasisuv. - Gunakan
package.jsonuntuk 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 Aplikasi Databricks.
Pengembang dapat menghasilkan aplikasi baru dari templat menggunakan UI atau CLI Azure Databricks.
Lingkungan sistem
Aplikasi Databricks berjalan di lingkungan sistem yang telah dikonfigurasi sebelumnya yang dikelola oleh Azure Databricks. Untuk detailnya, lihat Lingkungan Aplikasi Databricks.
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.txtataupyproject.toml. - 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
- Job
- Titik akhir pengoperasian model
- Ruang Angkasa Genie
- Secret
- Volume
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.ymldiperlukan 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.
Anda dapat menyimpan status dengan cara berikut:
- Penyimpanan dalam memori untuk data sementara dalam satu sesi. Data ini hilang saat aplikasi dimulai ulang.
- Sistem file lokal untuk file sementara selama eksekusi aplikasi. Data ini hilang saat aplikasi dimulai ulang.
- Tabel Azure Databricks menggunakan Databricks SQL untuk beban kerja data terstruktur dan analitik persisten.
- Berkas ruang kerja untuk data persisten yang tidak terstruktur.
- Volume Unity Catalog untuk data tidak terstruktur yang persisten dengan tata kelola Unity Catalog.
- Instans database Lakebase untuk data relasional persisten dengan kompatibilitas PostgreSQL.
Kasus penggunaan umum termasuk penembolokan hasil kueri, menyimpan preferensi pengguna, atau mencatat tindakan pengguna di seluruh sesi.
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.