Dewacloud menawarkan integrasi praktis antara server Apache yang scalable dan didedikasikan untuk hosting aplikasi berbasis Python. Platform Dewacloud telah dioptimasi dan disiapkan untuk pengelolaan. Jadi, kamu dapat langsung memulai proses development tanpa perlu susah payah mengerjakan berbagai keperluan orkestrasi server.
Melalui artikel ini, kamu akan mengetahui lebih lanjut tentang tools dan fitur utama yang tersedia pada platform ini untuk menyediakan tingkat hosting cloud Python yang diperlukan.
Python Environment Hosting
Untuk memulai aplikasi hosting Python kamu di Dewacloud, kamu harus membuat environment yang sesuai melalui topology wizard yang tersedia di Dewacloud. Kamu dapat mengakses menu ini melalui tombol New Environment di panel bagian atas pada dashboard.
Pilih tab Python dan pilih versi engine yang diinginkan. Server aplikasi Apache Python akan otomatis ditambahkan ke dalam satu bundle dengan mod_wsgi.
Kemudian, tentukan resource limit dan jumlah node yang diinginkan. Jika perlu, tambahkan extra stacks software atau opsi tambahan lainnya (misalnya IP Public).
Versi Python
Pada saat penulisan artikel ini, versi Python yang didukung oleh Dewacloud adalah:
- 3.6.12
- 3.7.9
- 3.8.6
- 3.9.1
Kamu bisa memilih versi Python yang diperlukan langsung dari topology wizard selama pembuatan environment baru, serta menyesuaikan dengan yang sudah ada menggunakan container redeployment.
Membangun Aplikasi Python
Membangun ke server aplikasi yang terkelola (Apache Python) akan otomatis oleh platform dan dapat dilakukan dengan menggunakan salah satu langkah berikut ini:
- dari remote repository VCS (seperti GitHub)
- melalui aplikasi yang di upload menggunakan archive dengan external URL atau local machine kamu (laptop/komputer)
Git flow memberikan kemungkinan deploy yang berurutan atau simultan, serta automatic re-deployment dari repository jika perubahan kode baru muncul.
Lihat panduan berikut untuk detail rincinya mengenai proses deployment dan opsi tambahan yang disediakan, yaitu:
Mengelola Package dan Modul Python
Agar berhasil deploy dan menjalankan aplikasi Python, beberapa modul tambahan atau package lainnya mungkin akan diperlukan untuk di instal. Ini adalah practice umum untuk menjalankan aplikasi web Python di environment virtual yang terisolasi, misalnya menggunakan tools environment virtual, yang memungkinkan mengelola project secara mandiri dan tanpa hak privilege administrator.
- Hubungkan ke Python Environment melalui SSH (menggunakan lokal atau built in Web SSH client) untuk membuatnya dan start virtual environment baru. Jalankan perintah berikut:
virtualenv{appName} source{appName}/bin/activate
- Pengelolaan package software yang diperlukan umumnya disediakan oleh pip – sistem manajemen package Python yang populer untuk repository PiPI. Di bawah ini beberapa perintah yang paling umum digunakan:
- pip install {packageName} – instal modul yang diperlukan
- pip uninstall {packageName} – hapus modul yang diinstal sebelumnya
- pip install -upgrade {packageName} – update modul yang ditentukan ke versi terbarunya.
- pip install -r requirements.txt – install semua modul, tercantum dalam file requirements.txt
- pip list – memperlihatkan kumpulan modul yang sudah di instal
Mengelola Domain
Jika diperlukan, nama domain secara default untuk aplikasi Python kamu bisa diganti menggunakan custome one melalui:
- CNAME redirect jika menggunakan Shared Load Balancer, itu adalah yang direkomendasikan untuk dev dan test environment
- DNS A Record jika menggunakan IP Public, bisa menangani high traffic dan cocok untuk production environment
Tambahan, Dewacloud memungkinkan untuk mengalihkan traffic antara dua environment yang cepat dan tanpa downtime (misalnya untuk mengarahkan customer secara mulus ke versi aplikasi yang lebih baru_ menggunakan fungsi swap domain atau dengan bantuan metode SwapExtlps API / CLI.
Automatic Vertical Scaling
Automatic vertical scaling diimplementasikan oleh Dewacloud menyediakan jumlah resource yang tepat (RAM dan CPU) untuk menggunakanya saat ini sehingga dibutuhkan oleh aplikasi kamu.
Akibatnya, kamu tidak perlu membuang-buang waktu secara terus-menerus untuk membuat penyesuaian load-related. Dan dalam kombinasi dengan harga Pay-as-You-Use, ini memastikan kamu tidak pernah membayar lebih untuk resource yang tidak terpakai.
Cukup atur batas upper cloudlets (masing-masing sama dengan 128 MiB RAM dan 400 MHz CPU) untuk server aplikasi Python kamu. Segala sesuatu yang lain akan ditangani oleh platform secara otomatis.
Manual Horizontal Scaling
Horizontal scaling pada server Python tidak berbeda dengan scaling pada umumnya yang ada pada platform – hanya spesifikasi nomor yang diperlukan ke nodes dengan tombol +/- pada bagian tengah di part topology wizard. Jika diperlukan, pilih scaling mode yang diinginkan:
-
- Stateless – secara bersamaan membuat semua node baru dari base image template
- Stateful – secara beruntun menyalin sistem file dari container master ke node baru
Baca lebih lanjut tentang stateless dan stateful horizontal scaling
Automatic Horizontal Scaling
Arahkan ke environment Settings > Auto Horizontal Scaling di bagian tersebut untuk melakukan set custom triggers, yang memungkinkan secara otomatis meningkatkan / mengurangi jumlah node karena beban dari aplikasi. Cukup pilih jenis resources yang akan dilihat (CPU, RAM, Network, Disk) dan kondisi scaling yang tepat, tindakan lainnya akan jalan secara otomatis. Kamu akan diberitahu tentang perubahan apapun dengan notifikasi melalui email jika opsi yang sesuai sedang diaktifkan.
Koneksi Database Untuk Aplikasi PHP
Satu set server database yang dapat di scaling dan sepenuhnya dapat dikelola jika tersedia dalam Dewacloud untuk kamu yang dengan mudah melakukan instalasi dan menggunakannya untuk environment Python. Untuk membuat koneksi, sesuaikan aplikasi kamu mengikuti instruksi berdasarkan database yang kamu butuhkan:
- SSL custom atau bawaan
- Public IPv4 dan IPv6
- Berbagai stack software yang terkelola
- Firewall container, endpoints, dan environment isolation
- UI yang mudah digunakan dan akses SSH Web langsung untuk pengelolaan
- Open API dan Cloud Scripting untuk otomatisasi
- Pay-as-you-use model pembayaran
- Kolaborasi fungsional untuk pekerjaan secara tim
- Distribusi multi-cloud
Coba Dewacloud PaaS gratis selama 14 hari untuk mendapatkan cloud hosting Python yang powerful dan bebas masalah.