Apa yang dimaksud dengan Rekayasa Keandalan Lokasi (SRE)?

Dipublikasikan oleh Syayyidatur Rosyida

15 Mei 2024, 08.51

sumber: pexels.com

Apa yang dimaksud dengan rekayasa keandalan lokasi?

Site reliability engineering (SRE) adalah praktik penggunaan perangkat lunak untuk mengotomatiskan tugas-tugas infrastruktur TI seperti manajemen sistem dan pemantauan aplikasi. Organisasi menggunakan SRE untuk memastikan aplikasi perangkat lunak mereka tetap andal di tengah-tengah pembaruan yang sering dilakukan oleh tim pengembangan. SRE secara khusus meningkatkan keandalan sistem perangkat lunak yang dapat diskalakan karena mengelola sistem yang besar menggunakan perangkat lunak lebih berkelanjutan daripada mengelola ratusan mesin secara manual. 

Mengapa perekayasaan keandalan lokasi penting?

Keandalan situs menggambarkan stabilitas dan kualitas layanan yang ditawarkan aplikasi setelah tersedia bagi pengguna akhir. Pemeliharaan perangkat lunak terkadang mempengaruhi keandalan perangkat lunak jika masalah teknis tidak terdeteksi. Misalnya, ketika pengembang membuat perubahan baru, mereka mungkin secara tidak sengaja berdampak pada aplikasi yang sudah ada dan menyebabkan aplikasi tersebut macet untuk kasus penggunaan tertentu.

Berikut ini adalah beberapa manfaat dari praktik site reliability engineering (SRE).

Kolaborasi yang lebih baik

SRE meningkatkan kolaborasi antara tim pengembangan dan operasi. Pengembang sering kali harus melakukan perubahan cepat pada aplikasi untuk merilis fitur baru atau memperbaiki bug yang kritis. Di sisi lain, tim operasi harus memastikan pengiriman layanan yang lancar. Oleh karena itu, tim operasi menggunakan praktik SRE untuk memantau setiap pembaruan secara ketat dan segera merespons setiap masalah yang muncul karena perubahan.

Pengalaman pelanggan yang lebih baik

Organisasi menggunakan model SRE untuk memastikan kesalahan perangkat lunak tidak berdampak pada pengalaman pelanggan. Sebagai contoh, tim perangkat lunak menggunakan alat SRE untuk mengotomatiskan siklus pengembangan perangkat lunak. Hal ini mengurangi kesalahan, yang berarti tim dapat memprioritaskan pengembangan fitur baru di atas perbaikan bug.

Perencanaan operasi yang lebih baik

 Tim SRE menerima bahwa ada kemungkinan realistis bagi perangkat lunak untuk gagal. Oleh karena itu, tim merencanakan respons insiden yang tepat untuk meminimalkan dampak downtime pada bisnis dan pengguna akhir. Mereka juga dapat memperkirakan biaya downtime dengan lebih baik dan memahami dampak insiden tersebut terhadap operasi bisnis. 

Apa saja prinsip-prinsip utama dalam rekayasa keandalan lokasi?

Berikut ini adalah beberapa prinsip utama dalam rekayasa keandalan lokasi (SRE).

Pemantauan aplikasi

Tim SRE menerima bahwa kesalahan adalah bagian dari proses penerapan perangkat lunak. Alih-alih mengupayakan solusi yang sempurna, mereka memantau kinerja perangkat lunak dalam hal perjanjian tingkat layanan (SLA), indikator tingkat layanan (SLI), dan tujuan tingkat layanan (SLO). Mereka mengamati dan memantau metrik kinerja setelah menerapkan aplikasi di lingkungan produksi. 

Implementasi perubahan secara bertahap

Praktik SRE mendorong peluncuran perubahan yang sering dilakukan namun dalam jumlah kecil untuk menjaga keandalan sistem. Alat otomatisasi SRE menggunakan proses yang konsisten namun berulang untuk melakukan hal berikut:

  • Mengurangi risiko akibat perubahan
  • Menyediakan loop umpan balik untuk mengukur kinerja sistem
  • Meningkatkan kecepatan dan efisiensi implementasi perubahan
  • Otomatisasi untuk peningkatan keandalan

SRE menggunakan kebijakan dan proses yang menanamkan prinsip-prinsip keandalan dalam setiap langkah pipeline pengiriman. Beberapa strategi yang secara otomatis menyelesaikan masalah antara lain sebagai berikut:

  • Mengembangkan gerbang kualitas berdasarkan tujuan tingkat layanan untuk mendeteksi masalah lebih awal
  • Mengotomatiskan pengujian build menggunakan indikator tingkat layanan
  • Membuat keputusan arsitektural yang memastikan ketahanan sistem di awal pengembangan perangkat lunak

Apa yang dimaksud dengan observabilitas dalam rekayasa keandalan situs?

Observabilitas adalah proses yang mempersiapkan tim perangkat lunak untuk menghadapi ketidakpastian saat perangkat lunak ditayangkan untuk pengguna akhir. Tim rekayasa keandalan situs (SRE) menggunakan alat untuk mendeteksi perilaku abnormal dalam perangkat lunak dan, yang lebih penting, mengumpulkan informasi yang membantu pengembang memahami apa yang menyebabkan masalah. Pengamatan melibatkan pengumpulan informasi berikut dengan alat SRE. 

Metrik 

Metrik adalah nilai yang dapat diukur yang mencerminkan kinerja aplikasi atau kesehatan sistem. Tim SRE menggunakan metrik untuk menentukan apakah perangkat lunak mengkonsumsi sumber daya yang berlebihan atau berperilaku tidak normal.

Log

Perangkat lunak SRE menghasilkan informasi terperinci dan ber-cap waktu yang disebut log sebagai respons terhadap peristiwa tertentu. Insinyur perangkat lunak menggunakan log untuk memahami rantai peristiwa yang mengarah ke masalah tertentu. 

Jejak 

Jejak adalah pengamatan jalur kode dari fungsi tertentu dalam sistem terdistribusi. Misalnya, memeriksa keranjang pesanan mungkin melibatkan hal-hal berikut ini:

  • Menghitung harga dengan database
  • Mengotentikasi dengan gateway pembayaran
  • Mengirimkan pesanan ke vendor
  • Jejak terdiri dari ID, nama, dan waktu. Jejak ini membantu pengembang perangkat lunak mendeteksi masalah latensi dan meningkatkan kinerja perangkat lunak. 

Apa yang dimaksud dengan pemantauan dalam rekayasa keandalan lokasi?

Pemantauan adalah proses mengamati metrik yang telah ditentukan sebelumnya dalam suatu aplikasi. Pengembang memutuskan parameter mana yang penting dalam menentukan kesehatan aplikasi dan mengaturnya dalam alat pemantauan. Tim site reliability engineering (SRE) mengumpulkan informasi penting yang mencerminkan kinerja sistem dan memvisualisasikannya dalam grafik.

Dalam SRE, tim perangkat lunak memantau metrik ini untuk mendapatkan wawasan tentang keandalan sistem.

Latensi 

Latensi menggambarkan penundaan saat aplikasi merespons permintaan. Misalnya, pengiriman formulir di situs web membutuhkan waktu 3 detik sebelum mengarahkan pengguna ke halaman web pemberitahuan. 

Lalu lintas

Lalu lintas mengukur jumlah pengguna yang mengakses layanan Anda secara bersamaan. Ini membantu tim perangkat lunak menganggarkan sumber daya komputasi untuk mempertahankan tingkat layanan yang memuaskan bagi semua pengguna.

Kesalahan

Kesalahan adalah kondisi di mana aplikasi gagal melakukan atau memberikan hasil sesuai dengan harapan. Misalnya, ketika halaman web gagal dimuat atau transaksi tidak berhasil, tim SRE menggunakan alat perangkat lunak untuk melacak dan merespons kesalahan dalam aplikasi secara otomatis. 

Saturasi

Saturasi menunjukkan kapasitas aplikasi secara real-time. Tingkat kejenuhan yang tinggi biasanya mengakibatkan penurunan kinerja. Teknisi keandalan lokasi memantau tingkat saturasi dan memastikannya berada di bawah ambang batas tertentu. 

Apa saja metrik utama untuk rekayasa keandalan lokasi?

Tim rekayasa keandalan lokasi (SRE) mengukur kualitas penyampaian layanan dan keandalan dengan menggunakan metrik berikut. 

Sasaran tingkat layanan

Sasaran tingkat layanan (SLO) adalah sasaran spesifik dan terukur yang Anda yakini dapat dicapai oleh perangkat lunak dengan biaya yang masuk akal untuk metrik lain, seperti berikut ini: 

  • Waktu kerja, atau waktu sistem beroperasi
  • Throughput sistem
  • Keluaran sistem
  • Kecepatan unduh, atau kecepatan pemuatan aplikasi
  • SLO menjanjikan pengiriman melalui perangkat lunak kepada pelanggan. Misalnya, Anda menetapkan SLO waktu aktif 99,95% untuk aplikasi pesan-antar makanan perusahaan Anda.

Indikator tingkat layanan

Indikator tingkat layanan (SLI) adalah pengukuran aktual dari metrik yang ditetapkan SLO. Dalam situasi nyata, Anda mungkin mendapatkan nilai yang sama atau berbeda dengan SLO. Misalnya, aplikasi Anda aktif dan berjalan 99,92% dari waktu, yang lebih rendah dari SLO yang dijanjikan. 

Perjanjian tingkat layanan

Perjanjian tingkat layanan (SLA) adalah dokumen hukum yang menyatakan apa yang akan terjadi jika satu atau beberapa SLO tidak terpenuhi. Sebagai contoh, SLA menyatakan bahwa tim teknis akan menyelesaikan masalah pelanggan Anda dalam waktu 24 jam setelah laporan diterima. Jika tim Anda tidak dapat menyelesaikan masalah dalam durasi yang ditentukan, Anda mungkin berkewajiban mengembalikan uang pelanggan.

Anggaran kesalahan

Anggaran kesalahan adalah toleransi ketidakpatuhan untuk SLO. Misalnya, waktu aktif 99,95% dalam SLO berarti waktu henti yang diizinkan adalah 0,05%. Jika waktu henti perangkat lunak melebihi anggaran kesalahan, tim perangkat lunak mencurahkan semua sumber daya dan perhatian untuk menstabilkan aplikasi.

Bagaimana cara kerja rekayasa keandalan lokasi?

Rekayasa keandalan lokasi (SRE) melibatkan partisipasi insinyur keandalan lokasi dalam tim perangkat lunak. Tim SRE menetapkan metrik utama untuk SRE dan membuat anggaran kesalahan yang ditentukan oleh tingkat toleransi risiko sistem. Jika jumlah kesalahan rendah, tim pengembangan dapat merilis fitur baru. Namun, jika kesalahan melebihi anggaran kesalahan yang diizinkan, tim menunda perubahan baru dan menyelesaikan masalah yang ada.

Sebagai contoh, insinyur keandalan situs menggunakan layanan untuk memantau metrik kinerja dan mendeteksi perilaku aplikasi yang tidak normal. Jika ada masalah dengan aplikasi, tim SRE mengirimkan laporan ke tim rekayasa perangkat lunak. Pengembang memperbaiki kasus yang dilaporkan dan mempublikasikan aplikasi yang telah diperbarui.

DevOps

DevOps adalah budaya perangkat lunak yang mendobrak batas tradisional antara tim pengembangan dan operasi. Dengan DevOps, pengembang dan insinyur operasi tidak lagi bekerja dalam silo. Sebaliknya, mereka menggunakan alat perangkat lunak untuk meningkatkan kolaborasi dan mengikuti kecepatan rilis pembaruan perangkat lunak yang cepat.

SRE dibandingkan dengan DevOps 

SRE adalah implementasi praktis dari DevOps. DevOps memberikan landasan filosofis tentang apa yang harus dilakukan untuk menjaga kualitas perangkat lunak di tengah-tengah waktu pengembangan yang semakin singkat. Rekayasa keandalan situs menawarkan jawaban tentang bagaimana mencapai kesuksesan DevOps. SRE memastikan bahwa tim DevOps mencapai keseimbangan yang tepat antara kecepatan dan stabilitas. 

Apa saja tanggung jawab seorang insinyur keandalan situs?

Site reliability engineer adalah ahli IT yang menggunakan alat otomatisasi untuk memantau dan mengamati keandalan perangkat lunak di lingkungan produksi. Mereka juga berpengalaman dalam menemukan masalah dalam perangkat lunak dan menulis kode untuk memperbaikinya. Mereka biasanya adalah mantan administrator sistem atau insinyur operasi dengan keterampilan pengkodean yang baik. Berikut ini adalah beberapa tanggung jawab keandalan situs.

Operasi

Insinyur keandalan situs menghabiskan hingga setengah dari waktu mereka dalam pekerjaan operasi. Ini mencakup beberapa tugas, seperti berikut ini: 

  • Tanggap insiden darurat
  • Manajemen perubahan
  • Manajemen infrastruktur TI
  • Para teknisi menggunakan alat bantu SRE untuk mengotomatiskan beberapa tugas operasi dan meningkatkan efisiensi tim.

Dukungan sistem

Teknisi keandalan lokasi bekerja sama dengan tim pengembangan untuk membuat fitur baru dan menstabilkan sistem produksi. Mereka membuat proses SRE untuk seluruh tim perangkat lunak dan siap sedia untuk mendukung masalah eskalasi. Lebih penting lagi, tim keandalan lokasi menyediakan prosedur terdokumentasi kepada dukungan pelanggan untuk membantu mereka menangani keluhan secara efektif. 

Peningkatan proses

Insinyur keandalan lokasi meningkatkan siklus hidup pengembangan perangkat lunak dengan mengadakan tinjauan pasca insiden. Tim SRE mendokumentasikan semua masalah perangkat lunak dan solusi masing-masing dalam basis pengetahuan bersama. Hal ini membantu tim perangkat lunak merespons masalah serupa secara efisien di masa mendatang. 

Apa saja alat bantu rekayasa keandalan lokasi yang umum digunakan?

Tim rekayasa keandalan lokasi (SRE) menggunakan berbagai jenis alat bantu untuk memfasilitasi pemantauan, pengamatan, dan respons insiden. 

Orkestrator kontainer 

Pengembang perangkat lunak menggunakan orkestrator kontainer untuk menjalankan aplikasi yang dikontainerkan di berbagai platform. Aplikasi yang dikontainerisasi menyimpan file kode dan sumber daya terkait dalam satu paket yang disebut kontainer. Misalnya, insinyur perangkat lunak menggunakan Amazon Elastic Kubernetes Service (Amazon EKS) untuk menjalankan dan menskalakan aplikasi cloud. 

Alat bantu manajemen panggilan 

Alat manajemen on-call adalah perangkat lunak yang memungkinkan tim SRE merencanakan, mengatur, dan mengelola personel pendukung yang menangani masalah perangkat lunak yang dilaporkan. Tim SRE menggunakan perangkat lunak ini untuk memastikan selalu ada tim dukungan yang siap siaga untuk menerima peringatan tepat waktu tentang masalah perangkat lunak. 

Alat bantu respons insiden 

Alat respons insiden memastikan jalur eskalasi yang jelas untuk masalah perangkat lunak yang terdeteksi. Tim SRE menggunakan alat respons insiden untuk mengkategorikan tingkat keparahan kasus yang dilaporkan dan menanganinya dengan segera. Alat bantu ini juga dapat memberikan laporan analisis pasca insiden untuk mencegah masalah serupa terjadi lagi. 

Alat manajemen konfigurasi

Alat manajemen konfigurasi adalah perangkat lunak yang mengotomatiskan alur kerja perangkat lunak. Tim SRE menggunakan alat bantu ini untuk menghilangkan tugas-tugas yang berulang dan menjadi lebih produktif. Misalnya, teknisi keandalan lokasi menggunakan AWS OpsWorks untuk secara otomatis mengatur dan mengelola server di lingkungan AWS. 

Bagaimana AWS membantu dalam hal rekayasa keandalan lokasi?

Layanan Manajemen dan Tata Kelola AWS menyediakan alat yang diperlukan bagi tim perangkat lunak untuk membangun, menskalakan, dan menerapkan aplikasi terdistribusi tanpa mengorbankan keandalan sistem. Tim rekayasa keandalan lokasi (SRE) menggunakan berbagai layanan Manajemen dan Tata Kelola AWS untuk memantau dan mengatur sumber daya komputasi AWS dan lokal:

  • Katalog Layanan AWS memungkinkan tim SRE membuat katalog, mengelola, dan menerapkan layanan TI dengan cepat
  • AWS Systems Manager menyediakan pusat manajemen terpusat bagi para insinyur keandalan di lokasi untuk mendapatkan wawasan operasional tentang sumber daya komputasi perangkat lunak
  • AWS Proton adalah alat manajemen otomatis untuk menerapkan aplikasi yang terkontainerisasi dan tanpa server

Disadur dari: amazon.com