Lewati ke konten utama

Python Cloud Hosting

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

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.

catatan

Template ini menggunakan systemd daemon modern.

Python topology wizard
catatan

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).

Python versions

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
deploy Python application

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
Python virtual environment

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 diperlukan
  • pip uninstall {packageName} - menghapus modul yang diinstal sebelumnya
  • pip install -upgrade {packageName} - memperbarui modul ke versi terbaru
  • pip install -r requirements.txt - menginstal semua modul yang terdaftar di file requirements.txt
  • pip list - menampilkan set modul yang sudah diinstal
tip

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.

Python custom domains management

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.

Python automatic vertical scaling

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
Python horizontal scaling
tip

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.

Python automatic horizontal scaling

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.

Baca Juga