Python Cloud Hosting
Platform ini menyediakan integrasi Apache application server yang dapat diskalakan untuk hosting aplikasi berbasis Python. Server ini sudah dioptimalkan dan siap untuk manajemen langsung, memungkinkan Anda untuk mulai pengembangan tanpa repot mengurus berbagai tugas orkestrasi, yaitu membuat proses hosting semaksimal mungkin nyaman bagi pengembang.
Melalui artikel ini, Anda akan mengenal alat dan fitur utama yang tersedia di platform untuk memberikan tingkat hosting cloud Python yang diperlukan. Gunakan daftar isi di bawah ini untuk menemukan informasi yang dibutuhkan lebih cepat:
- Python Environment Hosting
- Python Versioning
- Python Application Deployment
- Python Packages/Modules Management
- Domains Management
- Automatic Vertical Scaling
- Manual Horizontal Scaling
- Automatic Horizontal Scaling
- Database Connection to Python Application
Python Environment Hosting
Untuk mulai hosting aplikasi Python Anda di platform, Anda perlu membuat lingkungan yang sesuai melalui topology wizard yang kuat (dapat diakses melalui tombol New Environment di panel atas dashboard).
Beralih ke tab bahasa Python dan pilih versi engine yang diinginkan. Apache Python application server ditambahkan secara otomatis dengan modul mod_wsgi. Tentukan batas sumber daya dan jumlah node, serta tambahkan software stack atau opsi lain (misalnya Public IP) jika diperlukan.
Template ini menggunakan systemd daemon modern.
Setiap instance adalah container yang terisolasi sepenuhnya. Instance dari lapisan yang sama secara otomatis didistribusikan ke host yang tersedia untuk memastikan ketersediaan tinggi.
Python Versioning
Saat ini (pada saat penulisan), versi Python berikut didukung:
- 3.8.19
- 3.9.19
- 3.10.13
- 3.11.8
- 3.12.5
Daftar terbaru dari versi yang tersedia di platform disediakan melalui dokumen Software Stack Versions yang diperbarui secara teratur (mingguan).
Anda dapat memilih versi Python yang dibutuhkan langsung dari topology wizard saat membuat lingkungan baru, serta menyesuaikannya untuk lingkungan yang sudah ada menggunakan container redeployment.
Python Application Deployment
Deployment ke managed application servers (Apache Python) diotomatisasi oleh platform dan dapat dilakukan melalui salah satu alur berikut:
- dari VCS repository jarak jauh (mis. GitHub)
- melalui archive aplikasi yang diunggah dari URL eksternal atau dari mesin lokal
Git flow menyediakan kemungkinan deploy secara berurutan atau simultan, serta automatic redeployment dari repository jika ada perubahan kode baru.
Lihat panduan berikut untuk ikhtisar mendetail tentang proses deployment dan opsi tambahan yang disediakan:
Lihat contoh hosting aplikasi berbasis Python di platform:
Python Packages/Modules Management
Untuk berhasil melakukan deployment dan menjalankan aplikasi Python, beberapa modul atau paket tambahan mungkin perlu diinstal. Praktik umum menjalankan aplikasi web Python dalam virtual environments , misalnya menggunakan alat virtual environment, yang memungkinkan manajemen proyek secara independen tanpa hak administrator.
1. Hubungkan ke lingkungan Python via SSH (menggunakan local atau Web SSH client bawaan) untuk membuat dan memulai virtual environment baru. Jalankan perintah berikut:
virtualenv {appName}
source {appName}/bin/activate
2. Pengelolaan paket perangkat lunak yang diperlukan biasanya disediakan oleh pip - sistem manajemen paket Python populer untuk repository PiPI. Di bawah ini adalah beberapa perintah umum:
pip install {packageName}
- menginstal modul yang diperlukanpip uninstall {packageName}
- menghapus modul yang diinstal sebelumnyapip install -upgrade {packageName}
- memperbarui modul ke versi terbarupip install -r requirements.txt
- menginstal semua modul yang terdaftar di file requirements.txtpip list
- menampilkan set modul yang sudah diinstal
Dalam kasus paket aplikasi yang telah dikonfigurasi sebelumnya (arsip), semua dependensi disediakan melalui file requirements.txt, yang dibaca selama proses deployment untuk menginstal modul Python yang tercantum secara otomatis. Juga, harus berisi file wsgi.py dengan entry point script untuk menjalankan aplikasi di dalam virtual environment menggunakan mod_wsgi untuk Apache.
Domains Management
Jika diperlukan, nama domain default aplikasi Python Anda dapat diganti dengan custom domain melalui:
- CNAME redirect jika menggunakan Shared Load Balancer ; direkomendasikan untuk lingkungan dev dan test
- DNS A Record jika menggunakan public IP ; dapat menangani beban lalu lintas tinggi dan cocok untuk lingkungan production
Selain itu, platform memungkinkan pengalihan lalu lintas antara dua lingkungan dengan cepat dan tanpa downtime (mis. untuk secara mulus mengarahkan pelanggan ke versi aplikasi yang lebih baru) menggunakan fungsionalitas swap domains atau dengan bantuan SwapExtIps API.
Automatic Vertical Scaling
Automatic vertical scaling yang diimplementasikan oleh platform menyediakan jumlah sumber daya (RAM dan CPU) yang tepat yang dibutuhkan oleh aplikasi Anda. Akibatnya, Anda tidak perlu terus-menerus melakukan penyesuaian terkait beban. Dan dalam kombinasi dengan model harga Pay-as-You-Use, memastikan Anda tidak pernah membayar berlebihan untuk sumber daya yang tidak digunakan.
Cukup tetapkan batas cloudlets atas (masing-masing setara dengan 128 MiB RAM dan 400 MHz CPU) untuk server aplikasi Python Anda. Segala sesuatu yang lain akan ditangani oleh platform secara otomatis.
Lihat panduan automatic vertical scaling untuk detail tambahan.
Manual Horizontal Scaling
Horizontal scaling pada server Python tidak berbeda dengan scaling instance lainnya di platform - cukup tentukan jumlah node yang diperlukan dengan tombol +/- di bagian tengah topology wizard. Jika diperlukan, pilih scaling mode yang diinginkan:
- Stateless - membuat semua node baru secara bersamaan dari template image dasar
- Stateful - menyalin sistem file container master ke node baru secara berurutan
Untuk distribusi permintaan yang tepat, load balancer akan otomatis ditambahkan ke lingkungan setelah Python server scaling. Lihat dokumentasi horizontal scaling untuk spesifikasi lebih lanjut.
Automatic Horizontal Scaling
Navigasikan ke Settings > Auto Horizontal Scaling untuk mengatur custom triggers, yang memungkinkan penambahan/pengurangan jumlah node secara otomatis sesuai dengan beban aplikasi. Pilih jenis sumber daya yang akan dimonitor (CPU , RAM , Network , Disk) dan kondisi scaling yang tepat, tindakan lainnya akan diotomatisasi. Anda akan diberi tahu tentang perubahan melalui notifikasi email jika opsi ini diaktifkan.
Database Connection to Python Application
Sekumpulan server database yang dapat diskalakan dan dikelola sepenuhnya tersedia di platform agar Anda mudah menginstal dan menggunakan untuk lingkungan Python. Untuk mengatur koneksi, sesuaikan aplikasi Anda berdasarkan instruksi untuk database yang diperlukan:
Selain itu, hosting di platform memungkinkan menggunakan alat dan fitur bawaan lainnya, seperti:
- Custom atau Built-In SSL
- Public IPv4 dan IPv6
- Berbagai macam software stack yang dikelola
- Container firewalls, endpoint, dan isolasi lingkungan
- UI yang ramah pengguna dan akses Web SSH langsung untuk manajemen
- Open API dan Cloud Scripting untuk otomatisasi
- Model harga Pay-as-you-use
- Fungsi kolaborasi untuk kerja tim
- Distribusi multi-cloud
Jelajahi hosting Python berkualitas tinggi dengan PaaS.