5 Pengaturan Server Umum Untuk Aplikasi Web Anda - MastahTeknik

Breaking

Rabu, 15 Mei 2019

5 Pengaturan Server Umum Untuk Aplikasi Web Anda

Saat memutuskan arsitektur server mana yang akan digunakan untuk lingkungan Anda, ada banyak faktor yang perlu dipertimbangkan, seperti kinerja, skalabilitas, ketersediaan, keandalan, biaya, dan kemudahan manajemen.
Berikut adalah daftar pengaturan server yang umum digunakan, dengan deskripsi singkat masing-masing, termasuk pro dan kontra. Ingatlah bahwa semua konsep yang dibahas di sini dapat digunakan dalam berbagai kombinasi satu sama lain, dan bahwa setiap lingkungan memiliki persyaratan yang berbeda, sehingga tidak ada konfigurasi tunggal yang benar.

1. Semuanya di satu Sever
Seluruh lingkungan berada pada satu server. Untuk aplikasi web biasa, itu akan termasuk server web, server aplikasi, dan server database. Variasi umum dari pengaturan ini adalah tumpukan LAMP, yang merupakan singkatan dari Linux, Apache, MySQL, dan PHP, pada satu server.

Use Case : Baik untuk mengatur aplikasi dengan cepat, karena ini adalah pengaturan paling sederhana yang mungkin, tetapi menawarkan sedikit cara skalabilitas dan isolasi komponen.
Pro :
  • Sederhana

Kekurangan :
  • Aplikasi dan basis data berpendapat untuk sumber daya server yang sama (CPU, Memori, I / O, dll.) Yang, selain dari kemungkinan kinerja yang buruk, dapat menyulitkan untuk menentukan sumber (aplikasi atau database) dari kinerja yang buruk
  • Tidak mudah diskalakan secara horizontal
2. Pisahkan Server Database
Sistem manajemen basis data (DBMS) dapat dipisahkan dari lingkungan lainnya untuk menghilangkan pertentangan sumber daya antara aplikasi dan basis data, dan untuk meningkatkan keamanan dengan menghapus basis data dari DMZ, atau internet publik.
Use Case : Baik untuk mengatur aplikasi dengan cepat, tetapi menjaga aplikasi dan database dari memperebutkan sumber daya sistem yang sama.
Pro :
  • Tingkatan aplikasi dan basis data tidak bersaing untuk sumber daya server yang sama (CPU, Memori, I / O, dll.)
  • Anda dapat secara vertikal skala masing-masing tingkat secara terpisah, dengan menambahkan lebih banyak sumber daya ke server mana saja yang membutuhkan peningkatan kapasitas
  • Bergantung pada pengaturan Anda, ini dapat meningkatkan keamanan dengan menghapus basis data Anda dari DMZ
Kekurangan :
  • Setup sedikit lebih kompleks daripada server tunggal
  • Masalah kinerja dapat muncul jika koneksi jaringan antara dua server adalah latensi tinggi (yaitu server secara geografis jauh satu sama lain), atau bandwidth terlalu rendah untuk jumlah data yang ditransfer
3. Load Balancer (Reverse Proxy)
Load balancers dapat ditambahkan ke lingkungan server untuk meningkatkan kinerja dan keandalan dengan mendistribusikan beban kerja di beberapa server. Jika salah satu server yang memuat seimbang gagal, server lain akan menangani lalu lintas masuk sampai server gagal menjadi sehat kembali. Ini juga dapat digunakan untuk melayani beberapa aplikasi melalui domain dan port yang sama, dengan menggunakan proxy reverse layer 7 (layer aplikasi). Contoh perangkat lunak yang mampu membalikkan penyeimbangan beban proxy: HAProxy, Nginx, dan Varnish.
Use Case : Berguna dalam lingkungan yang membutuhkan penskalaan dengan menambahkan lebih banyak server, juga dikenal sebagai penskalaan horizontal.
Pro :
  • Mengaktifkan penskalaan horizontal, yaitu kapasitas lingkungan dapat ditingkatkan dengan menambahkan lebih banyak server ke dalamnya
  • Dapat melindungi dari serangan DDOS dengan membatasi koneksi klien ke jumlah dan frekuensi yang masuk akal
Kekurangan :
  • Load balancer dapat menjadi hambatan kinerja jika tidak memiliki sumber daya yang cukup, atau jika dikonfigurasi dengan buruk
  • Dapat memperkenalkan kompleksitas yang memerlukan pertimbangan tambahan, seperti tempat melakukan penghentian SSL dan cara menangani aplikasi yang memerlukan sesi tempel
  • Penyeimbang beban adalah satu titik kegagalan; jika turun, seluruh layanan Anda bisa turun. Pengaturan ketersediaan tinggi (HA) adalah infrastruktur tanpa titik kegagalan tunggal. Untuk mempelajari cara menerapkan pengaturan HA, Anda dapat membaca bagian Cara Menggunakan IP Mengambang ini .
4. HTTP Accelerator (Caching Reverse Proxy)
Akselerator HTTP, atau caching HTTP reverse proxy, dapat digunakan untuk mengurangi waktu yang dibutuhkan untuk menyajikan konten kepada pengguna melalui berbagai teknik. Teknik utama yang digunakan dengan akselerator HTTP adalah caching tanggapan dari web atau server aplikasi dalam memori, sehingga permintaan masa depan untuk konten yang sama dapat dilayani dengan cepat, dengan interaksi yang tidak perlu dengan web atau server aplikasi. Contoh perangkat lunak yang mampu melakukan percepatan HTTP: Varnish, Squid, Nginx.
Use Case : Berguna di lingkungan dengan aplikasi web dinamis konten-berat, atau dengan banyak file yang biasa diakses.
Pro :
  • Meningkatkan kinerja situs dengan mengurangi beban CPU pada server web, melalui caching dan kompresi, sehingga meningkatkan kapasitas pengguna
  • Dapat digunakan sebagai penyeimbang beban proxy terbalik
  • Beberapa perangkat lunak caching dapat melindungi dari serangan DDOS
Kekurangan :
  • Perlu penyetelan untuk mendapatkan kinerja terbaik darinya
  • Jika cache-hit rate rendah, itu bisa mengurangi kinerja
5. Replika Database Prime-Replika
Salah satu cara untuk meningkatkan kinerja sistem database yang melakukan banyak pembacaan dibandingkan dengan menulis, seperti CMS, adalah dengan menggunakan replikasi database replikasi primer. Replikasi membutuhkan satu simpul primer dan satu atau lebih simpul replika. Dalam pengaturan ini, semua pembaruan dikirim ke simpul utama dan bacaan dapat didistribusikan di semua simpul.
Use Case : Baik untuk meningkatkan kinerja baca untuk tingkat basis data aplikasi.
Berikut adalah contoh pengaturan replikasi replika primer, dengan simpul replika tunggal:
Pro :
  • Meningkatkan kinerja membaca basis data dengan menyebarkan membaca di seluruh replika
  • Dapat meningkatkan kinerja penulisan dengan menggunakan primer secara khusus untuk pembaruan (tidak menghabiskan waktu melayani permintaan baca)
Kekurangan :
  • Aplikasi yang mengakses basis data harus memiliki mekanisme untuk menentukan simpul basis data mana yang harus dikirimi pembaruan dan dibaca permintaannya
  • Pembaruan untuk replika tidak sinkron, sehingga ada kemungkinan isinya sudah kedaluwarsa
  • Jika primer gagal, tidak ada pembaruan dapat dilakukan pada database sampai masalah diperbaiki
  • Tidak memiliki built-in failover jika terjadi kegagalan simpul primer
Contoh : Menggabungkan Konsep
Dimungkinkan untuk memuat keseimbangan server caching, selain server aplikasi, dan menggunakan replikasi basis data dalam satu lingkungan. Tujuan dari menggabungkan teknik-teknik ini adalah untuk menuai manfaat dari masing-masing tanpa memperkenalkan terlalu banyak masalah atau kompleksitas. Berikut adalah diagram contoh dari apa yang tampak seperti lingkungan server:

Tidak ada komentar:

Posting Komentar

Post Top Ad

Responsive Ads Here