Deployment adalah kegiatan yang merupakan untuk mengembangkan aplikasi atau website yang tidak bisa lepas dari kegiatan para programmer. Ada beberapa proses yang harus mereka kerjakan hingga akhirnya bisa menciptakan website atau aplikasi sendiri.
Penyebaran perangkat lunak mencakup semua langkah, proses, dan aktivitas yang diperlukan untuk membuat sistem perangkat lunak atau pembaruan tersedia bagi pengguna yang dituju. Saat ini, sebagian besar organisasi IT dan pengembang perangkat lunak menerapkan pembaruan perangkat lunak, patch, dan aplikasi baru dengan kombinasi proses manual dan otomatis. Beberapa aktivitas yang paling umum dari penyebaran perangkat lunak termasuk rilis perangkat lunak, instalasi, pengujian, penyebaran, dan pemantauan kinerja.
Production environment adalah environment yang disediakan oleh komputer server dimana anda akan menjalankan aplikasi untuk konsumsi eksternal. Environment meliputi:
Hardware komputer dimana aplikasi berjalan
Sistem operasi (Linux, Windows)
Runtime bahasa pemrograman dan libraries framework
Infrastruktur server web, bisa termasuk web server, reverse proxy, load balancer
Database tempat aplikasi berjalan
Hosting Providers adalah perusahaan atau badan usaha yang menyediakan layanan web hosting kepada pengguna untuk kebutuhan website dan aplikasi anda. Contoh hosting providers seperti heroku, amazon web services, google cloud, microsoft azure, dll.
Beberapa hal yang perlu diperhatikan dalam memilih host:
Biaya dan sumber daya komputasi yang diperlukan
Support for scaling
Location data center
History uptime dan downtime
Limitasi hosting providers
Sebuah package process manager dari Keymetrics yang bertujuan agar project NodeJS dapat berjalan terus menerus.
Kelebihan
Memiliki cluster mode
Memiliki fitur auto restart
Memiliki fitur monitoring dan manajemen log
Reload tanpa downtime
Kompatibel dengan beberapa PaaS (Heroku, Azure, Google Apps Engine)
Kekurangan
Sulit untuk migrasi
Installasi PM2
Buat file Config PM2 dengan nama pm2.json
Ganti value dari “cwd” sesuai dengan url folder project
Jalankan Aplikasi backend dengan perintah “pm2 start pm2.json”
Melihat status aplikasi dengan pm2
https://www.sepulsa.com/blog/deployment-itu-apa-sih-yuk-simak
https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/deployment