Rekayasa keandalan situs (SRE) adalah praktik rekayasa perangkat lunak yang menggabungkan DevOps dan operasi TI 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.
Teknisi 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. Maksud dari chaos engineering atau rekayasa kekacauan adalah untuk memahami dampak kegagalan produksi terhadap sistem perangkat lunak dan membangun rencana yang lebih kuat untuk mengurangi dampak 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.
Insinyur keandalan lokasi menggunakan berbagai metrik untuk membantu melacak konsistensi pemberian layanan dan keandalan sistem perangkat lunak, termasuk:
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 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.
Tim SRE juga membantu menetapkan tujuan tingkat layanan (SLO), 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.
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.
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 adalah strategi yang saling melengkapi dalam perancangan perangkat lunak yang memecahkan silo dan menghasilkan pengiriman perangkat lunak yang lebih efisien dan handal.
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.
Selain mendukung kesuksesan DevOps, rekayasa keandalan situs dapat membantu organisasi:
Ketika organisasi bermigrasi dari TI tradisional dan pusat data lokal ke hybrid cloud, mereka sering kali menghasilkan volume data operasional yang lebih besar. SRE berperan 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.
Manfaatkan kekuatan AI dan otomatisasi untuk memecahkan masalah secara proaktif di seluruh tumpukan aplikasi.
Pindah melampaui otomatisasi tugas sederhana untuk menangani proses profil tinggi, menghadapi pelanggan, dan menghasilkan pendapatan dengan adopsi dan skala bawaan.
Temukan cara operasi AI untuk TI memberikan insight yang Anda butuhkan untuk membantu mendorong kinerja bisnis yang luar biasa.