Apa itu rekayasa keandalan situs (SRE)?

Ilustrasi dengan kolase piktogram peralatan, lengan robot, ponsel

Diterbitkan: 8 Oktober 2024
Kontributor: Camilo Quiroz Vazquez, Michael Goodwin

Apa itu rekayasa keandalan situs (SRE)?

Rekayasa keandalan situs (sre) adalah praktik rekayasa perangkat lunak yang menggabungkan DevOps dan operasi tradisional untuk memecahkan masalah pelanggan, mengotomatiskan tugas-tugas operasi, mempercepat pengiriman perangkat lunak, dan meminimalkan risiko TI.
 


SRE mendukung ketahanan, redundansi, dan keandalan dalam siklus DevOps dan menangani implementasi program perangkat lunak sehari-hari. Teknisi keandalan situs umumnya mengikuti aturan lima puluh-lima puluh: mereka mendedikasikan separuh waktu mereka untuk memecahkan masalah pelanggan seperti mengelola eskalasi dan menanggapi insiden, dan separuh lainnya untuk mengotomatiskan operasi TI. Operasi ini meliputi manajemen sistem produksi, manajemen perubahan, respons insiden, dan respons darurat.

Tim SRE menjembatani kesenjangan antara bagaimana pengembang perangkat lunak menginginkan program berfungsi dan bagaimana program tersebut berfungsi dalam situasi dunia nyata. Teknisi keandalan lokasi bekerja secara langsung dengan pelanggan untuk memecahkan masalah mereka dan mengumpulkan data tentang pengalaman pengguna. Tim SRE memberikan data ini kembali ke tim pengembangan memberi mereka insight yang lebih dalam tentang kinerja perangkat lunak dan pembaruan apa yang perlu dilakukan.

SRE memahami bahwa kegagalan tidak dapat dihindari. Tugas mereka adalah mengidentifikasi (melalui proses seperti analisis akar penyebab) penyebab masalah langsung dan menggunakan data pemantauan dan pencatatan untuk memprediksi potensi kegagalan di masa depan. Kemudian, mereka menyiapkan otomatisasi untuk memecahkan masalah ini, membangun ketahanan dan redundansi ke dalam sistem.

Pengawasan otomatis terhadap sistem perangkat lunak skala besar ini mengurangi kebutuhan administrator sistem untuk menyelesaikan tugas operasi TI secara manual. Menghilangkan fungsi manual membantu tim TI menghemat waktu, menjalankan tugas operasi dengan lebih akurat, dan fokus pada pemeliharaan kinerja aplikasi.

Bagaimana cara kerja rekayasa keandalan situs?

Seorang insinyur keandalan situs adalah posisi teknis yang membutuhkan pengalaman dalam pengembangan perangkat lunak dan operasi TI. Dengan memahami posisi ini, tim SRE dapat memenuhi peran mereka dalam mendukung siklus pengembangan perangkat lunak. SRE didasarkan pada strategi ketahanan melalui otomatisasi proses yang konsisten.

Secara tradisional, praktik rekayasa keandalan situs berfokus pada pelaksanaan operasi dan berbagai tugas administrasi sistem. Tugas-tugas ini termasuk menganalisis log, penyetelan kinerja, menerapkan patch, menguji lingkungan produksi, manajemen insiden, dan melakukan postmortem. Tugas-tugas ini awalnya dilakukan secara manual, yang memakan waktu dan rentan terhadap kesalahan manusia. Modernisasi rekayasa keandalan situs melibatkan otomatisasi tugas-tugas manual ini.

Pemantauan dan pencatatan memainkan peranan kunci dalam SRE. Tim SRE menggunakan alat pemantauan untuk melacak apa yang terjadi dalam sistem perangkat lunak secara real-time. Pemantauan memungkinkan perbaikan masalah teknis langsung dan membantu tim mengantisipasi masalah di masa mendatang serta mengatasinya sebelum terjadi.

Log berfungsi sebagai arsip yang dapat dianalisis untuk mendapatkan insight tentang bagaimana sistem berfungsi dan meningkatkan observabilitas sistem. Pencatatan membuat peta jalan yang membantu tim sre memahami rangkaian peristiwa yang menyebabkan kesalahan yang tidak terduga. Insinyur dapat mengotomatiskan remediasi kesalahan dan mencegahnya terulang kembali. Pemantauan dan pencatatan membantu para insinyur mengidentifikasi titik-titik kegagalan dan secara terprogram memecahkan masalah melalui otomatisasi sehingga mereka tidak perlu diperbaiki secara manual.

Tim SRE juga mencari kekurangan sistem melalui proses yang disebut rekayasa kekacauan. Rekayasa kekacauan adalah strategi yang diterapkan oleh teknisi keandalan lokasi untuk secara sengaja menyebabkan kegagalan dalam lingkungan produksi dan pra-produksi. Tujuan dari chaos engineering adalah untuk memahami dampak kegagalan produksi terhadap sistem perangkat lunak dan mengembangkan rencana yang lebih kuat untuk memitigasi kegagalan di masa depan. 

SRE juga berfokus pada perencanaan kapasitas, sebuah proses yang menentukan sumber daya yang dibutuhkan untuk menjalankan fungsi bisnis penting, menskalakan fungsi bisnis tersebut dan mengembangkan aplikasi dan fitur baru. Selain itu, tim SRE membuat metrik yang digunakan untuk mengevaluasi pengiriman pembaruan dan implementasi fitur baru.

Metrik rekayasa keandalan situs

Insinyur keandalan lokasi menggunakan berbagai metrik untuk membantu melacak konsistensi pemberian layanan dan keandalan sistem perangkat lunak, termasuk:

Perjanjian tingkat layanan (SLA)

SLA menetapkan syarat dan ketentuan antara penyedia layanan dan pelanggan. Perjanjian ini menentukan tingkat kinerja, indikator yang disepakati untuk mengukur kinerja, dan konsekuensi jika gagal memberikan layanan. Layanan umum yang diuraikan dalam SLA adalah waktu aktif, atau jumlah waktu layanan tersedia.

Anggaran kesalahan

Anggaran kesalahan adalah alat yang digunakan tim SRE untuk secara otomatis merekonsiliasi keandalan layanan perusahaan dengan kecepatan pengembangan perangkat lunak dan inovasi. Anggaran kesalahan menetapkan tingkat risiko kesalahan yang sejalan dengan perjanjian tingkat layanan.

Target waktu aktif 99,999%, yang dikenal sebagai "ketersediaan lima-sembilan", adalah ambang batas SLA yang umum. Itu berarti anggaran kesalahan bulanan—jumlah total waktu henti yang diperbolehkan tanpa konsekuensi kontrak untuk bulan tertentu—adalah sekitar 4 menit dan 23 detik. Jika tim pengembang ingin mengimplementasikan fitur baru atau peningkatan pada sistem, sistem tidak boleh melebihi anggaran kesalahan.

Anggaran kesalahan membantu tim pengembangan dan tim operasi meningkatkan stabilitas dan kinerja layanan. Mereka juga membantu membuat keputusan berbasis data tentang penerapan fitur atau aplikasi baru dan memaksimalkan inovasi dengan mengambil risiko dalam batas yang dapat diterima.

Tujuan tingkat layanan (SLO)

Tim SRE juga membantu menetapkan tujuan tingkat layanan (SLOs), target kinerja yang disepakati untuk layanan tertentu selama periode tertentu. SLO mendefinisikan status layanan yang diharapkan dan membantu para pemangku kepentingan mengelola kesehatan layanan tertentu dan memenuhi SLA.

Indikator tingkat layanan (SLIs)

SLOs diukur dengan indikator tingkat layanan (SLI). SLI adalah pengukuran kuantitatif yang disajikan sebagai persentase, rata-rata atau tingkat. Mereka termasuk pengukuran aktual layanan seperti waktu aktif, latensi, throughput, dan tingkat kesalahan.

SRE dan DevOps

DevOps adalah metodologi pengembangan perangkat lunak yang mempercepat pengiriman aplikasi dan layanan berkualitas tinggi dengan menggabungkan dan mengotomatiskan pekerjaan pengembangan perangkat lunak dan tim operasi TI. DevOps membantu mengotomatiskan siklus hidup pengembangan perangkat lunak (SDLC), memberikan tim pengembangan dan operasi lebih banyak tanggung jawab bersama dan memberikan semua pemangku kepentingan relevan input ke dalam SDLC.

SRE dan DevOps merupakan strategi yang saling melengkapi dalam rekayasa perangkat lunak yang memecah silo dan menghasilkan pengiriman perangkat lunak yang lebih efisien dan andal.

Sementara tim DevOps fokus untuk menjawab pertanyaan, “Apa yang harus dilakukan oleh perangkat lunak ini?” Tim SRE bekerja untuk menjawab, “Bagaimana perangkat lunak ini dapat diterapkan dan dipelihara, sehingga berfungsi sesuai kebutuhan?” Tim SRE menyediakan tim DevOps data dunia nyata tentang data kinerja perangkat lunak, membawa keseimbangan data praktis ke dunia teoritis pengembangan perangkat lunak.

Seperti SRE, DevOps membuat perusahaan lebih tangkas dengan menyeimbangkan kebutuhan untuk mengirimkan aplikasi dan perubahan lebih cepat dengan kebutuhan untuk menghindari “merusak” lingkungan produksi. Baik SRE maupun DevOps bertujuan mencapai keseimbangan ini dengan menetapkan risiko kesalahan yang dapat diterima. Tim DevOps berfokus pada pembuatan pembaruan dan penerapan fitur baru sementara praktik SRE berfungsi melindungi keandalan sistem seiring peningkatan skalanya.

Tim DevOps dan SRE merampingkan metode komunikasi dan membangun loop masukan yang konstan. Lingkaran seperti itu mungkin bekerja seperti ini: Ketika tim SRE mengungkap akar masalah kesalahan, tim mengirimkan temuannya ke tim DevOps yang dapat mengembangkan pembaruan untuk versi perangkat lunak berikutnya. Sementara itu, SRE membangun otomatisasi untuk menyelesaikan masalah dan melacak data pemantauan dan pencatatan untuk memastikan bahwa masalah telah diselesaikan.

 

Manfaat SRE

Selain mendukung kesuksesan DevOps, rekayasa keandalan situs dapat membantu organisasi:

  • Dapatkan visibilitas yang lebih besar ke dalam kesehatan layanan dengan melacak metrik, log, dan pelacakan di semua layanan organisasi dan perkuat kemampuan analisis akar masalah.

  • Meningkatkan keandalan sistem perangkat lunak melalui interaksi sehari-hari dengan pelanggan dan berbagi data pengguna secara kolaboratif dengan tim DevOps.

  • Skala sistem perangkat lunak dengan mengotomatiskan proses manual yang menghilangkan kerja keras, mengurangi kesalahan, dan menyelesaikan masalah dengan lebih tepat.

  • Mengukur biaya waktu henti dan gangguan dengan membantu tim pengembangan dan operasi memahami biaya pelanggaran SLA, dan membantu manajemen mengukur dampak keandalan sistem terhadap produksi, penjualan, pemasaran, layanan pelanggan, dan fungsi bisnis lainnya.

  • Mengoptimalkan respons insiden dengan membangun proses panggilan yang efisien dan menyederhanakan alur kerja peringatan.

  • Bangun pusat operasi jaringan modern dengan menggabungkan pemahaman mendalam tentang operasi TI dengan machine learning dan otomatisasi untuk mengirimkan peringatan langsung kepada orang yang bertanggung jawab mengatasi masalah.
SRE, cloud, dan pengembangan cloud native

Ketika organisasi bermigrasi dari TI tradisional dan pusat data lokal ke hybrid cloud, mereka sering kali menghasilkan volume data operasional yang lebih besar. SRE memainkan peran penting dalam penggunaan data ini untuk mengotomatiskan administrasi sistem, operasi, dan respons insiden serta meningkatkan keandalan perusahaan seiring dengan semakin kompleksnya lingkungan TI.

Pendekatan pengembangan cloud native —khususnya, membangun aplikasi sebagai layanan mikro dan menerapkannya dalam kontainer—dapat menyederhanakan pengembangan, penerapan, dan skalabilitas aplikasi. Tetapi pengembangan cloud native juga menciptakan lingkungan yang semakin terdistribusi yang mempersulit administrasi, operasi IT, dan manajemen.

Tim SRE dapat mendukung laju inovasi yang cepat yang dimungkinkan oleh pendekatan cloud native dan meningkatkan keandalan sistem, tanpa memberi lebih banyak tekanan operasi pada tim DevOps.

Solusi terkait
IBM Instana Observability

Tingkatkan pemantauan kinerja aplikasi Anda guna memberikan konteks yang Anda butuhkan untuk menyelesaikan insiden dengan lebih cepat.

Jelajahi IBM Instana Observability
Remediasi insiden dengan IBM Instana

Atasi masalah sebelum memengaruhi pelanggan Anda dengan pengambilan keputusan yang ditanami AI.

Jelajahi remediasi insiden dengan IBM Instana
Pemantauan kaca panel tunggal dengan IBM Instana

Dapatkan pandangan yang komprehensif dan terpusat tentang kesehatan dan kinerja seluruh ekosistem IT Anda dalam satu dasbor.

Jelajahi satu panel pemantauan kaca dengan IBM Instana
Ambil langkah selanjutnya

IBM Instana menyediakan observabilitas real-time yang dapat digunakan oleh semua orang dan siapa saja. Ini memberikan time to value yang cepat sambil memverifikasi bahwa strategi observabilitas Anda dapat mengikuti kompleksitas dinamis lingkungan saat ini dan masa depan. Dari seluler hingga mainframe, Instana mendukung lebih dari 250 teknologi dan terus berkembang. 

Jelajahi IBM Instana Pesan demo langsung