{"id":3487,"date":"2026-04-10T06:20:00","date_gmt":"2026-04-10T06:20:00","guid":{"rendered":"https:\/\/www.overtsoftware.id\/?p=3487"},"modified":"2026-04-08T05:21:06","modified_gmt":"2026-04-08T05:21:06","slug":"shibboleth-idp-high-availability-arsitektur-ha-yang-penting","status":"publish","type":"post","link":"https:\/\/www.overtsoftware.id\/index.php\/shibboleth-idp-high-availability-arsitektur-ha-yang-penting\/","title":{"rendered":"Shibboleth IdP High Availability: Arsitektur HA yang Penting"},"content":{"rendered":"<h2 id=\"t-1764568969239\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 2\">Pendahuluan: Pentingnya Ketersediaan Sistem (Uptime)<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:299,&quot;335559739&quot;:299}\">&nbsp;<\/span><\/h2>\n<p><span data-contrast=\"auto\" lang=\"EN-GB\">Setiap proses single sign-on (SSO) dalam lingkungan federasi sepenuhnya bergantung pada Identity Provider (IdP). Ketika organisasi Anda menggunakan Shibboleth sebagai IdP utama, sistem ini menjadi pintu masuk ke puluhan bahkan ratusan aplikasi penting, baik berbasis cloud maupun on-premise. Jika server Shibboleth mengalami gangguan, maka seluruh akses akan terhenti.<\/span><\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"16497\" width=\"602\" data-init-width=\"901\" height=\"593\" data-init-height=\"888\" title=\"intro section - Shibboleth IdP High Availability..Essential HA Architecture\" loading=\"lazy\" src=\"https:\/\/www.overtsoftware.com\/wp-content\/uploads\/2025\/12\/intro-section-Shibboleth-IdP-High-Availability.Essential-HA-Architecture-.png\" data-width=\"602\" data-height=\"593\" style=\"aspect-ratio: auto 901 \/ 888;\"><\/span><\/p>\n<h3 id=\"t-1764568969240\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">Dampak Downtime pada Sistem Identitas<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">&nbsp;<\/span><\/h3>\n<p data-end=\"284\" data-start=\"0\">Bagi perusahaan, bahkan gangguan singkat pada IdP bisa berdampak besar. Hal ini langsung mengganggu layanan penting, mulai dari staf yang mengakses sistem keuangan hingga mahasiswa yang menggunakan platform pembelajaran. Dampaknya meliputi:<\/p>\n<ul data-end=\"563\" data-start=\"286\">\n<li data-end=\"369\" data-section-id=\"3nacdc\" data-start=\"286\"><strong data-end=\"309\" data-start=\"288\">Dampak Finansial:<\/strong> Penurunan produktivitas dan potensi pelanggaran kepatuhan<\/li>\n<li data-end=\"465\" data-section-id=\"xkhq76\" data-start=\"370\"><strong data-end=\"395\" data-start=\"372\">Kerusakan Reputasi:<\/strong> Gangguan layanan menurunkan kepercayaan pengguna terhadap sistem IT<\/li>\n<li data-end=\"563\" data-section-id=\"k0r0wj\" data-start=\"466\"><strong data-end=\"493\" data-start=\"468\">Operasional Terhenti:<\/strong> Aktivitas organisasi bisa berhenti sampai sistem SSO kembali normal<\/li>\n<\/ul>\n<p data-end=\"770\" data-start=\"565\">Tujuan dari penerapan arsitektur High Availability (HA) pada Shibboleth adalah memastikan tidak ada downtime, bahkan saat terjadi gangguan seperti kerusakan hardware, error software, atau saat maintenance.<\/p>\n<h2 id=\"t-1764568969241\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 2\">Tantangan Utama HA pada Shibboleth: Manajemen State<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\" lang=\"EN-GB\">Berbeda dengan banyak aplikasi web yang tidak menyimpan state (stateless), Shibboleth IdP adalah aplikasi yang menyimpan state. Artinya, sistem perlu menyimpan informasi penting antar permintaan agar bisa bekerja dengan benar. Inilah tantangan terbesar dalam membangun HA.<\/span><\/p>\n<h3 id=\"t-1764568969242\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">Masalah Session State<\/span><\/span><\/h3>\n<p data-end=\"1253\" data-start=\"1109\">Saat pengguna berhasil login, sistem membuat session yang menyimpan status login agar tidak perlu login ulang (SSO).<\/p>\n<ul data-end=\"1442\" data-start=\"1255\">\n<li data-end=\"1346\" data-section-id=\"9uv9x0\" data-start=\"1255\"><strong data-end=\"1278\" data-start=\"1257\">Perilaku Default:<\/strong> Session disimpan di memori server Shibboleth yang menangani login<\/li>\n<li data-end=\"1442\" data-section-id=\"575scf\" data-start=\"1347\"><strong data-end=\"1367\" data-start=\"1349\">Masalah Utama:<\/strong> Jika server tersebut down, session hilang dan pengguna harus login ulang<\/li>\n<\/ul>\n<p data-end=\"1552\" data-start=\"1444\">Meskipun menggunakan load balancer, perpindahan ke server lain tidak akan mulus jika session tidak tersedia. Agar HA benar-benar tercapai, session harus disimpan di luar server (externalised). Dengan begitu, jika satu server gagal, server lain bisa langsung mengambil session pengguna dari penyimpanan bersama.<\/p>\n<h3 id=\"t-1764568969243\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">Konsistensi Konfigurasi<\/span><\/span><\/h3>\n<p data-end=\"1883\" data-start=\"1762\">Selain session, semua node dalam cluster IdP harus memiliki konfigurasi yang sama, seperti:<\/p>\n<ul data-end=\"2001\" data-start=\"1885\">\n<li data-end=\"1942\" data-section-id=\"qebqac\" data-start=\"1885\">Kunci SAML (private key dan sertifikat harus identik)<\/li>\n<li data-end=\"2001\" data-section-id=\"evqavc\" data-start=\"1943\">File konfigurasi seperti idp.properties dan metadata<\/li>\n<\/ul>\n<p data-end=\"2091\" data-start=\"2003\">Konsistensi ini penting agar semua transaksi tetap dipercaya oleh Service Provider (SP).<\/p>\n<h2 id=\"t-1764568969244\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 2\">Komponen Penting untuk IdP yang Tahan Gangguan<\/span><\/span><\/h2>\n<p data-end=\"2335\" data-start=\"2098\">Membangun sistem Shibboleth yang benar-benar HA tidak cukup hanya dengan dua server. Dibutuhkan pendekatan berlapis untuk menghilangkan semua titik kegagalan (single point of failure).<\/p>\n<p data-end=\"2363\" data-start=\"2337\">Berikut komponen utamanya:<\/p>\n<h3 id=\"t-1764568969245\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">1. External Load Balancer (L4\/L7)<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">&nbsp;<\/span><\/h3>\n<p data-end=\"2448\" data-start=\"2370\">Ini adalah pintu utama ke sistem IdP.<\/p>\n<ul data-end=\"2831\" data-start=\"2450\">\n<li data-end=\"2526\" data-section-id=\"1acf9\" data-start=\"2450\"><strong data-end=\"2463\" data-start=\"2452\">Fungsi:<\/strong> Membagi trafik pengguna ke beberapa server IdP secara merata<\/li>\n<li data-end=\"2741\" data-section-id=\"1jyysdd\" data-start=\"2527\"><strong data-end=\"2546\" data-start=\"2529\">Health Check:<\/strong> Harus menggunakan pengecekan level aplikasi (L7), bukan sekadar cek port\n<ul data-end=\"2741\" data-start=\"2624\">\n<li data-end=\"2677\" data-section-id=\"11kwpk5\" data-start=\"2624\">Misalnya memanggil endpoint \/idp\/profile\/status<\/li>\n<li data-end=\"2741\" data-section-id=\"1gxxuka\" data-start=\"2680\">Jika server tidak sehat, langsung dikeluarkan dari rotasi<\/li>\n<\/ul>\n<\/li>\n<li data-end=\"2831\" data-section-id=\"o9dlob\" data-start=\"2742\"><strong data-end=\"2758\" data-start=\"2744\">Kebutuhan:<\/strong> Load balancer juga harus HA (biasanya active\/passive atau active\/active)<\/li>\n<\/ul>\n<h3 id=\"t-1764568969246\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">2. Cluster Server Aplikasi IdP<\/span><\/span><\/h3>\n<p data-end=\"2914\" data-start=\"2838\">Redundansi dimulai dari layer aplikasi.<\/p>\n<ul data-end=\"3218\" data-start=\"2916\">\n<li data-end=\"2995\" data-section-id=\"xxge31\" data-start=\"2916\">Gunakan minimal dua server (VM atau container) dengan konfigurasi yang sama<\/li>\n<li data-end=\"3083\" data-section-id=\"19yjz4r\" data-start=\"2996\">Semua node harus memiliki <strong data-end=\"3046\" data-start=\"3024\">entityID yang sama<\/strong> agar terlihat sebagai satu layanan<\/li>\n<li data-end=\"3129\" data-section-id=\"1nzac3g\" data-start=\"3084\">Konfigurasi harus identik di semua server<\/li>\n<li data-end=\"3218\" data-section-id=\"16x7zxr\" data-start=\"3130\">Disarankan menggunakan tools seperti Ansible, Puppet, atau Chef agar tetap konsisten<\/li>\n<\/ul>\n<h3 id=\"t-1764568969247\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">3. Penyimpanan Session Eksternal (Kunci Utama HA)<\/span><\/span><\/h3>\n<p data-end=\"3334\" data-start=\"3225\">Tantangan terbesar adalah menyimpan session pengguna. Agar sistem bisa berjalan dalam mode <strong data-end=\"3390\" data-start=\"3373\">Active\/Active<\/strong> (semua server aktif bersamaan), session tidak boleh disimpan di masing-masing server.<\/p>\n<p data-end=\"3651\" data-is-last-node=\"\" data-is-only-node=\"\" data-start=\"3480\">Sebaliknya, session harus disimpan di sistem eksternal yang bisa diakses semua node, sehingga jika satu server gagal, server lain bisa langsung melanjutkan tanpa gangguan.<\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"16498\" width=\"602\" data-init-width=\"1019\" height=\"424\" data-init-height=\"718\" title=\"External storag - Shibboleth IdP High Availability..Essential HA Architecture\" loading=\"lazy\" src=\"https:\/\/www.overtsoftware.com\/wp-content\/uploads\/2025\/12\/External-storag-Shibboleth-IdP-High-Availability.Essential-HA-Architecture.png\" data-width=\"602\" data-height=\"424\" style=\"aspect-ratio: auto 1019 \/ 718;\"><\/span><\/p>\n<p data-end=\"107\" data-start=\"0\">Hal ini dapat dicapai dengan menggunakan sistem penyimpanan eksternal yang juga memiliki high availability:<\/p>\n<ul data-end=\"563\" data-start=\"109\">\n<li data-end=\"324\" data-section-id=\"1rzx0pw\" data-start=\"109\"><strong data-end=\"133\" data-start=\"111\">Distributed Cache:<\/strong> Sistem cache terdistribusi seperti Redis atau Memcached biasanya menjadi pilihan utama karena sangat cepat. Ini penting agar proses pengecekan session tetap cepat di setiap transaksi SAML.<\/li>\n<li data-end=\"563\" data-section-id=\"1vtiign\" data-start=\"325\"><strong data-end=\"347\" data-start=\"327\">Database Khusus:<\/strong> Database yang terklaster (seperti PostgreSQL atau MySQL) juga bisa digunakan, meskipun biasanya sedikit lebih lambat dibanding cache. Untuk data tertentu seperti ID permanen, database tetap menjadi solusi standar.<\/li>\n<\/ul>\n<p data-end=\"762\" data-start=\"565\">Dengan menyimpan session di luar server, kita tidak lagi membutuhkan \u201csticky session\u201d pada load balancer. Ini membuat sistem lebih fleksibel dan benar-benar mendukung pembagian beban secara merata.<\/p>\n<h3 id=\"t-1764568969248\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">4. Backend Service yang High Availability<\/span><\/span><\/h3>\n<p data-end=\"954\" data-start=\"769\">IdP juga bergantung pada layanan internal lainnya. Agar sistem tetap berjalan tanpa gangguan, layanan ini juga harus memiliki redundansi:<\/p>\n<ul data-end=\"1219\" data-start=\"956\">\n<li data-end=\"1104\" data-section-id=\"1j7wotv\" data-start=\"956\"><strong data-end=\"987\" data-start=\"958\">User Directory (LDAP\/AD):<\/strong> Harus terhubung ke beberapa server LDAP atau Active Directory. Jika satu gagal, otomatis berpindah ke server lain.<\/li>\n<li data-end=\"1219\" data-section-id=\"10x2jtj\" data-start=\"1105\"><strong data-end=\"1130\" data-start=\"1107\">Sistem Autentikasi:<\/strong> Sistem seperti MFA atau Kerberos juga harus tersedia di semua node dan memiliki backup<\/li>\n<\/ul>\n<p data-end=\"1378\" data-start=\"1221\">Dengan redundansi di semua layer (network, aplikasi, dan storage), Shibboleth bisa berubah dari titik lemah menjadi fondasi identitas yang kuat dan scalable.<\/p>\n<h2 lang=\"EN-GB\" id=\"t-1764568969249\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 2\">Model Deployment untuk Uptime Maksimal<\/span><\/span><\/h2>\n<p lang=\"EN-GB\"><span data-contrast=\"auto\" lang=\"EN-GB\">Untuk mencapai high availability, ada beberapa model yang bisa digunakan, tergantung kebutuhan dan budget:<\/span><\/p>\n<h3 lang=\"EN-GB\" id=\"t-1764568969250\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">1. Active\/Passive Cluster (Simple Failover)<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">&nbsp;<\/span><\/h3>\n<p data-end=\"1614\" data-start=\"1542\">Model ini paling sederhana.<\/p>\n<ul data-end=\"1719\" data-start=\"1616\">\n<li data-end=\"1660\" data-section-id=\"12g6dnv\" data-start=\"1616\">Satu server aktif menangani semua trafik<\/li>\n<li data-end=\"1719\" data-section-id=\"o38w7o\" data-start=\"1661\">Server kedua standby (siap digunakan tapi tidak aktif)<\/li>\n<\/ul>\n<p data-end=\"1825\" data-start=\"1721\"><strong data-end=\"1736\" data-start=\"1721\">Cara Kerja:<\/strong><br data-start=\"1736\" data-end=\"1739\">Jika server utama gagal, load balancer langsung mengalihkan trafik ke server cadangan.<\/p>\n<p data-end=\"1843\" data-start=\"1827\"><strong data-end=\"1841\" data-start=\"1827\">Kelebihan:<\/strong><\/p>\n<ul data-end=\"1900\" data-start=\"1844\">\n<li data-end=\"1868\" data-section-id=\"gy2ue2\" data-start=\"1844\">Lebih mudah dikelola<\/li>\n<li data-end=\"1900\" data-section-id=\"pvlifz\" data-start=\"1869\">Konfigurasi lebih sederhana<\/li>\n<\/ul>\n<p data-end=\"1919\" data-start=\"1902\"><strong data-end=\"1917\" data-start=\"1902\">Kekurangan:<\/strong><\/p>\n<ul data-end=\"2057\" data-start=\"1920\">\n<li data-end=\"1981\" data-section-id=\"pgmdfu\" data-start=\"1920\">Resource tidak efisien (server cadangan jarang digunakan)<\/li>\n<li data-end=\"2057\" data-section-id=\"j6hi4r\" data-start=\"1982\">Ada jeda saat perpindahan (failover), bisa menyebabkan gangguan singkat<\/li>\n<\/ul>\n<h3 lang=\"EN-GB\" id=\"t-1764568969251\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">2. Active\/Active Cluster (Enterprise Standard)<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">&nbsp;<\/span><\/h3>\n<p data-end=\"2157\" data-start=\"2064\">Semua server aktif bersamaan dan melayani trafik.<\/p>\n<p data-end=\"2258\" data-start=\"2159\"><strong data-end=\"2176\" data-start=\"2159\">Syarat utama:<\/strong><br data-start=\"2176\" data-end=\"2179\">Session harus disimpan di sistem eksternal agar semua server bisa mengaksesnya.<\/p>\n<p data-end=\"2276\" data-start=\"2260\"><strong data-end=\"2274\" data-start=\"2260\">Kelebihan:<\/strong><\/p>\n<ul data-end=\"2441\" data-start=\"2277\">\n<li data-end=\"2318\" data-section-id=\"o8dcur\" data-start=\"2277\">Semua server digunakan secara optimal<\/li>\n<li data-end=\"2376\" data-section-id=\"1e3zl7n\" data-start=\"2319\">Mudah ditingkatkan kapasitasnya (tinggal tambah node)<\/li>\n<li data-end=\"2441\" data-section-id=\"lkvohf\" data-start=\"2377\">Jika satu server gagal, sistem tetap berjalan tanpa gangguan<\/li>\n<\/ul>\n<p data-end=\"2460\" data-start=\"2443\"><strong data-end=\"2458\" data-start=\"2443\">Kekurangan:<\/strong><\/p>\n<ul data-end=\"2533\" data-start=\"2461\">\n<li data-end=\"2479\" data-section-id=\"kv02zu\" data-start=\"2461\">Lebih kompleks<\/li>\n<li data-end=\"2533\" data-section-id=\"ai5x4y\" data-start=\"2480\">Butuh konfigurasi dan manajemen yang lebih matang<\/li>\n<\/ul>\n<h3 lang=\"EN-GB\" id=\"t-1764568969252\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">3. Geo-Redundancy for Disaster Recovery (DR)<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">&nbsp;<\/span><\/h3>\n<p data-end=\"2650\" data-start=\"2540\">Digunakan untuk menghadapi bencana besar seperti data center down.<\/p>\n<p data-end=\"2727\" data-start=\"2652\"><strong data-end=\"2663\" data-start=\"2652\">Konsep:<\/strong><br data-start=\"2663\" data-end=\"2666\">Menjalankan beberapa cluster Active\/Active di lokasi berbeda.<\/p>\n<p data-end=\"2746\" data-start=\"2729\"><strong data-end=\"2744\" data-start=\"2729\">Cara Kerja:<\/strong><\/p>\n<ul data-end=\"2884\" data-start=\"2747\">\n<li data-end=\"2824\" data-section-id=\"ot27t9\" data-start=\"2747\">Trafik diarahkan ke lokasi terdekat melalui DNS atau Global Load Balancer<\/li>\n<li data-end=\"2884\" data-section-id=\"nj9vyo\" data-start=\"2825\">Jika satu lokasi gagal, trafik dialihkan ke lokasi lain<\/li>\n<\/ul>\n<p data-end=\"2902\" data-start=\"2886\"><strong data-end=\"2900\" data-start=\"2886\">Tantangan:<\/strong><\/p>\n<ul data-end=\"3002\" data-start=\"2903\">\n<li data-end=\"2937\" data-section-id=\"eob8ge\" data-start=\"2903\">Sinkronisasi data antar lokasi<\/li>\n<li data-end=\"3002\" data-section-id=\"aqc0fu\" data-start=\"2938\">Biasanya menggunakan replikasi asynchronous agar tetap cepat<\/li>\n<\/ul>\n<p data-end=\"3083\" data-start=\"3004\">Ini adalah tingkat perlindungan tertinggi untuk menjaga layanan tetap berjalan.<\/p>\n<h2 lang=\"EN-GB\" id=\"t-1764568969253\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 2\">Operasional dan Maintenance dalam Lingkungan HA<\/span><\/span><\/h2>\n<p lang=\"EN-GB\"><span data-contrast=\"auto\" lang=\"EN-GB\">Membangun sistem HA saja tidak cukup. Untuk menjaga keandalannya, diperlukan proses operasional dan maintenance yang baik dan konsisten.<\/span><\/p>\n<p><span><img decoding=\"async\" alt=\"\" data-id=\"16496\" width=\"602\" data-init-width=\"1024\" height=\"511\" data-init-height=\"869\" title=\"Zero-Downtime Rolling Deployment - Shibboleth IdP High Availability..Essential HA Architecture\" loading=\"lazy\" src=\"https:\/\/www.overtsoftware.com\/wp-content\/uploads\/2025\/12\/Zero-Downtime-Rolling-Deployment-Shibboleth-IdP-High-Availability.Essential-HA-Architecture.png\" data-width=\"602\" data-height=\"511\" style=\"aspect-ratio: auto 1024 \/ 869;\"><\/span><\/p>\n<h3 lang=\"EN-GB\" id=\"t-1764568969254\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">Monitoring dan Alerting<\/span><\/span><\/h3>\n<ul>\n<li lang=\"EN-GB\">\n<ul>\n<li data-end=\"362\" data-section-id=\"19yjj69\" data-start=\"31\"><strong data-end=\"54\" data-start=\"33\">Logging Terpusat:<\/strong><br data-start=\"54\" data-end=\"57\">Setiap node IdP menghasilkan banyak log (akses, audit, error). Mengumpulkan semua log ini ke dalam satu sistem terpusat (seperti Splunk, Elastic Stack, atau log aggregator lainnya) sangat penting untuk troubleshooting. Dengan ini, Anda bisa melacak aktivitas pengguna di berbagai node dalam satu tampilan.<\/li>\n<li data-end=\"596\" data-section-id=\"izbx9g\" data-start=\"364\"><strong data-end=\"400\" data-start=\"366\">Monitoring Kesehatan Aplikasi:<\/strong><br data-start=\"400\" data-end=\"403\">Monitoring tidak cukup hanya melihat CPU atau memori. Sistem juga harus memantau kesehatan aplikasi Shibboleth itu sendiri, seperti metrik JVM (Java Virtual Machine) dan endpoint status khusus.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 lang=\"EN-GB\" id=\"t-1764568969255\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">Strategi Rolling Deployment<\/span><\/span><\/h2>\n<p data-end=\"741\" data-start=\"603\">Salah satu keuntungan utama dari cluster Active\/Active adalah bisa melakukan maintenance tanpa downtime.<\/p>\n<p data-end=\"764\" data-start=\"743\">Langkah-langkahnya:<\/p>\n<ol data-end=\"1222\" data-start=\"765\">\n<li data-end=\"924\" data-section-id=\"1suvyk4\" data-start=\"765\"><strong data-end=\"782\" data-start=\"768\">Persiapan:<\/strong> Keluarkan satu node (Node A) dari load balancer. Node ini tetap menyelesaikan proses yang sedang berjalan, tapi tidak menerima trafik baru.<\/li>\n<li data-end=\"981\" data-section-id=\"1xinzq9\" data-start=\"925\"><strong data-end=\"940\" data-start=\"928\">Upgrade:<\/strong> Lakukan update atau patch pada Node A.<\/li>\n<li data-end=\"1078\" data-section-id=\"7mfc9m\" data-start=\"982\"><strong data-end=\"1000\" data-start=\"985\">Verifikasi:<\/strong> Uji Node A dengan satu transaksi untuk memastikan semuanya berjalan normal.<\/li>\n<li data-end=\"1160\" data-section-id=\"1orer7i\" data-start=\"1079\"><strong data-end=\"1093\" data-start=\"1082\">Rotasi:<\/strong> Masukkan kembali Node A ke load balancer, lalu keluarkan Node B.<\/li>\n<li data-end=\"1222\" data-section-id=\"309x82\" data-start=\"1161\"><strong data-end=\"1176\" data-start=\"1164\">Selesai:<\/strong> Ulangi proses ini untuk semua node lainnya.<\/li>\n<\/ol>\n<p data-end=\"1343\" data-start=\"1224\">Dengan cara ini, maintenance bisa dilakukan tanpa menghentikan layanan, dan patch keamanan bisa diterapkan lebih cepat.<\/p>\n<h2 lang=\"EN-GB\" id=\"t-1764568969256\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 2\">Kesimpulan Utama: Fondasi Kepercayaan dalam Identitas Terfederasi<\/span><\/span><\/h2>\n<p data-end=\"1597\" data-start=\"1350\">Menerapkan arsitektur high availability untuk Shibboleth IdP bukan lagi pilihan tambahan, tetapi kebutuhan utama untuk menjaga keandalan dan kepercayaan dalam sistem federasi.<\/p>\n<p data-end=\"1891\" data-start=\"1599\">Dengan meninggalkan sistem satu server, Anda mengubah layanan yang sebelumnya rentan menjadi sistem cluster yang kuat dan scalable. Investasi pada komponen seperti load balancer yang andal dan penyimpanan state terpusat akan memberikan manfaat besar dengan memastikan layanan selalu tersedia.<\/p>\n<p data-end=\"2193\" data-is-last-node=\"\" data-is-only-node=\"\" data-start=\"1893\">Model Active\/Active yang didukung dengan rolling deployment memungkinkan organisasi melakukan maintenance tanpa mengganggu pengguna atau menghentikan aplikasi penting. Ini tidak hanya meningkatkan produktivitas, tetapi juga memperkuat posisi Anda sebagai pengelola identitas yang aman dan terpercaya.<\/p>\n<h1 lang=\"EN-GB\" style=\"text-align: center;\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">Siap Menghilangkan Downtime?<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">&nbsp;<\/span><\/h1>\n<p lang=\"EN-GB\" style=\"text-align: center;\"><span data-contrast=\"auto\" lang=\"EN-GB\">Jangan biarkan satu kegagalan server mengganggu akses pengguna. Unduh checklist konfigurasi HA kami secara gratis untuk mulai merencanakan implementasi cluster Shibboleth Anda hari ini.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pastikan SSO tetap berjalan tanpa downtime dengan arsitektur Shibboleth IdP yang high availability. Pelajari tentang pengelolaan state, komponen yang terklaster, serta model deployment Active\/Active.<\/p>\n","protected":false},"author":1,"featured_media":3489,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","tve_updated_post":"<div class=\"thrv_wrapper tve-toc tve-elem-scroll tve-toc-expandable tcb-local-vars-root\" data-columns=\"1\" data-ct=\"toc-60733\" data-transition=\"slide\" data-headers=\"h2,h3,h4\" data-numbering=\"none\" data-highlight=\"heading\" data-ct-name=\"Table of Contents 13\" data-heading-style=\"{&quot;0&quot;:&quot;tve-u-69d5e32e9c41d7&quot;,&quot;1&quot;:&quot;tve-u-69d5e32e9c4226&quot;,&quot;2&quot;:&quot;tve-u-69d5e32e9c4238&quot;}\" style=\"--tcb-local-color-4204a: var(--tcb-skin-color-0) !important; --tcb-local-color-ea1e7: rgba(214, 93, 0, 0.08) !important;\" data-css=\"tve-u-69d5e32e9c4248\" data-state-default=\"expanded\" data-state-default-d=\"expanded\" data-animation=\"slide\" data-bullet-style=\"{&quot;0&quot;:&quot;tve-u-69d5e32e9c4254&quot;,&quot;1&quot;:&quot;tve-u-69d5e32e9c4263&quot;,&quot;2&quot;:&quot;tve-u-69d5e32e9c4275&quot;}\" data-number-style=\"{&quot;0&quot;:&quot;tve-u-69d5e32e9c4280&quot;,&quot;1&quot;:&quot;tve-u-69d5e32e9c4295&quot;,&quot;2&quot;:&quot;tve-u-69d5e32e9c42a2&quot;}\" data-distribute=\"false\" data-state-default-m=\"collapsed\" data-element-name=\"Table of Contents\" data-form-settings=\"__TCB_FORM__{&quot;form_identifier&quot;:&quot;-form-2nx8j5&quot;}__TCB_FORM__\" data-id=\"mnplpwr4\"><div class=\"thrive-colors-palette-config\" style=\"display: none !important\">__CONFIG_colors_palette__{\"active_palette\":0,\"config\":{\"colors\":{\"4204a\":{\"name\":\"Main Accent\",\"parent\":-1},\"ea1e7\":{\"name\":\"Main Accent Light\",\"parent\":\"4204a\",\"lock\":{\"lightness\":1}}},\"gradients\":[]},\"palettes\":[{\"name\":\"Default\",\"value\":{\"colors\":{\"4204a\":{\"val\":\"var(--tcb-skin-color-0)\"},\"ea1e7\":{\"val\":\"rgba(214, 93, 0, 0.08)\",\"hsl_parent_dependency\":{\"h\":26,\"l\":0.42,\"s\":1.28}}},\"gradients\":[]},\"original\":{\"colors\":{\"4204a\":{\"val\":\"rgb(30, 136, 69)\",\"hsl\":{\"h\":142,\"s\":0.63,\"l\":0.32,\"a\":1}},\"ea1e7\":{\"val\":\"rgba(4, 215, 85, 0.08)\",\"hsl_parent_dependency\":{\"h\":143,\"s\":0.96,\"l\":0.42,\"a\":0.08}}},\"gradients\":[]}}]}__CONFIG_colors_palette__<\/div><div class=\"tve-toc-divider\" style=\"position: absolute; width: 0; height: 0; overflow: hidden;\"><div class=\"thrv_wrapper thrv-divider tve-vert-divider\" data-style=\"tve_sep-1\" data-color-d=\"rgb(217, 217, 217)\"><hr class=\"tve_sep tve_sep-1\" style=\"\"><\/div><\/div><svg class=\"toc-icons\" style=\"position: absolute; width: 0; height: 0; overflow: hidden;\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><symbol viewBox=\"0 0 24 24\" id=\"toc-bullet-0-mnplpwr4\" data-id=\"icon-chevron_right-duotone\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\"><\/path><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z\"><\/path><\/symbol><symbol viewBox=\"0 0 24 24\" id=\"toc-bullet-1-mnplpwr4\" data-id=\"icon-chevron_right-duotone\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\"><\/path><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z\"><\/path><\/symbol><symbol viewBox=\"0 0 24 24\" id=\"toc-bullet-2-mnplpwr4\" data-id=\"icon-chevron_right-duotone\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\"><\/path><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z\"><\/path><\/symbol><\/svg>\n\t<div class=\"tve-content-box-background\" data-css=\"tve-u-69d5e32e9c42b2\" style=\"\"><\/div>\n\t<div class=\"thrv_wrapper tve-toc-title tcb-icon-display reverse tve-no-dropzone tve-prevent-content-edit\" data-css=\"tve-u-69d5e32e9c42c1\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\"><\/div>\n\t<div class=\"tve-cb\" style=\"\">\n\t\t<div class=\"tve-toc-title-icon\" data-icon-code=\"icon-chevron-down-solid\" style=\"\"><svg class=\"tcb-icon\" viewBox=\"0 0 24 24\" data-id=\"icon-chevron-down-solid\" data-name=\"\"><path d=\"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\"><\/path><\/svg><\/div>\n\t\t<div class=\"thrv_wrapper thrv_text_element tve_no_icons\">\t\t\t<div class=\"tcb-plain-text\" data-css=\"tve-u-69d5e32e9c42d9\" style=\"\">table of contents<\/div> \t\t<\/div>\n\t<\/div>\n<\/div><div class=\"tve-cb tve-toc-content tve-prevent-content-edit\">\n\t\t\n\n\t\t<div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad\" data-css=\"tve-u-69d5e32e9c42e8\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\" data-css=\"tve-u-69d5e32e9c42f8\"><\/div>\n\t<div class=\"tve-cb\"><\/div>\n<\/div><div class=\"thrv_wrapper tve-toc-list tcb-no-delete tcb-no-save tcb-no-clone tve-no-dropzone\" data-css=\"tve-u-69d5e32e9c4302\" style=\"\">\n\t\t\t<div class=\"tve-content-box-background\" data-css=\"tve-u-69d5e32e9c4311\" style=\"\"><\/div>\n\t\t\t<div class=\"tve-cb\">\n\t\t\t\t<div class=\"tve_ct_content tve_clearfix\"><div class=\"ct_column\"><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level0 tve_no_icons\" data-tag=\"H2\" data-css=\"tve-u-69d5e32e9c41d7\" data-element-name=\"Heading Level 1\"><a href=\"#t-1764568969239\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Pendahuluan: Pentingnya Ketersediaan Sistem (Uptime)&nbsp;<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-69d5e32e9c4226\" data-element-name=\"Heading Level 2\"><a href=\"#t-1764568969240\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Dampak Downtime pada Sistem Identitas&nbsp;<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level0 tve_no_icons\" data-tag=\"H2\" data-css=\"tve-u-69d5e32e9c41d7\" data-element-name=\"Heading Level 1\"><a href=\"#t-1764568969241\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Tantangan Utama HA pada Shibboleth: Manajemen State<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-69d5e32e9c4226\" data-element-name=\"Heading Level 2\"><a href=\"#t-1764568969242\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Masalah Session State<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-69d5e32e9c4226\" data-element-name=\"Heading Level 2\"><a href=\"#t-1764568969243\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Konsistensi Konfigurasi<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level0 tve_no_icons\" data-tag=\"H2\" data-css=\"tve-u-69d5e32e9c41d7\" data-element-name=\"Heading Level 1\"><a href=\"#t-1764568969244\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Komponen Penting untuk IdP yang Tahan Gangguan<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-69d5e32e9c4226\" data-element-name=\"Heading Level 2\"><a href=\"#t-1764568969245\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">1. External Load Balancer (L4\/L7)&nbsp;<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-69d5e32e9c4226\" data-element-name=\"Heading Level 2\"><a href=\"#t-1764568969246\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">2. Cluster Server Aplikasi IdP<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-69d5e32e9c4226\" data-element-name=\"Heading Level 2\"><a href=\"#t-1764568969247\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">3. Penyimpanan Session Eksternal (Kunci Utama HA)<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-69d5e32e9c4226\" data-element-name=\"Heading Level 2\"><a href=\"#t-1764568969248\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">4. Backend Service yang High Availability<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level0 tve_no_icons\" data-tag=\"H2\" data-css=\"tve-u-69d5e32e9c41d7\" data-element-name=\"Heading Level 1\"><a href=\"#t-1764568969249\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Model Deployment untuk Uptime Maksimal<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-69d5e32e9c4226\" data-element-name=\"Heading Level 2\"><a href=\"#t-1764568969250\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">1. Active\/Passive Cluster (Simple Failover)&nbsp;<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-69d5e32e9c4226\" data-element-name=\"Heading Level 2\"><a href=\"#t-1764568969251\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">2. Active\/Active Cluster (Enterprise Standard)&nbsp;<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-69d5e32e9c4226\" data-element-name=\"Heading Level 2\"><a href=\"#t-1764568969252\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">3. Geo-Redundancy for Disaster Recovery (DR)&nbsp;<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level0 tve_no_icons\" data-tag=\"H2\" data-css=\"tve-u-69d5e32e9c41d7\" data-element-name=\"Heading Level 1\"><a href=\"#t-1764568969253\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Operasional dan Maintenance dalam Lingkungan HA<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level1 tve_no_icons\" data-tag=\"H3\" data-css=\"tve-u-69d5e32e9c4226\" data-element-name=\"Heading Level 2\"><a href=\"#t-1764568969254\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Monitoring dan Alerting<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level0 tve_no_icons\" data-tag=\"H2\" data-css=\"tve-u-69d5e32e9c41d7\" data-element-name=\"Heading Level 1\"><a href=\"#t-1764568969255\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Strategi Rolling Deployment<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level0 tve_no_icons\" data-tag=\"H2\" data-css=\"tve-u-69d5e32e9c41d7\" data-element-name=\"Heading Level 1\"><a href=\"#t-1764568969256\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Kesimpulan Utama: Fondasi Kepercayaan dalam Identitas Terfederasi<\/a><\/div><\/div><div class=\"thrv_wrapper thrv-divider tve-vert-divider\" data-style=\"tve_sep-1\" data-color-d=\"rgb(217, 217, 217)\"><hr class=\"tve_sep tve_sep-1\" style=\"\"><\/div><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h2 class=\"\" id=\"t-1764568969239\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 2\">Pendahuluan: Pentingnya Ketersediaan Sistem (Uptime)<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:299,&quot;335559739&quot;:299}\">&nbsp;<\/span><\/h2><p><span data-contrast=\"auto\" lang=\"EN-GB\">Setiap proses single sign-on (SSO) dalam lingkungan federasi sepenuhnya bergantung pada Identity Provider (IdP). Ketika organisasi Anda menggunakan Shibboleth sebagai IdP utama, sistem ini menjadi pintu masuk ke puluhan bahkan ratusan aplikasi penting, baik berbasis cloud maupun on-premise. Jika server Shibboleth mengalami gangguan, maka seluruh akses akan terhenti.<\/span><\/p><\/div><div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-69d5e32e9c4320\"><span class=\"tve_image_frame\"><img decoding=\"async\" class=\"tve_image wp-image-16497\" alt=\"\" data-id=\"16497\" width=\"602\" data-init-width=\"901\" height=\"593\" data-init-height=\"888\" title=\"intro section - Shibboleth IdP High Availability..Essential HA Architecture\" loading=\"lazy\" src=\"https:\/\/www.overtsoftware.com\/wp-content\/uploads\/2025\/12\/intro-section-Shibboleth-IdP-High-Availability.Essential-HA-Architecture-.png\" data-width=\"602\" data-height=\"593\" style=\"aspect-ratio: auto 901 \/ 888;\"><\/span><\/div><div class=\"thrv_wrapper thrv_text_element\"><h3 class=\"\" id=\"t-1764568969240\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">Dampak Downtime pada Sistem Identitas<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">&nbsp;<\/span><\/h3><p data-end=\"284\" data-start=\"0\">Bagi perusahaan, bahkan gangguan singkat pada IdP bisa berdampak besar. Hal ini langsung mengganggu layanan penting, mulai dari staf yang mengakses sistem keuangan hingga mahasiswa yang menggunakan platform pembelajaran. Dampaknya meliputi:<\/p><ul data-end=\"563\" data-start=\"286\"><li data-end=\"369\" data-section-id=\"3nacdc\" data-start=\"286\"><strong data-end=\"309\" data-start=\"288\">Dampak Finansial:<\/strong> Penurunan produktivitas dan potensi pelanggaran kepatuhan<\/li><li data-end=\"465\" data-section-id=\"xkhq76\" data-start=\"370\"><strong data-end=\"395\" data-start=\"372\">Kerusakan Reputasi:<\/strong> Gangguan layanan menurunkan kepercayaan pengguna terhadap sistem IT<\/li><li data-end=\"563\" data-section-id=\"k0r0wj\" data-start=\"466\"><strong data-end=\"493\" data-start=\"468\">Operasional Terhenti:<\/strong> Aktivitas organisasi bisa berhenti sampai sistem SSO kembali normal<\/li><\/ul><p data-end=\"770\" data-start=\"565\">Tujuan dari penerapan arsitektur High Availability (HA) pada Shibboleth adalah memastikan tidak ada downtime, bahkan saat terjadi gangguan seperti kerusakan hardware, error software, atau saat maintenance.<\/p><h2 class=\"\" id=\"t-1764568969241\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 2\">Tantangan Utama HA pada Shibboleth: Manajemen State<\/span><\/span><\/h2><p><span data-contrast=\"auto\" lang=\"EN-GB\">Berbeda dengan banyak aplikasi web yang tidak menyimpan state (stateless), Shibboleth IdP adalah aplikasi yang menyimpan state. Artinya, sistem perlu menyimpan informasi penting antar permintaan agar bisa bekerja dengan benar. Inilah tantangan terbesar dalam membangun HA.<\/span><\/p><h3 class=\"\" id=\"t-1764568969242\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">Masalah Session State<\/span><\/span><\/h3><p data-end=\"1253\" data-start=\"1109\">Saat pengguna berhasil login, sistem membuat session yang menyimpan status login agar tidak perlu login ulang (SSO).<\/p><ul data-end=\"1442\" data-start=\"1255\"><li data-end=\"1346\" data-section-id=\"9uv9x0\" data-start=\"1255\"><strong data-end=\"1278\" data-start=\"1257\">Perilaku Default:<\/strong> Session disimpan di memori server Shibboleth yang menangani login<\/li><li data-end=\"1442\" data-section-id=\"575scf\" data-start=\"1347\"><strong data-end=\"1367\" data-start=\"1349\">Masalah Utama:<\/strong> Jika server tersebut down, session hilang dan pengguna harus login ulang<\/li><\/ul><p data-end=\"1552\" data-start=\"1444\">Meskipun menggunakan load balancer, perpindahan ke server lain tidak akan mulus jika session tidak tersedia. Agar HA benar-benar tercapai, session harus disimpan di luar server (externalised). Dengan begitu, jika satu server gagal, server lain bisa langsung mengambil session pengguna dari penyimpanan bersama.<\/p><h3 class=\"\" id=\"t-1764568969243\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">Konsistensi Konfigurasi<\/span><\/span><\/h3><p data-end=\"1883\" data-start=\"1762\">Selain session, semua node dalam cluster IdP harus memiliki konfigurasi yang sama, seperti:<\/p><ul data-end=\"2001\" data-start=\"1885\"><li data-end=\"1942\" data-section-id=\"qebqac\" data-start=\"1885\">Kunci SAML (private key dan sertifikat harus identik)<\/li><li data-end=\"2001\" data-section-id=\"evqavc\" data-start=\"1943\">File konfigurasi seperti <code data-end=\"1986\" data-start=\"1970\">idp.properties<\/code> dan metadata<\/li><\/ul><p data-end=\"2091\" data-start=\"2003\">Konsistensi ini penting agar semua transaksi tetap dipercaya oleh Service Provider (SP).<\/p><h2 class=\"\" id=\"t-1764568969244\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 2\">Komponen Penting untuk IdP yang Tahan Gangguan<\/span><\/span><\/h2><p data-end=\"2335\" data-start=\"2098\">Membangun sistem Shibboleth yang benar-benar HA tidak cukup hanya dengan dua server. Dibutuhkan pendekatan berlapis untuk menghilangkan semua titik kegagalan (single point of failure).<\/p><p data-end=\"2363\" data-start=\"2337\">Berikut komponen utamanya:<\/p><h3 class=\"\" id=\"t-1764568969245\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">1. External Load Balancer (L4\/L7)<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">&nbsp;<\/span><\/h3><p data-end=\"2448\" data-start=\"2370\">Ini adalah pintu utama ke sistem IdP.<\/p><ul data-end=\"2831\" data-start=\"2450\"><li data-end=\"2526\" data-section-id=\"1acf9\" data-start=\"2450\"><strong data-end=\"2463\" data-start=\"2452\">Fungsi:<\/strong> Membagi trafik pengguna ke beberapa server IdP secara merata<\/li><li data-end=\"2741\" data-section-id=\"1jyysdd\" data-start=\"2527\"><strong data-end=\"2546\" data-start=\"2529\">Health Check:<\/strong> Harus menggunakan pengecekan level aplikasi (L7), bukan sekadar cek port<ul data-end=\"2741\" data-start=\"2624\"><li data-end=\"2677\" data-section-id=\"11kwpk5\" data-start=\"2624\">Misalnya memanggil endpoint <code data-end=\"2675\" data-start=\"2654\">\/idp\/profile\/status<\/code><\/li><li data-end=\"2741\" data-section-id=\"1gxxuka\" data-start=\"2680\">Jika server tidak sehat, langsung dikeluarkan dari rotasi<\/li><\/ul><\/li><li data-end=\"2831\" data-section-id=\"o9dlob\" data-start=\"2742\"><strong data-end=\"2758\" data-start=\"2744\">Kebutuhan:<\/strong> Load balancer juga harus HA (biasanya active\/passive atau active\/active)<\/li><\/ul><h3 class=\"\" id=\"t-1764568969246\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">2. Cluster Server Aplikasi IdP<\/span><\/span><\/h3><p data-end=\"2914\" data-start=\"2838\">Redundansi dimulai dari layer aplikasi.<\/p><ul data-end=\"3218\" data-start=\"2916\"><li data-end=\"2995\" data-section-id=\"xxge31\" data-start=\"2916\">Gunakan minimal dua server (VM atau container) dengan konfigurasi yang sama<\/li><li data-end=\"3083\" data-section-id=\"19yjz4r\" data-start=\"2996\">Semua node harus memiliki <strong data-end=\"3046\" data-start=\"3024\">entityID yang sama<\/strong> agar terlihat sebagai satu layanan<\/li><li data-end=\"3129\" data-section-id=\"1nzac3g\" data-start=\"3084\">Konfigurasi harus identik di semua server<\/li><li data-end=\"3218\" data-section-id=\"16x7zxr\" data-start=\"3130\">Disarankan menggunakan tools seperti Ansible, Puppet, atau Chef agar tetap konsisten<\/li><\/ul><h3 class=\"\" id=\"t-1764568969247\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">3. Penyimpanan Session Eksternal (Kunci Utama HA)<\/span><\/span><\/h3><p data-end=\"3334\" data-start=\"3225\">Tantangan terbesar adalah menyimpan session pengguna. Agar sistem bisa berjalan dalam mode <strong data-end=\"3390\" data-start=\"3373\">Active\/Active<\/strong> (semua server aktif bersamaan), session tidak boleh disimpan di masing-masing server.<\/p><p data-end=\"3651\" data-is-last-node=\"\" data-is-only-node=\"\" data-start=\"3480\">Sebaliknya, session harus disimpan di sistem eksternal yang bisa diakses semua node, sehingga jika satu server gagal, server lain bisa langsung melanjutkan tanpa gangguan.<\/p><\/div><div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-69d5e32e9c4338\"><span class=\"tve_image_frame\"><img decoding=\"async\" class=\"tve_image wp-image-16498\" alt=\"\" data-id=\"16498\" width=\"602\" data-init-width=\"1019\" height=\"424\" data-init-height=\"718\" title=\"External storag - Shibboleth IdP High Availability..Essential HA Architecture\" loading=\"lazy\" src=\"https:\/\/www.overtsoftware.com\/wp-content\/uploads\/2025\/12\/External-storag-Shibboleth-IdP-High-Availability.Essential-HA-Architecture.png\" data-width=\"602\" data-height=\"424\" style=\"aspect-ratio: auto 1019 \/ 718;\"><\/span><\/div><div class=\"thrv_wrapper thrv_text_element\"><p data-end=\"107\" data-start=\"0\">Hal ini dapat dicapai dengan menggunakan sistem penyimpanan eksternal yang juga memiliki high availability:<\/p><ul data-end=\"563\" data-start=\"109\"><li data-end=\"324\" data-section-id=\"1rzx0pw\" data-start=\"109\"><strong data-end=\"133\" data-start=\"111\">Distributed Cache:<\/strong> Sistem cache terdistribusi seperti Redis atau Memcached biasanya menjadi pilihan utama karena sangat cepat. Ini penting agar proses pengecekan session tetap cepat di setiap transaksi SAML.<\/li><li data-end=\"563\" data-section-id=\"1vtiign\" data-start=\"325\"><strong data-end=\"347\" data-start=\"327\">Database Khusus:<\/strong> Database yang terklaster (seperti PostgreSQL atau MySQL) juga bisa digunakan, meskipun biasanya sedikit lebih lambat dibanding cache. Untuk data tertentu seperti ID permanen, database tetap menjadi solusi standar.<\/li><\/ul><p data-end=\"762\" data-start=\"565\">Dengan menyimpan session di luar server, kita tidak lagi membutuhkan \u201csticky session\u201d pada load balancer. Ini membuat sistem lebih fleksibel dan benar-benar mendukung pembagian beban secara merata.<\/p><h3 class=\"\" id=\"t-1764568969248\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">4. Backend Service yang High Availability<\/span><\/span><\/h3><p data-end=\"954\" data-start=\"769\">IdP juga bergantung pada layanan internal lainnya. Agar sistem tetap berjalan tanpa gangguan, layanan ini juga harus memiliki redundansi:<\/p><ul data-end=\"1219\" data-start=\"956\"><li data-end=\"1104\" data-section-id=\"1j7wotv\" data-start=\"956\"><strong data-end=\"987\" data-start=\"958\">User Directory (LDAP\/AD):<\/strong> Harus terhubung ke beberapa server LDAP atau Active Directory. Jika satu gagal, otomatis berpindah ke server lain.<\/li><li data-end=\"1219\" data-section-id=\"10x2jtj\" data-start=\"1105\"><strong data-end=\"1130\" data-start=\"1107\">Sistem Autentikasi:<\/strong> Sistem seperti MFA atau Kerberos juga harus tersedia di semua node dan memiliki backup<\/li><\/ul><p data-end=\"1378\" data-start=\"1221\">Dengan redundansi di semua layer (network, aplikasi, dan storage), Shibboleth bisa berubah dari titik lemah menjadi fondasi identitas yang kuat dan scalable.<\/p><h2 lang=\"EN-GB\" class=\"\" id=\"t-1764568969249\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 2\">Model Deployment untuk Uptime Maksimal<\/span><\/span><\/h2><p lang=\"EN-GB\"><span data-contrast=\"auto\" lang=\"EN-GB\">Untuk mencapai high availability, ada beberapa model yang bisa digunakan, tergantung kebutuhan dan budget:<\/span><\/p><h3 lang=\"EN-GB\" class=\"\" id=\"t-1764568969250\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">1. Active\/Passive Cluster (Simple Failover)<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">&nbsp;<\/span><\/h3><p data-end=\"1614\" data-start=\"1542\">Model ini paling sederhana.<\/p><ul data-end=\"1719\" data-start=\"1616\"><li data-end=\"1660\" data-section-id=\"12g6dnv\" data-start=\"1616\">Satu server aktif menangani semua trafik<\/li><li data-end=\"1719\" data-section-id=\"o38w7o\" data-start=\"1661\">Server kedua standby (siap digunakan tapi tidak aktif)<\/li><\/ul><p data-end=\"1825\" data-start=\"1721\"><strong data-end=\"1736\" data-start=\"1721\">Cara Kerja:<\/strong><br data-start=\"1736\" data-end=\"1739\">Jika server utama gagal, load balancer langsung mengalihkan trafik ke server cadangan.<\/p><p data-end=\"1843\" data-start=\"1827\"><strong data-end=\"1841\" data-start=\"1827\">Kelebihan:<\/strong><\/p><ul data-end=\"1900\" data-start=\"1844\"><li data-end=\"1868\" data-section-id=\"gy2ue2\" data-start=\"1844\">Lebih mudah dikelola<\/li><li data-end=\"1900\" data-section-id=\"pvlifz\" data-start=\"1869\">Konfigurasi lebih sederhana<\/li><\/ul><p data-end=\"1919\" data-start=\"1902\"><strong data-end=\"1917\" data-start=\"1902\">Kekurangan:<\/strong><\/p><ul data-end=\"2057\" data-start=\"1920\"><li data-end=\"1981\" data-section-id=\"pgmdfu\" data-start=\"1920\">Resource tidak efisien (server cadangan jarang digunakan)<\/li><li data-end=\"2057\" data-section-id=\"j6hi4r\" data-start=\"1982\">Ada jeda saat perpindahan (failover), bisa menyebabkan gangguan singkat<\/li><\/ul><h3 lang=\"EN-GB\" class=\"\" id=\"t-1764568969251\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">2. Active\/Active Cluster (Enterprise Standard)<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">&nbsp;<\/span><\/h3><p data-end=\"2157\" data-start=\"2064\">Semua server aktif bersamaan dan melayani trafik.<\/p><p data-end=\"2258\" data-start=\"2159\"><strong data-end=\"2176\" data-start=\"2159\">Syarat utama:<\/strong><br data-start=\"2176\" data-end=\"2179\">Session harus disimpan di sistem eksternal agar semua server bisa mengaksesnya.<\/p><p data-end=\"2276\" data-start=\"2260\"><strong data-end=\"2274\" data-start=\"2260\">Kelebihan:<\/strong><\/p><ul data-end=\"2441\" data-start=\"2277\"><li data-end=\"2318\" data-section-id=\"o8dcur\" data-start=\"2277\">Semua server digunakan secara optimal<\/li><li data-end=\"2376\" data-section-id=\"1e3zl7n\" data-start=\"2319\">Mudah ditingkatkan kapasitasnya (tinggal tambah node)<\/li><li data-end=\"2441\" data-section-id=\"lkvohf\" data-start=\"2377\">Jika satu server gagal, sistem tetap berjalan tanpa gangguan<\/li><\/ul><p data-end=\"2460\" data-start=\"2443\"><strong data-end=\"2458\" data-start=\"2443\">Kekurangan:<\/strong><\/p><ul data-end=\"2533\" data-start=\"2461\"><li data-end=\"2479\" data-section-id=\"kv02zu\" data-start=\"2461\">Lebih kompleks<\/li><li data-end=\"2533\" data-section-id=\"ai5x4y\" data-start=\"2480\">Butuh konfigurasi dan manajemen yang lebih matang<\/li><\/ul><h3 lang=\"EN-GB\" class=\"\" id=\"t-1764568969252\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">3. Geo-Redundancy for Disaster Recovery (DR)<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">&nbsp;<\/span><\/h3><p data-end=\"2650\" data-start=\"2540\">Digunakan untuk menghadapi bencana besar seperti data center down.<\/p><p data-end=\"2727\" data-start=\"2652\"><strong data-end=\"2663\" data-start=\"2652\">Konsep:<\/strong><br data-start=\"2663\" data-end=\"2666\">Menjalankan beberapa cluster Active\/Active di lokasi berbeda.<\/p><p data-end=\"2746\" data-start=\"2729\"><strong data-end=\"2744\" data-start=\"2729\">Cara Kerja:<\/strong><\/p><ul data-end=\"2884\" data-start=\"2747\"><li data-end=\"2824\" data-section-id=\"ot27t9\" data-start=\"2747\">Trafik diarahkan ke lokasi terdekat melalui DNS atau Global Load Balancer<\/li><li data-end=\"2884\" data-section-id=\"nj9vyo\" data-start=\"2825\">Jika satu lokasi gagal, trafik dialihkan ke lokasi lain<\/li><\/ul><p data-end=\"2902\" data-start=\"2886\"><strong data-end=\"2900\" data-start=\"2886\">Tantangan:<\/strong><\/p><ul data-end=\"3002\" data-start=\"2903\"><li data-end=\"2937\" data-section-id=\"eob8ge\" data-start=\"2903\">Sinkronisasi data antar lokasi<\/li><li data-end=\"3002\" data-section-id=\"aqc0fu\" data-start=\"2938\">Biasanya menggunakan replikasi asynchronous agar tetap cepat<\/li><\/ul><p data-end=\"3083\" data-start=\"3004\">Ini adalah tingkat perlindungan tertinggi untuk menjaga layanan tetap berjalan.<\/p><h2 lang=\"EN-GB\" class=\"\" id=\"t-1764568969253\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 2\">Operasional dan Maintenance dalam Lingkungan HA<\/span><\/span><\/h2><p lang=\"EN-GB\"><span data-contrast=\"auto\" lang=\"EN-GB\">Membangun sistem HA saja tidak cukup. Untuk menjaga keandalannya, diperlukan proses operasional dan maintenance yang baik dan konsisten.<\/span><\/p><\/div><div class=\"thrv_wrapper tve_image_caption\" data-css=\"tve-u-69d5e32e9c4341\"><span class=\"tve_image_frame\"><img decoding=\"async\" class=\"tve_image wp-image-16496\" alt=\"\" data-id=\"16496\" width=\"602\" data-init-width=\"1024\" height=\"511\" data-init-height=\"869\" title=\"Zero-Downtime Rolling Deployment - Shibboleth IdP High Availability..Essential HA Architecture\" loading=\"lazy\" src=\"https:\/\/www.overtsoftware.com\/wp-content\/uploads\/2025\/12\/Zero-Downtime-Rolling-Deployment-Shibboleth-IdP-High-Availability.Essential-HA-Architecture.png\" data-width=\"602\" data-height=\"511\" style=\"aspect-ratio: auto 1024 \/ 869;\"><\/span><\/div><div class=\"thrv_wrapper thrv_text_element\"><h3 lang=\"EN-GB\" class=\"\" id=\"t-1764568969254\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">Monitoring dan Alerting<\/span><\/span><\/h3><ul class=\"\"><li lang=\"EN-GB\"><br><ul><li data-end=\"362\" data-section-id=\"19yjj69\" data-start=\"31\"><strong data-end=\"54\" data-start=\"33\">Logging Terpusat:<\/strong><br data-start=\"54\" data-end=\"57\">Setiap node IdP menghasilkan banyak log (akses, audit, error). Mengumpulkan semua log ini ke dalam satu sistem terpusat (seperti Splunk, Elastic Stack, atau log aggregator lainnya) sangat penting untuk troubleshooting. Dengan ini, Anda bisa melacak aktivitas pengguna di berbagai node dalam satu tampilan.<\/li><li data-end=\"596\" data-section-id=\"izbx9g\" data-start=\"364\"><strong data-end=\"400\" data-start=\"366\">Monitoring Kesehatan Aplikasi:<\/strong><br data-start=\"400\" data-end=\"403\">Monitoring tidak cukup hanya melihat CPU atau memori. Sistem juga harus memantau kesehatan aplikasi Shibboleth itu sendiri, seperti metrik JVM (Java Virtual Machine) dan endpoint status khusus.<\/li><\/ul><\/li><\/ul><h2 lang=\"EN-GB\" class=\"\" id=\"t-1764568969255\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">Strategi Rolling Deployment<\/span><\/span><\/h2><p data-end=\"741\" data-start=\"603\">Salah satu keuntungan utama dari cluster Active\/Active adalah bisa melakukan maintenance tanpa downtime.<\/p><p data-end=\"764\" data-start=\"743\">Langkah-langkahnya:<\/p><ol data-end=\"1222\" data-start=\"765\"><li data-end=\"924\" data-section-id=\"1suvyk4\" data-start=\"765\"><strong data-end=\"782\" data-start=\"768\">Persiapan:<\/strong> Keluarkan satu node (Node A) dari load balancer. Node ini tetap menyelesaikan proses yang sedang berjalan, tapi tidak menerima trafik baru.<\/li><li data-end=\"981\" data-section-id=\"1xinzq9\" data-start=\"925\"><strong data-end=\"940\" data-start=\"928\">Upgrade:<\/strong> Lakukan update atau patch pada Node A.<\/li><li data-end=\"1078\" data-section-id=\"7mfc9m\" data-start=\"982\"><strong data-end=\"1000\" data-start=\"985\">Verifikasi:<\/strong> Uji Node A dengan satu transaksi untuk memastikan semuanya berjalan normal.<\/li><li data-end=\"1160\" data-section-id=\"1orer7i\" data-start=\"1079\"><strong data-end=\"1093\" data-start=\"1082\">Rotasi:<\/strong> Masukkan kembali Node A ke load balancer, lalu keluarkan Node B.<\/li><li data-end=\"1222\" data-section-id=\"309x82\" data-start=\"1161\"><strong data-end=\"1176\" data-start=\"1164\">Selesai:<\/strong> Ulangi proses ini untuk semua node lainnya.<\/li><\/ol><p data-end=\"1343\" data-start=\"1224\">Dengan cara ini, maintenance bisa dilakukan tanpa menghentikan layanan, dan patch keamanan bisa diterapkan lebih cepat.<\/p><h2 lang=\"EN-GB\" class=\"\" id=\"t-1764568969256\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 2\">Kesimpulan Utama: Fondasi Kepercayaan dalam Identitas Terfederasi<\/span><\/span><\/h2><p data-end=\"1597\" data-start=\"1350\">Menerapkan arsitektur high availability untuk Shibboleth IdP bukan lagi pilihan tambahan, tetapi kebutuhan utama untuk menjaga keandalan dan kepercayaan dalam sistem federasi.<\/p><p data-end=\"1891\" data-start=\"1599\">Dengan meninggalkan sistem satu server, Anda mengubah layanan yang sebelumnya rentan menjadi sistem cluster yang kuat dan scalable. Investasi pada komponen seperti load balancer yang andal dan penyimpanan state terpusat akan memberikan manfaat besar dengan memastikan layanan selalu tersedia.<\/p><p data-end=\"2193\" data-is-last-node=\"\" data-is-only-node=\"\" data-start=\"1893\">Model Active\/Active yang didukung dengan rolling deployment memungkinkan organisasi melakukan maintenance tanpa mengganggu pengguna atau menghentikan aplikasi penting. Ini tidak hanya meningkatkan produktivitas, tetapi juga memperkuat posisi Anda sebagai pengelola identitas yang aman dan terpercaya.<\/p><\/div><div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad cb_style_4\" data-style=\"cb_style_4\">\n\t<div class=\"tve-content-box-background cb_style_4-bg\" data-css=\"tve-u-69d5e32e9c4351\" style=\"\"><\/div>\n\t<div class=\"tve-cb cb_style_4-cb\" data-css=\"tve-u-69d5e32e9c4361\" style=\"\"><div class=\"thrv_wrapper thrv_text_element\"><h1 lang=\"EN-GB\" style=\"text-align: center;\" class=\"\"><span data-contrast=\"none\" lang=\"EN-GB\"><span data-ccp-parastyle=\"heading 3\">Siap Menghilangkan Downtime?<\/span><\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:281,&quot;335559739&quot;:281}\">&nbsp;<\/span><\/h1><p lang=\"EN-GB\" style=\"text-align: center;\"><span data-contrast=\"auto\" lang=\"EN-GB\">Jangan biarkan satu kegagalan server mengganggu akses pengguna. Unduh checklist konfigurasi HA kami secara gratis untuk mulai merencanakan implementasi cluster Shibboleth Anda hari ini.<\/span><\/p><\/div><div class=\"thrv_wrapper thrv-button thrv-button-v2 tcb-local-vars-root\" data-css=\"tve-u-69d5e32e9c4372\" style=\"--tcb-local-color-62516: var(--tcb-skin-color-0) !important;\">\n\t<div class=\"thrive-colors-palette-config\" style=\"display: none !important\">__CONFIG_colors_palette__{\"active_palette\":0,\"config\":{\"colors\":{\"62516\":{\"name\":\"Main Accent\",\"parent\":-1}},\"gradients\":[]},\"palettes\":[{\"name\":\"Default Palette\",\"value\":{\"colors\":{\"62516\":{\"val\":\"var(--tcb-skin-color-0)\"}},\"gradients\":[]}}]}__CONFIG_colors_palette__<\/div>\n\t<a href=\"https:\/\/www.overtsoftware.com\/contact\/\" class=\"tcb-button-link tcb-plain-text\" target=\"_blank\" rel=\"nofollow\">\n\t\t<span class=\"tcb-button-texts\"><span class=\"tcb-button-text thrv-inline-text\">Hubungi kami sekarang!<\/span><\/span>\n\t<\/a>\n<\/div><\/div>\n<\/div>","tve_custom_css":"@media (min-width: 300px){[data-css=\"tve-u-69d5e32e9c4238\"] { font-size: var(--tve-font-size,16px); --tve-font-size: 16px; color: var(--tve-color,rgb(85,85,85)); --tve-color: rgb(85,85,85); --tcb-applied-color: rgb(85,85,85); line-height: var(--tve-line-height,1.6em); --tve-line-height: 1.6em; padding: 8px !important; }[data-css=\"tve-u-69d5e32e9c4238\"].tve-state-expanded { color: var(--tve-color,rgb(255,255,255)); --tve-color: rgb(255,255,255); --tcb-applied-color: rgb(255,255,255); background-image: linear-gradient(var(--tcb-local-color-4204a),var(--tcb-local-color-4204a)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }:not(#tve) [data-css=\"tve-u-69d5e32e9c4238\"]:hover { color: var(--tve-color,var(--tcb-local-color-4204a)) !important; --tve-color: var(--tcb-local-color-4204a) !important; --tcb-applied-color: var$(--tcb-local-color-4204a) !important; background-image: linear-gradient(var(--tcb-local-color-ea1e7),var(--tcb-local-color-ea1e7)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-69d5e32e9c4280\"] { padding: 0px !important; }[data-css=\"tve-u-69d5e32e9c4295\"] { padding: 0px !important; }[data-css=\"tve-u-69d5e32e9c42a2\"] { padding: 0px !important; }[data-css=\"tve-u-69d5e32e9c4248\"] { --tve-toc-indent: 20px; max-width: 1000px; float: none; padding: 15px !important; margin-left: auto !important; margin-right: auto !important; --tcb-local-color-4204a: var(--tcb-skin-color-0) !important; --tcb-local-color-ea1e7: rgba(214,93,0,0.08) !important; --tve-applied-max-width: 1000px !important; }[data-css=\"tve-u-69d5e32e9c42b2\"] { box-shadow: rgba(0, 0, 0, 0.08) 0px 5px 12px 1px; overflow: hidden; border-radius: 0px !important; background-image: linear-gradient(rgb(255, 255, 255), rgb(255, 255, 255)) !important; border-top: none !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-69d5e32e9c42c1\"] { padding: 12px 5px !important; margin-bottom: -1px !important; margin-top: 0px !important; }:not(#tve) [data-css=\"tve-u-69d5e32e9c42c1\"] > .tve-content-box-background { background-color: rgb(244, 244, 244) !important; --tve-applied-background-color: rgb(244,244,244) !important; }[data-css=\"tve-u-69d5e32e9c42c1\"] .tve-toc-title-icon { font-size: 16px !important; width: 16px !important; height: 16px !important; }:not(#tve) [data-css=\"tve-u-69d5e32e9c42d9\"] { letter-spacing: 2px; text-transform: uppercase !important; font-size: 13px !important; color: rgb(0, 0, 0) !important; --tcb-applied-color: rgb(0,0,0) !important; --tve-applied-color: rgb(0,0,0) !important; }[data-css=\"tve-u-69d5e32e9c42e8\"] { float: none; width: 40px; z-index: 3; position: relative; margin: 0px auto 5px !important; padding: 0px !important; }[data-css=\"tve-u-69d5e32e9c42f8\"] { border-top: 2px solid var(--tcb-local-color-4204a) !important; border-bottom: none !important; }[data-css=\"tve-u-69d5e32e9c4302\"] { padding: 0px !important; margin-top: 0px !important; margin-bottom: 10px !important; }[data-css=\"tve-u-69d5e32e9c4311\"] { overflow: hidden; border-radius: 15px !important; }:not(#tve) [data-css=\"tve-u-69d5e32e9c4311\"] { background-image: none !important; }[data-css=\"tve-u-69d5e32e9c41d7\"] { font-size: var(--tve-font-size,16px); --tve-font-size: 16px; color: var(--tve-color,rgb(85,85,85)); --tve-color: rgb(85,85,85); --tcb-applied-color: rgb(85,85,85); line-height: var(--tve-line-height,1.6em); --tve-line-height: 1.6em; padding: 8px !important; }[data-css=\"tve-u-69d5e32e9c41d7\"].tve-state-expanded { color: var(--tve-color,rgb(255,255,255)); --tve-color: rgb(255,255,255); --tcb-applied-color: rgb(255,255,255); background-image: linear-gradient(var(--tcb-local-color-4204a),var(--tcb-local-color-4204a)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }:not(#tve) [data-css=\"tve-u-69d5e32e9c41d7\"]:hover { background-image: linear-gradient(var(--tcb-local-color-ea1e7),var(--tcb-local-color-ea1e7)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; color: var(--tve-color,var(--tcb-local-color-4204a)) !important; --tve-color: var(--tcb-local-color-4204a) !important; --tcb-applied-color: var$(--tcb-local-color-4204a) !important; }[data-css=\"tve-u-69d5e32e9c4226\"] { font-size: var(--tve-font-size,16px); --tve-font-size: 16px; color: var(--tve-color,rgb(85,85,85)); --tve-color: rgb(85,85,85); --tcb-applied-color: rgb(85,85,85); line-height: var(--tve-line-height,1.6em); --tve-line-height: 1.6em; padding: 8px !important; }[data-css=\"tve-u-69d5e32e9c4226\"].tve-state-expanded { color: var(--tve-color,rgb(255,255,255)); --tve-color: rgb(255,255,255); --tcb-applied-color: rgb(255,255,255); background-image: linear-gradient(var(--tcb-local-color-4204a),var(--tcb-local-color-4204a)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }:not(#tve) [data-css=\"tve-u-69d5e32e9c4226\"]:hover { color: var(--tve-color,var(--tcb-local-color-4204a)) !important; --tve-color: var(--tcb-local-color-4204a) !important; --tcb-applied-color: var$(--tcb-local-color-4204a) !important; background-image: linear-gradient(var(--tcb-local-color-ea1e7),var(--tcb-local-color-ea1e7)) !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-69d5e32e9c4320\"] { width: 901px; --tve-alignment: center; float: none; margin-left: auto !important; margin-right: auto !important; }[data-css=\"tve-u-69d5e32e9c4338\"] { width: 1019px; }[data-css=\"tve-u-69d5e32e9c4341\"] { width: 1024px; }[data-css=\"tve-u-69d5e32e9c4351\"] { border-radius: 20px; box-shadow: rgba(21, 69, 94, 0.22) 0px 0px 27px 0px; background-color: rgba(0, 169, 230, 0) !important; border-right: none !important; border-left: none !important; border-image: initial !important; }:not(#tve) .thrv-content-box [data-css=\"tve-u-69d5e32e9c4361\"] p, :not(#tve) .thrv-content-box [data-css=\"tve-u-69d5e32e9c4361\"] li, :not(#tve) .thrv-content-box [data-css=\"tve-u-69d5e32e9c4361\"] blockquote, :not(#tve) .thrv-content-box [data-css=\"tve-u-69d5e32e9c4361\"] address, :not(#tve) .thrv-content-box [data-css=\"tve-u-69d5e32e9c4361\"] .tcb-plain-text, :not(#tve) .thrv-content-box [data-css=\"tve-u-69d5e32e9c4361\"] label, :not(#tve) .thrv-content-box [data-css=\"tve-u-69d5e32e9c4361\"] h1, :not(#tve) .thrv-content-box [data-css=\"tve-u-69d5e32e9c4361\"] h2, :not(#tve) .thrv-content-box [data-css=\"tve-u-69d5e32e9c4361\"] h3, :not(#tve) .thrv-content-box [data-css=\"tve-u-69d5e32e9c4361\"] h4, :not(#tve) .thrv-content-box [data-css=\"tve-u-69d5e32e9c4361\"] h5, :not(#tve) .thrv-content-box [data-css=\"tve-u-69d5e32e9c4361\"] h6 { color: var(--tve-color,rgb(0,0,0)); --tve-applied-color: var$(--tve-color,rgb(0,0,0)); --tcb-applied-color: rgb(0,0,0); }[data-css=\"tve-u-69d5e32e9c4361\"] { --tve-color: rgb(0,0,0); --tve-applied---tve-color: rgb(0,0,0); }[data-css=\"tve-u-69d5e32e9c4372\"] .tcb-button-link { letter-spacing: 2px; background-image: linear-gradient(var(--tcb-local-color-62516,rgb(19,114,211)),var(--tcb-local-color-62516,rgb(19,114,211))); --tve-applied-background-image: linear-gradient(var$(--tcb-local-color-62516,rgb(19,114,211)),var$(--tcb-local-color-62516,rgb(19,114,211))); background-size: auto; background-attachment: scroll; border-radius: 5px; padding: 18px; background-position: 50% 50%; background-repeat: no-repeat; background-color: transparent !important; }[data-css=\"tve-u-69d5e32e9c4372\"] .tcb-button-link span { color: rgb(255, 255, 255); --tcb-applied-color: #fff; }[data-css=\"tve-u-69d5e32e9c4372\"] { --tcb-local-color-62516: var(--tcb-skin-color-0) !important; min-width: 100% !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper { width: calc(50% - 10px); }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:nth-child(n+3) { margin-top: 20px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:not(:nth-child(n+3)) { margin-top: 0px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:not(:nth-child(2n)) { margin-right: 20px !important; }.tcb-post-list[data-css=\"tve-u-16ecb5f152b\"] .post-wrapper.thrv_wrapper:nth-child(2n) { margin-right: 0px !important; }}@media (max-width: 767px){[data-css=\"tve-u-69d5e32e9c4238\"] { font-size: var(--tve-font-size,15px); --tve-font-size: 15px; padding: 7px !important; }[data-css=\"tve-u-69d5e32e9c4248\"] { padding: 10px 10px 20px !important; }[data-css=\"tve-u-69d5e32e9c41d7\"] { font-size: var(--tve-font-size,15px); --tve-font-size: 15px; padding: 7px !important; }[data-css=\"tve-u-69d5e32e9c4226\"] { font-size: var(--tve-font-size,15px); --tve-font-size: 15px; padding: 7px !important; }[data-css=\"tve-u-69d5e32e9c4351\"] { border-radius: 10px; border-width: initial !important; border-style: none !important; border-color: initial !important; }}","tve_user_custom_css":"","tve_globals":{"e":"1","font_cls":[]},"tcb2_ready":1,"tcb_editor_enabled":1,"tve_landing_page":"","_tve_header":"","_tve_footer":""},"categories":[31],"tags":[],"class_list":["post-3487","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-solusi-sso","post-wrapper","thrv_wrapper"],"_links":{"self":[{"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/posts\/3487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/comments?post=3487"}],"version-history":[{"count":6,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/posts\/3487\/revisions"}],"predecessor-version":[{"id":3494,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/posts\/3487\/revisions\/3494"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/media\/3489"}],"wp:attachment":[{"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/media?parent=3487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/categories?post=3487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.overtsoftware.id\/index.php\/wp-json\/wp\/v2\/tags?post=3487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}