Jika Anda telah memiliki website yang berjalan di Azure. Lalu bagaimana memastikan bahwa aplikasi Anda dapat berjalan 24/7? Misalnya, apa yang akan terjadi ketika Anda perlu melakukan perawatan mingguan? Layanan Anda akan tidak tersedia selama proses maintenance. Karena situs Anda menjangkau pengguna di seluruh dunia, tidak ada waktu yang tepat untuk menghentikan sistem Anda untuk pemeliharaan. Anda juga dapat mengalami masalah kinerja jika terlalu banyak pengguna terhubung pada saat yang sama.
Apa yang dimaksud dengan Availability dan High Availability?
Availability atau ketersediaan mengacu pada berapa lama layanan Anda berjalan tanpa ada gangguan. Sementara ketersediaan tinggi mengacu pada layanan yang aktif dan berjalan untuk jangka waktu yang lama.
Baca Juga: Pengertian Availability Zones
Anda tahu betapa frustasinya ketika Anda tidak dapat mengakses informasi yang Anda butuhkan. Pikirkan media sosial atau situs berita yang Anda kunjungi setiap hari. Bisakah Anda selalu mengakses situs, atau apakah Anda sering melihat kesalahan seperti “503 Service Unavailable”?
Anda mungkin pernah mendengar istilah “five nines availability”. Five nines availability berarti bahwa layanan dijamin berjalan 99,999 persen. Meskipun sulit untuk mencapai ketersediaan 100 persen, banyak tim berusaha untuk setidaknya mencapai five nines.
Apa yang dimaksud dengan Resiliency?
Resiliensi atau ketahanan adalah kemampuan sistem untuk tetap beroperasi selama kondisi abnormal. Kondisi ini meliputi:
- Bencana alam,
- Pemeliharaan sistem, termasuk pembaruan perangkat lunak,
- Lonjakan lalu lintas ke situs Anda,
- Ancaman yang dibuat oleh pihak lain, seperti serangan DDoS.
Bayangkan tim pemasaran Anda yang ingin melakukan flash sale untuk mempromosikan produk baru. Anda mungkin dapat memperkirakan lonjakan traffic besar pada website Anda. Lonjakan ini dapat memberatkan sistem pemrosesan Anda, menyebabkan aplikasi melambat atau bahkan berhenti, dan mengecewakan pengguna Anda.
Apa yang dimaksud dengan Load Balancer?
Load balancer mendistribusikan lalu lintas secara merata di antara sumber daya dalam sebuah sistem. Serta dapat membantu Anda menghasilkan ketersediaan tinggi dan ketahanan. Katakanlah Anda menambahkan VM baru, masing-masing dikonfigurasi secara identik, di setiap tier. Tujuannya adalah untuk memiliki sistem tambahan yang siap, ketika ada VM yang down, atau melayani pengguna terlalu banyak pada saat yang sama.
Masalahnya adalah, setiap VM akan memiliki alamat IP sendiri. Sementara itu, Anda tidak memiliki cara untuk mendistribusikan lalu lintas jika salah satu sistem mati atau sibuk. Bagaimana Anda menghubungkan VM Anda sehingga mereka muncul kepada pengguna sebagai satu sistem? Jawabannya adalah dengan menggunakan load balancer.
Ilustrasi berikut ini menunjukkan peran load balancer.
Load balancer menerima permintaan dari pengguna dan mengarahkan permintaan ke salah satu VM di web tier. Jika VM tidak tersedia atau berhenti merespon, load balancer akan berhenti mengirimkan lalu lintas ke VM tersebut, dan mengalihkan lalu lintas ke server lain yang responsif.
Load balancing memungkinkan Anda menjalankan maintenance tanpa mengganggu layanan. Misalnya Anda menjalankan pemeliharaan di salah satu VM. Selama pemeliharaan, load balancer akan mendeteksi bahwa VM tidak responsif, dan mengarahkan lalu lintas ke VM lain.
Apa itu Azure Load Balancer?
Azure Load Balancer adalah layanan yang disediakan Microsoft Azure. Service ini mendukung skenario inbound dan outbound, menyediakan latensi rendah dan throughput tinggi, dan bisa diskalakan hingga jutaan aliran untuk aplikasi Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP). Anda dapat menggunakannya dengan lalu lintas dari internet, lalu lintas internal layanan Azure, port forwarding untuk lalu lintas tertentu, atau konektivitas keluar dari VM di jaringan virtual.
Ketika Anda mengkonfigurasi software load balancer pada VM, terdapat sebuah kelemahan, yatu Anda memiliki sistem tambahan yang perlu dipelihara. Jika load balancer down atau membutuhkan pemeliharaan rutin, Anda akan kembali ke masalah semula.
Jika Anda menggunakan Azure Load Balancer, tidak ada infrastruktur atau perangkat lunak untuk dikelola. Anda menentukan aturan port forwarding berdasarkan IP sumber dan port ke satu set IP atau port tujuan.
Ilustrasi berikut ini menunjukkan peran Azure load balancer dalam multi-tier architecture.
Sekian artikel kali, semoga dapat bermanfaat ya :). Jika ada yang ingin ditanyakan atau kritik dan saran tulis dikolom komentar.