Selasa, 12 Januari 2021

Apa itu NGINX

INTRO

NGINX dibaca "en-gin-ex" perangkat lunak open source untuk web serving, reverse proxying, caching, load balancing, media streaming, dan masih banyak lagi. NGINX dibuat sebagai web server yang mempunyai performa dan stabilitas yang maksimal. Selain kemampuan server HTTP, NGINX juga dapat berfungsi sebagai server proxy untuk email (IMAP, POP3, dan SMTP) serta reverse proxy dan penyeimbang beban untuk server HTTP, TCP, dan UDP. Perusahaan yang menggunakan NGINX diantaranya sebagai berikut: Autodesk, Atlassian, Intuit, T-Mobile, GitLab, DuckDuckGo, Microsoft, IBM, Google, Adobe, Salesforce, VMWare, Xerox, LinkedIn, Cisco, Facebook, Target, Citrix Systems, Twitter, Apple, Intel, dan masih banyak lagi.

SEJARAH

Nginx awalnya dibuat oleh Igor Sysoev, dengan rilis publik pertamanya pada bulan Oktober 2004. Igor awalnya menganggap perangkat lunak tersebut sebagai jawaban untuk masalah C10k, yang merupakan masalah kinerja menangani 10.000 koneksi bersamaan. Dengan  event-driven dan asynchronous architecture, Nginx merevolusi cara server beroperasi dan menjadi server web tercepat yang tersedia.

CARA KERJA NGINX

Ketika user ‘mengirimkan’ permintaan untuk membuka webpage, maka browser akan menghubungi server website tersebut. Server lalu mencari file webpage yang diminta oleh user tersebut dan mengirimkannya ke browser. Alur ini menunjukkan cara kerja server terhadap permintaan atau request sederhana.

Contoh kejadian di atas juga bisa disebut sebagai single thread. Web server biasa membuat single thread untuk setiap permintaan, tapi tidak demikian dengan NGINX. Seperti yang telah disebutkan sebelumnya, NGINX menjalankan arsitektur yang event-driven dan asinkron. Hal ini menunjukkan bahwa thread yang sama atau serupa dikelola di bawah satu worker process, dan setiap worker process terdiri atas unit yang lebih kecil dan disebut worker connection. Keseluruhan unit ini bertugas untuk menangani request thread. Worker connection mengirimkan permintaan ke worker process, yang juga dikirimkannya ke master process. Master process kemudian menampilkan hasil dari permintaan atau request tersebut.

Sekilas cara kerja NGINX terlihat mudah, tapi Anda perlu tahu kalau satu worker connection saja bisa menangani hingga 1024 permintaan yang sama dan serupa. Karena itulah, NGINX dapat memproses ribuan permintaan tanpa kesulitan berarti. Kemampuannya ini pula yang mengantarkannya menjadi server yang kerap digunakan oleh website dengan trafik tinggi, seperti ecommerce, mesin pencari, dan cloud storage.

FITUR NGINX

Dalam menjalankan tugasnya, Nginx juga mempunyai beberapa fitur yang dapat dimanfaatkan untuk mendukung performa web server yang andal seperti:
  1. Reverse proxy dengan proses cache
  2. Dukungan IPv6
  3. Load balancing
  4. Dukungan FastCGI dengan proses cache
  5. WebSockets
  6. Menangani file statis, file index, dan auto-indexing
  7. TLS/ Sertifikat SSL dengan SNI (Server Name Indication)

KELEBIHAN NGINX

Nginx adalah web server paling populer di kelasnya dan menjadi solusi pengiriman data website dengan trafik tinggi seperti Dropbox, Netflix, dan Zynga. Sampai dengan saat ini lebih dari 385 juta website di seluruh dunia, termasuk di antaranya 100 ribu website bisnis menggunakan Nginx sebagai web server untuk mengirimkan konten mereka secara cepat, terpercaya, dan mudah. Ada beberapa keunggulan yang ditawarkan oleh Nginx:

1. Nginx dapat menggantikan hardware load balancer.
Sebagai perangkat lunak (software) load balancer yang open source, Nginx lebih murah dan mudah untuk dikonfigurasi daripada hardware load balancer. Web server ini juga didesain untuk arsitektur cloud yang modern. Nginx juga mendukung konfigurasi ulang on-the-fly dan terintegrasi dengan DevOps yang modern untuk proses pemantauan yang mudah.

2. Nginx menjadi tool yang multifungsi.
Selain dipakai sebagai web server, Anda juga bisa menggunakan Nginx sebagai load balancer, cache konten, dan server proxy. Karena seluruh konfigurasi berpusat pada satu aplikasi, proses pemantauan akan lebih mudah. Hal ini tentu juga meminimalkan jumlah tool yang Anda kelola.

3. Tersedia berbagai macam dokumentasi yang lengkap.
Jika Anda masih awam menggunakan web server khususnya Nginx, jangan khawatir karena Nginx menyediakan berbagai macam tutorial, webinar, dan dokumentasi yang cukup lengkap untuk Anda pelajari.

Apabila Anda masih kebingungan dengan Nginx, tetapi tetap masih ingin menggunakannya, Anda dapat menggunakan Nginx Plus untuk mendapatkan fasilitas customer support. Jadi Anda bisa mendapatkan bantuan untuk mendiagnosis masalah yang muncul di Nginx.

4. Nginx masih terus dikembangkan.
Nginx sampai dengan saat ini terus dikembangkan secara serius. Apalagi selama satu dekade terakhir Nginx sudah berada di garis depan pengembangan web modern dan telah mendorong pengembangan teknologi dari HTTP hingga dukungan layanan mikro. 

Seiring perkembangan pengiriman konten web, Nginx berencana menambahkan dan menyempurnakan fitur sehingga tidak ada pengiriman data yang cacat. Baru-baru ini Nginx juga mengumumkan akan mengimplementasikan JavaScript yang disesuaikan dengan Nginx dan dukungan untuk modul yang dinamis. 

NGINX VS APACHE

Di antara web server yang kian menjamur di internet, Apache adalah salah satu rival atau saingan terberat NGINX. Server tersebut sudah beredar semenjak tahun 90-an dan hingga kini telah memiliki komunitas user yang besar.

Berikut ini beberapa hal yang kami gunakan untuk membandingkan NGINX vs Apache:

1. Dukungan OS (Sistem Operasi)
Kompatibilitas adalah salah satu poin yang harus Anda pertimbangkan ketika memilih software. Baik NGINX maupun Apache, kedua server tersebut dapat dijalankan di berbagai sistem operasi yang mendukung sistem Unix. Sayangnya, performa NGINX di Windows tidak sebagus jika diaktifkan di platform lain.

2. User support
User, baik pemula maupun yang sudah berpengalaman, selalu membutuhkan panduan dari komunitas online yang besar dan solid bilamana mereka menemui hambatan atau masalah. Meskipun NGINX dan Apache sama-sama dilengkapi dengan mailing support dan forum Stack Overflow, Apache tidak punya fitur bantuan pelanggan yang seharusnya ditawarkan oleh perusahaannya, Apache Foundation.

3. Performa
NGINX bisa menjalankan 1000 koneksi konten statis di waktu bersamaan dengan kecepatan dua kali lebih tinggi dibandingkan Apache. Tak hanya itu, NGINX juga tidak menggunakan kapasitas memori yang berlebih. Jika membandingkan dua platform ini dari segi performa ketika menjalankan konten yang dinamis, baik NGINX maupun Apache memiliki kecepatan yang sama. Hanya saja, untuk website yang cenderung statis, NGINX adalah pilihan terbaik.

KESIMPULAN

NGINX adalah web server yang juga berfungsi sebagai email proxy, reverse proxy, dan load balancer. Struktur software ini bersifat asinkron dan event-driven; yang memungkinkan banyak request atau permintaan diproses pada waktu bersamaan. Selain itu, NGINX juga dapat diskalakan. Hal ini menunjukkan bahwa layanan ini tumbuh dan berkembang seiring dengan bertambahnya jumlah trafik yang datang ke website. Akhir kata, NGINX dan Apache adalah dua dari sekian web server terbaik yang ada di pasaran.

Demikian pembahasan kali ini, jika ada pertanyaan silahkan komen dibawah, terimakasih

Link :

Pustaka: 

Tidak ada komentar:

Posting Komentar