Dewacloud blog featured image

Dewacloud PaaS: Cloud Platform Terbaik untuk Aplikasi & Environment Python

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

buat environment baru python

Catatan: Setiap instance di Dewacloud adalah sebuah container terisolasi & independen. Layer yang sama secara otomatis didistribusikan di seluruh host yang tersedia untuk memastikan high-availability.

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

versi python Dewacloud

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)
     
    deploy aplikasi python via git

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.

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

     
    web SSH dewacloud

  2. 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
Tip: Pada penggunaan aplikasi berbentuk archive, semua dependensi disediakan melalui file requirement.txt. File tersebut akan dibaca selama proses deployment untuk modul Python di dalamnya secara otomatis. Archive juga harus berisi file wsgi.py lengkap dengan script entry point untuk menjalankan aplikasi di dalam virtual environment menggunakan mod_wsgi untuk Apache.

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

custom domain dewacloud

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.

automatic vertical scaling Dewacloud

Untuk informasi lebih lengkap, baca Panduan Lengkap Automatic Vertical Scaling di Dewacloud.

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
  • manual horizontal scaling Deawcloud

Untuk informasi lebih lengkap, baca Stateless dan Stataeful Horizontal Scaling di Dewacloud.

Baca lebih lanjut tentang stateless dan stateful horizontal scaling

Tip: Untuk distribusi request yang lebih baik, Dewacloud otomatis menginstal load balancer ke environment ketika server Python melakukan 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.

automatic horizontal scaling Dewacloud

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:

Untuk informasi lebih lengkap, baca Panduan Koneksi Database ke Environment di Dewacloud.
Selain itu, hosting di Dewacloud memungkinkan penggunaan tools dan fitur bawaan lainnya, misalnya:
  • 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.