Skip to main content

7. Flask Flask Deployment (PM2).html

Flask Flask Deployment (PM2)

 

Pendahuluan

Selamat datang kembali, Stupenss! Pada materi sebelumnya, kita telah mempelajari Flask RESTful API dan membuat API yang kuat dengan Flask. Kali ini, kita akan melanjutkan dengan mempelajari cara melakukan deployment aplikasi Flask ke server menggunakan PM2.

PM2 adalah manajer proses produksi untuk aplikasi Node.js yang juga dapat digunakan untuk mengelola dan menjalankan aplikasi Flask. Dengan PM2, kita dapat mengelola proses Flask yang berjalan di latar belakang dengan mudah, serta melakukan pemantauan, scaling, dan menjaga kelancaran aplikasi.

Pada materi ini, kita akan fokus pada tiga hal. Pertama, kita akan belajar cara melakukan deployment aplikasi Flask ke server menggunakan PM2. Kedua, kita akan menyiapkan environment produksi untuk aplikasi Flask dan mengkonfigurasi PM2 di server. Terakhir, kita akan mempelajari konsep log dan monitoring aplikasi, serta scaling aplikasi dengan PM2.

Dengan materi ini, kita akan mendapatkan pemahaman yang lebih dalam tentang cara melanjutkan dari pengembangan aplikasi Flask ke tahap deployment dan pengelolaan menggunakan PM2. Dengan pengetahuan ini, kita dapat memastikan aplikasi Flask kita berjalan dengan baik di lingkungan produksi dan siap digunakan oleh pengguna.

 

Apa itu Deployment

Deployment adalah proses penting dalam pengembangan perangkat lunak yang memungkinkan aplikasi yang telah kita buat dapat dijalankan di lingkungan produksi dan diakses oleh pengguna secara online.

Saat kita membuat aplikasi Flask, biasanya kita menjalankannya di lingkungan pengembangan lokal. Namun, untuk menghadirkannya kepada pengguna, kita perlu melakukan deployment. Proses deployment melibatkan beberapa langkah, seperti persiapan server, instalasi dependensi, pengaturan server, dan menjalankan aplikasi di lingkungan produksi.

Pertama, kita perlu menyiapkan server atau lingkungan produksi tempat aplikasi akan dijalankan. Ini bisa berupa server fisik atau penyedia layanan cloud. Selanjutnya, kita menginstal semua dependensi yang diperlukan oleh aplikasi, seperti Flask dan pustaka-pustaka lainnya.

Setelah itu, kita mengatur server agar dapat menjalankan aplikasi dengan baik. Ini melibatkan pengaturan server web seperti Nginx atau Apache, konfigurasi domain atau alamat IP, dan menyesuaikan pengaturan keamanan.

Terakhir, kita menjalankan aplikasi di server menggunakan manajer proses seperti PM2. Manajer proses ini akan memastikan aplikasi tetap berjalan di latar belakang dan menghidupkannya kembali jika terjadi kegagalan.

Dengan proses deployment yang sukses, aplikasi Flask kita akan siap digunakan oleh pengguna di lingkungan produksi. Mereka dapat mengakses aplikasi melalui browser atau API yang kita buat. Deployment memastikan bahwa aplikasi berjalan dengan lancar dan tersedia bagi pengguna secara online.

 

 

Apa itu PM 2

PM2 (Process Manager 2) adalah sebuah manajer proses produksi yang dirancang untuk aplikasi Node.js, tetapi juga dapat digunakan untuk mengelola dan menjalankan aplikasi Flask. PM2 memberikan berbagai fitur yang berguna dalam menjalankan aplikasi di lingkungan produksi, seperti mengelola proses aplikasi, pemantauan, dan skalabilitas.

Dalam konteks Flask deployment, PM2 berfungsi sebagai alat yang memungkinkan kita mengelola proses Flask secara efisien di server. Dengan PM2, kita dapat menjalankan aplikasi Flask secara otomatis dan menjaga agar aplikasi tetap berjalan di latar belakang, bahkan setelah restart server.

PM2 juga menyediakan fitur pemantauan yang memungkinkan kita melihat kinerja aplikasi secara real-time, termasuk penggunaan CPU dan memori. Fitur ini sangat berguna dalam memantau kesehatan aplikasi dan mengidentifikasi masalah performa atau kesalahan.

Selain itu, PM2 juga dapat membantu dalam scaling aplikasi Flask. Fitur scaling PM2 memungkinkan kita untuk mengelola multiple instance dari aplikasi yang berjalan secara paralel, sehingga meningkatkan kapasitas dan kinerja aplikasi ketika diperlukan.

Dengan PM2, kita dapat mengatur konfigurasi aplikasi Flask, seperti variabel lingkungan dan opsi startup, serta melakukan manajemen proses seperti restart otomatis atau penghentian aplikasi.

Dalam materi Flask Deployment menggunakan PM2, kita akan mempelajari cara mengkonfigurasi PM2 untuk mengelola aplikasi Flask, memahami konsep log dan monitoring aplikasi, serta melakukan scaling aplikasi dengan PM2. PM2 merupakan alat yang bermanfaat dalam mengelola aplikasi Flask di lingkungan produksi, memastikan aplikasi berjalan dengan lancar, dan mempermudah pemantauan serta peningkatan kapasitas aplikasi.

Implementasi

Berikut adalah langkah-langkah untuk melakukan deployment aplikasi Flask menggunakan PM2:

1. Persiapan Server:

Siapkan server atau lingkungan produksi yang akan menjadi tempat aplikasi Flask dijalankan.

Pastikan server sudah memiliki Python dan dependensi lain yang diperlukan oleh aplikasi Flask.

2. Instalasi PM2:

Buka terminal atau SSH ke server.

Instal PM2 menggunakan perintah npm install pm2 -g (pastikan Node.js sudah terinstal).

3. Konfigurasi Aplikasi Flask:

Masuk ke direktori aplikasi Flask di server.

Pastikan file app.py atau file utama aplikasi Flask sudah ada di direktori tersebut.

4. Menjalankan Aplikasi menggunakan PM2:

Di terminal, masuk ke direktori aplikasi Flask.

Jalankan perintah pm2 start app.py --name nama-aplikasi untuk menjalankan aplikasi menggunakan PM2.

PM2 akan mengelola proses aplikasi Flask dan menjalankannya di latar belakang.

5. Verifikasi Aplikasi Berjalan:

Jalankan perintah pm2 list untuk melihat daftar aplikasi yang dijalankan oleh PM2.

Pastikan aplikasi Flask telah berjalan dengan status "online" di PM2. 6. Konfigurasi Restart Otomatis:

Untuk mengaktifkan restart otomatis saat aplikasi crash atau server restart, jalankan perintah pm2 startup dan ikuti instruksi yang diberikan.

Setelah itu, jalankan perintah pm2 save untuk menyimpan konfigurasi.

Setelah langkah-langkah di atas selesai, aplikasi Flask akan berjalan di server menggunakan PM2. PM2 akan mengelola proses aplikasi, dan aplikasi akan tetap berjalan di latar belakang bahkan setelah restart server. Untuk melihat log aplikasi dan melakukan tindakan pemantauan, Anda dapat menggunakan perintah pm2 logs atau fitur pemantauan PM2.

Penting untuk dicatat bahwa langkah-langkah ini memberikan panduan umum, dan tergantung pada kebutuhan dan konfigurasi khusus aplikasi Flask yang Anda miliki, beberapa langkah tambahan mungkin diperlukan.

Quiz

1. Apa tujuan dari proses deployment dalam pengembangan perangkat lunak? Jawaban: Menjalankan aplikasi di lingkungan produksi dan membuatnya dapat diakses oleh pengguna secara online.

2. Apa manfaat utama menggunakan PM2 dalam deployment aplikasi Flask? Jawaban: Manfaatnya antara lain adalah mengelola proses aplikasi, pemantauan, dan skalabilitas.

3. Apa langkah pertama yang perlu dilakukan sebelum menggunakan PM2 untuk deployment aplikasi Flask?

Jawaban: Persiapkan server atau lingkungan produksi yang akan menjadi tempat aplikasi Flask dijalankan.

4. Bagaimana cara menjalankan aplikasi Flask menggunakan PM2? Jawaban: Gunakan perintah pm2 start app.py --name nama-aplikasi untuk menjalankan aplikasi menggunakan PM2.

5. Apa fungsi dari fitur restart otomatis dalam konfigurasi PM2? Jawaban: Fungsi restart otomatis adalah untuk mengaktifkan restart aplikasi secara otomatis saat terjadi kegagalan atau restart server.

Referensi

https://pm2.keymetrics.io/docs/usage/quick-start/

https://towardsdatascience.com/automate-your-python-script-with-pm2- 463238ea0b65

https://cleavr.io/cleavr-slice/how-to-deploy-python-flask-framework https://www.youtube.com/watch?v=Vdtij40tLtQ&t=254s

https://blog.hacktiv8.com/deploy-program-di-hari-jumat-yakin/ https://medium.com/pplsalemba/deployment-6d9e9733c107

Last modified: Monday, 7 August 2023, 10:11 AM