Cara Membuat Aplikasi Web Node.js dan Mempublikasinya di Azure App Service


Artikel ini secara singkat akan menjelaskan tentang aplikasi web Node.js dan Azure App Service – Web Apps. Bagi yang belum tahu, Node.js adalah asynchronous event driven framework yang dirancang untuk aplikasi dengan beban yang terdistribusi pada jaringan komputer. Dengan bahasa pemrograman yang sudah kita kenal sebelumnya yaitu Javascript, maka penulisan kode aplikasi akan lebih mudah.

Untuk Azure App Service – Web Apps sendiri adalah fasilitas yang ada di Microsoft Azure yang dapat membantu para pengembang untuk dapat membangun, mempublikasikan, dan memelihara aplikasi web nya secara mudah dan cepat.

Halo Azure

Untuk mendapatkan hasil seperti pada gambar di atas, ada beberapa langkah yang harus dipersiapkan:

  1. Install Node.js pada komputer lokal untuk memulai pembuatan aplikasi
  2. Microsoft Azure Subscription yang sudah aktif, Subscription tersedia secara gratis sebagai percobaan.
  3. Download dan install Git continuous integration dan publikasi ke Azure App Service.

Membangun Aplikasi Web Node.js

Dengan asumsi 2 syarat di atas sudah dipenuhi, berikut ini contoh potongan kode Node.js yang akan digunakan adalah sebagai berikut:

var http = require("http");
var port = process.env.PORT || 8888;

function onRequest(request, response) {
	response.writeHead(200, {"Content-Type": "text/plain"});
	response.write("Halo Azure!");
	response.end();
}

http.createServer(onRequest).listen(8888);

Potongan kode di atas sudah sangat umum digunakan pada tutorial, artikel, maupun latihan awal Node.js, dapat dilihat bagaimana asynchronous event driven bekerja. Berikut ini penjelasan singkatnya:

Baris pertama adalah inisialisasi modul http yang ada pada Node.js, variabel dengan nama yang sama dengan modulnya yaitu http diambil supaya memudahkan dalam pembacaan kode.

Baris kedua adalah variabel port yang akan digunakan oleh HTTP server. Perhatikan bahwa process.env.PORT adalah port environment yang ada di Azure.

Baris ketiga sampai ketujuh adalah pembuatan fungsi yang akan dipanggil secara event-driven asynchronous callback, pada contoh di atas fungsi tersebut hanya memberikan response saja karena hanya sebagai contoh sederhana.

Baris kedelapan adalah pemanggilan method createServer dari variabel http, dengan begitu HTTP server sudah tersedia dan menunggu request dari port 8888.

Pembuatan aplikasi bisa menggunakan sistem operasi apapun (Windows, Mac, maupun Linux). Di sini akan ditunjukkan contoh pembuatan aplikasi menggunakan GNU/Linux Debian Jessie 8.2. Buat sebuah file menggunakan text editor apapun (Sublime, Vim, Nano dsb.) berisi baris kode seperti di atas dan simpan dengan nama file server.js.

Terminal serverjs 1

Kemudian eksekusi kode di atas menggunakan perintah Node.js seperti pada gambar berikut:

Terminal serverjs 2

Pada tahap ini, aplikasi Node.js sederhana beserta HTTP web server sudah dapat diakses melalui web browser pada port 8888.

Halo Azure Localhost

Publikasi aplikasi web Node.js ke Azure App Service – Web Apps

Azure App Service adalah salah satu layanan dari Microsoft Azure yang memudahkan untuk membuat aplikasi web dan mobile untuk platform dan device apapun. Azure App Service terdiri dari 4 bagian:

  • Web Apps
  • Mobile Apps
  • Logic Apps
  • API Apps

Dari keempat layanan tersebut, Web Apps-lah yang akan digunakan sebagai tempat publikasi aplikasi web Node.js yang sudah dibuat sebelumnya.

1. Sign in ke portal Azure.

2. Buat Web Apps dengan cara klik tombol +NEW pada kiri atas halaman portal, pilih Web + Mobile > Web App.

Azure Setting

3. Masukkan nama Web Apps, nama ini harus unik dari pengguna Azure lainnya. Pilih subscription yang akan digunakan jika terdapat lebih dari 1 subscription pada akun Azure. Untuk Resource Group dan App Service Plan bisa dengan pengaturan default saja.

Web Apps Azure

4. Setelah Web Apps selesai dibuat, selanjutnya adalah konfigurasi metode publikasi yang akan digunakan, disini metode publikasi yang akan digunakan adalah Git. Pada kolom Web Apps properties, klik pada area Deployment seperti gambar di bawah.

Git Azure Dashboard

5. Pilih “Local Git Repository” sebagai metode publikasi.

Local Git Repository

6. Metode publikasi Git sudah tersedia, namun belum ada publikasi yang dilakukan.

Deployment

7. Untuk melakukan publikasi Web Apps lewat Git lokal, ada 2 parameter yang perlu dipersiapkan yaitu Git URL dan Git Authentication. Setup Git Authentication ada pada menu Settings > PUBLISHING > Deployment credentials.

Set Deployment Credentials Azure

8. Untuk URL dari repositori Git dapat dilihat seperti pada gambar berikut.

Settings Properties Azure

9. Setelah langkah di atas selesai dilakukan, proses publikasi Web Apps lewat Git bisa dilanjutkan. Seperti yang sudah dijelaskan sebelumnya bahwa contoh dikerjakan pada sistem operasi Linux, namun langkah untuk melakukan publikasi Git kurang lebih akan sama, pastikan Git sudah terinstal.

Masuk ke direktori dimana file server.js berada kemudian ketikkan perintah berikut:

  • git init
  • git add .
  • git commit -m “commit pertama”
  • git remote add azure [URL Git Azure]
  • git push azure master (password Git akan diminta)

Setelah perintah di atas dilakukan, kurang lebih hasil yang akan ditampilkan adalah seperti gambar di bawah.

Perintah Terminal Azure

10. Periksa portal Azure pada bagian Deployment yang sebelumnya belum berisi publikasi namun sekarang sudah ada publikasi.

Deployment aktif

11. Sampai langkah ini pembuatan aplikasi Node.js sederhana dan mempublikasikannya pada Azure App Service – Web Apps melalui metode publikasi Git sudah selesai dan hasilnya bisa dilihat melalui web browser yang mengarah ke alamat dari Web Apps. Alamat Web Apps bisa dilihat seperti gambar di bawah. Alamat yang anda gunakan akan berbeda dari yang ada di gambar.

Halo Azure Final

12. Hasil dari langkah-langkah di atas.

Halo Azure

Cukup mudah dan dapat dicoba sekarang juga, selamat mencoba!

* Artikel ini ditulis oleh Rudy Setyo Purnomo, seseorang dengan lebih dari 10 tahun pengalaman di industri TI terutama di Hosting and Service Provider Business bahkan ketika istilah “Cloud Computing” belum ngetren dan mendadak menjadi Cloud Computing Enthusiast ketika itu booming sekitar 5 tahun lalu. Dia juga salah satu Microsoft Azure Most Valuable Professional (MVP) dan saat ini sedang melakukan hal-hal gila tentang Cloud Computing di PT. erudeye Indonesia.