Secara sederhana aplikasi web merupakan aplikasi yang dapat diakses dari perambah web seperti mozilla firefox atau google chrome diperangkan mobile maupun PC. Aplikasi web biasanya dibuat dengan teknologi HTML + CSS + Javascript sebagai tampilan depan dan bahasa pemrograman lain dibagian belakangnya.
Setiap mengetikkan url tertentu di perambah web seperti www.google.com maka tidak lama kemudian akan tampil halaman google yang khas tersebut. Nah, apa dan bagaimana sebenarnya infrastruktur yang dapat menangani setiap permintaan dari user ke suatu aplikasi web?
Seperti dilihat pada gambar diatas, bahwa ada 3 bagian yang menjadi dasar dari infrastruktur web yakni Proxy tier, Application tier dan Data tier.
Pertama adalah Proxy tier atau biasanya juga disebut dengan load balancer. Bagian ini berfungsi untuk melakukan routing atau pengarahan dari request yang ada menuju ke backend atau aplikasi yang diinginkan. Misal dalam satu infrastruktur ada beberapa aplikasi didalamnya, pada saat user melakukan request ke aplikasi A maka load balancer akan mengecek apakah aplikasi tersebut ada dalam daftarnya atau tidak. Jika ada, maka load balancer akan mengarakan data request tersebut langsung menuju server aplikasi A dan sebaliknya jika aplikasi yang diinginkan tidak ada maka request akan ditolak atau load balancer akan menampilkan halaman error.
Dibagian ini ada banyak tools yang bisa digunakan mulai dari haproxy, nginx, traefik atau jika menggunakan cloud service provider bisa langsung menggunakan service load balancer yang mereka tawarkan tanpa harus melakukan instalasi tools lainnya.
Kedua adalah Application tier, Disini dimana tempat aplikasi bernaung. Semua aplikasi web entah itu web statis maupun web dinamis biasanya disimpan pada bagian ini. Berbeda dengan menjalankan aplikasi web dilaptop, disini untuk menjalankan aplikasi web harus menggunakan service web server seperti nginx atau apache.
Dan terakhir adalah Data tier. Bagian ini merupakan tempat menyimpan data atau biasanya disebut dengan database. Hampir semua aplikasi memiliki database, dimana semua data yang ditampilkan di aplikasi berasal dari database tersebut. Ada banyak tools yang bisa digunakan pada bagian ini misal MySQL atau PostgreSQL untuk yang menggunakan konsep SQL dan MongoDB utnuk yang menggunakan konsep NoSQL.
0 Comments