Apa itu SRE? Bagaimana Hubungannya dengan DevOps?

  • Post author:
  • Post category:Tutorial

SRE adalah singkatan dari Site Reliability Engineering. Itu dibangun di atas prinsip-prinsip DevOps untuk menghadirkan pendekatan yang dipimpin oleh teknik untuk operasi TI. SRE menggunakan perangkat lunak untuk mengotomatisasi operasi sistem, mengidentifikasi masalah, dan menerapkan resolusi.

Konsep SRE dikembangkan di Google. Ini didasarkan pada gagasan bahwa kode dan perangkat lunak adalah cara paling efektif untuk mengelola sistem skala besar. Prosedur manual yang dimulai oleh tim terpisah membawa risiko pengawasan dan inkonsistensi.

Dalam artikel ini, Anda akan mempelajari apa itu SRE dan bagaimana SRE membantu merampingkan operasi cloud. Kami juga akan menjelaskan di mana SRE tumpang tindih dengan DevOps, serta perbedaannya.

SRE menyangkut manajemen operasi. Ini memasuki proses pengiriman perangkat lunak setelah kode dikembangkan, ditinjau, dan digunakan. Insinyur keandalan situs biasanya mengamati, memelihara, dan mengoptimalkan layanan yang diterapkan tersebut, mengambil alih tanggung jawab administrator.

Karakteristik yang membedakan SRE dibandingkan dengan operasi tradisional adalah penekanannya pada otomatisasi. Kontrol infrastruktur, manajemen perubahan, audit, dan respons insiden semuanya harus diotomatisasi dalam model. Praktisi SRE berfokus pada penyediaan dan menjalankan alat perangkat lunak yang mencapai tugas-tugas ini, alih-alih berinteraksi langsung dengan sistem itu sendiri.

SRE menyatukan berbagai aspek pengalaman manajemen operasi. Menggunakan proses yang digerakkan oleh alat berarti ada lebih sedikit tempat untuk terjadinya masalah. Ini membantu meningkatkan stabilitas seiring pertumbuhan sistem, meskipun ukuran tim SRE tetap statis.

SRE biasanya adalah pengembang perangkat lunak yang juga berpengalaman dalam mengoperasikan layanan produksi. Ini memberi mereka kesadaran holistik tentang proses pengiriman, mulai dari komit kode hingga resolusi insiden. Mereka akan menggunakan pengetahuan ini untuk merancang dan mengimplementasikan mekanisme untuk menyebarkan dan memantau lingkungan hidup.

Karena “keandalan” secara harfiah dalam namanya, tim SRE juga bertanggung jawab untuk mengukur waktu aktif dan merancang cara untuk meningkatkannya. Insinyur SRE menetapkan tujuan tingkat layanan (SLO) yang memberikan target keandalan untuk organisasi. Mereka akan membuat dan mengamati indikator tingkat layanan (SLI) yang menginformasikan apakah tujuan terpenuhi, seperti tingkat kesalahan, permintaan throughput, dan jumlah tiket. SRE akan terlibat dalam penulisan perjanjian tingkat layanan (SLA) yang dibagikan dengan pelanggan juga. Insinyur

SRE adalah penjaga gerbang yang efektif di sekitar penerapan baru. Fokus mereka untuk menjaga stabilitas berarti mereka terkadang akan memicu pembekuan penerapan jika SLO atau SLA akan dilanggar. Tim SRE dapat mengarahkan pengembang untuk fokus menangani penyebab insiden, alih-alih terus meluncurkan pekerjaan baru.

Tidak ada layanan yang diharapkan berjalan dengan keandalan 100%. SRE mengenali ini dengan memberi pengembang “anggaran kesalahan” yang diizinkan untuk “dibelanjakan”. Setelah anggaran tersebut terlampaui oleh bug, tiket, atau pemadaman baru, mengatasi masalah menjadi prioritas semua orang hingga anggaran kesalahan dan SLO dipulihkan.

Bisa jadi teknisi SRE yang menyelesaikan pekerjaan perbaikan ini dengan menulis kode baru. Karena tim SRE memiliki latar belakang di bidang rekayasa perangkat lunak, mereka diperlengkapi untuk menangani masalah atas inisiatif mereka sendiri. Pada saat layanan berjalan dengan baik, orang-orang dalam peran SRE kembali menjadi pengembang biasa. Teknisi SRE Google diharapkan menghabiskan setidaknya separuh waktu mereka untuk pekerjaan pengembangan.

Keseimbangan unik antara pengembangan dan operasi ini membantu menjaga kemampuan teknisi SRE untuk mengawasi proses pengiriman. Tingkat visibilitas mereka sangat berharga dalam hal menemukan risiko yang dapat menyebabkan insiden. Ini juga mendorong para insinyur untuk meminimalkan waktu yang dihabiskan untuk tugas-tugas operasi dengan menerapkan alat-alat baru dan prosedur otomatis. Ini dapat menciptakan siklus mandiri: tingkat otomatisasi yang lebih besar biasanya membuat layanan lebih andal, mengurangi beban kerja operasi untuk tim SRE. Pada gilirannya, para insinyur dibebaskan untuk kembali ke pengembangan, meningkatkan throughput.

Bagaimana SRE Menyelaraskan Dengan DevOps?

DevOps adalah istilah luas yang menjelaskan penggunaan teknologi dan metodologi modern untuk menghadirkan perangkat lunak berkualitas lebih tinggi dengan lebih cepat. Hal ini dicapai dengan mempersempit kesenjangan antara tim pengembangan dan operasi, kemudian melapisi otomatisasi pada proses pengiriman perangkat lunak.

Sejauh ini terdengar mirip dengan SRE. Namun SRE memiliki satu tujuan dalam pikiran – keandalan – sedangkan DevOps mempertimbangkan masalah tangensial juga, seperti efisiensi pengembang dan kecepatan pengiriman. Patut dicatat bahwa DevOps sering didekati sebagai jembatan antara pengembangan dan operasi sementara SRE menggabungkan keduanya. Dalam SRE, tugas-tugas dev dan ops diselesaikan oleh orang yang sama, dengan pengembangan mendapatkan sebagian besar perhatian.

Untuk alasan ini SRE dapat dilihat sebagai implementasi khusus dari DevOps. Meskipun tujuan keseluruhan serupa dan sangat selaras, SRE menjelaskan metode untuk mencapainya: menggunakan anggaran kesalahan, SLO, dan SLI untuk menjaga layanan dari kesalahan, kemudian menerapkan perlindungan yang memungkinkan bias kerja kembali ke pengembangan.

Benjamin Treynor Sloss, Insinyur Google yang menciptakan istilah SRE, menyatakan bahwa SRE dapat dilihat sebagai “implementasi khusus DevOps dengan beberapa ekstensi istimewa.” Atau, Anda dapat membalikkan model dan mendekati DevOps “sebagai generalisasi dari beberapa prinsip inti SRE ke organisasi, struktur manajemen, dan personel yang lebih luas.”

Salah satu cara signifikan yang membedakan SRE dari DevOps adalah ketergantungannya pada data. DevOps sering dilihat sebagai seperangkat prinsip untuk memindahkan kode secara efisien dari stasiun kerja pengembang ke lingkungan produksi. Ini berarti bekerja dalam hal komit, permintaan gabungan, saluran pipa, dan wadah. SRE adalah strategi untuk menyebarkan perubahan dengan keandalan maksimum dan mengurangi kemungkinan regresi. SRE yang efektif membutuhkan pengamatan dan analisis terus-menerus untuk mengetahui di mana kesalahan telah terjadi dan bagaimana kesalahan itu dapat terulang di masa depan. Ini lebih investigatif dan sadar diri daripada implementasi DevOps pada umumnya.

Apakah SRE adalah Langkah Karir yang Baik?

SRE baru-baru ini mulai menarik perhatian arus utama. Menemukan peran SRE dapat menjadi tantangan karena banyak organisasi belum menyadari manfaat model tersebut. Dalam beberapa kasus, bentuk SRE mungkin ada di dalam organisasi tetapi ini mungkin tidak tercermin dalam peran yang mereka iklankan.

Meskipun sifatnya yang khusus, SRE biasanya merupakan langkah karier yang baik. Ini menuntut perpaduan keterampilan, mulai dari pengembangan perangkat lunak hingga operasi layanan dan respons insiden, dengan tingkat kedalaman yang baik di masing-masingnya. Ada beberapa kandidat yang dapat menawarkan ini yang berarti peran SRE cenderung menjadi posisi yang menguntungkan.

Analisis oleh GitLab pada April 2022 menemukan hanya 21.000 lowongan SRE sementara ada 104.000 posisi DevOps. Data dari Glassdoor menunjukkan kisaran gaji hingga $300.000 untuk pekerjaan SRE, dibandingkan dengan $234.000 untuk DevOps.

Pindah ke peran SRE bisa menjadi peluang yang bermanfaat bagi individu yang ingin tetap berada di bidang pengembangan sambil mendapatkan pengalaman langsung operasi layanan. Ini sangat cocok untuk orang yang menganggap peran administrator tradisional terlalu berulang dan praktis. Sebagai SRE, Anda diharapkan untuk mengotomatisasi operasi, mencari peluang untuk meningkatkan kualitas layanan, dan berkontribusi pada upaya pengembangan rutin setelah pager insiden tidak ada lagi.

Conclusion

Site Reliability Engineering menggunakan metode yang umumnya terkait dengan pengembangan perangkat lunak untuk mengotomatiskan operasi layanan. Insinyur SRE adalah pengembang berpengalaman yang juga akrab dengan tantangan menjalankan dan menskalakan layanan dalam produksi. Mereka membentuk rantai alat untuk mengukur dan mengoptimalkan keandalan, mengambil alih tugas yang sebelumnya ditangani oleh administrator sistem khusus.

SRE dapat dilihat sebagai implementasi prinsip-prinsip DevOps. Menunjuk insinyur SRE harus menghasilkan layanan yang lebih tangguh yang dapat menerima perubahan cepat. Ini mencapai tujuan DevOps untuk mempercepat penyebaran perangkat lunak tanpa memengaruhi kualitas. SRE menetapkan strategi khusus yang bekerja untuk hal ini dengan menekankan pengukuran data, serta penyatuan talenta pengembang dan operasi.

Meskipun DevOps sekarang dipahami secara luas di komunitas, SRE tetap menjadi area fokus yang baru muncul bagi banyak organisasi. Bukaan bisa lebih sulit ditemukan tetapi cenderung lebih menguntungkan saat muncul. Ini mencerminkan beragam keterampilan yang harus dimiliki oleh para insinyur SRE. Permintaan kemungkinan akan tumbuh pesat selama beberapa tahun ke depan, jadi sekarang saatnya bagi kandidat dan organisasi untuk mulai memperhatikan pergeseran menuju SRE.

Itulah berita seputar Apa itu SRE? Bagaimana Hubungannya dengan DevOps?, semoga bermanfaat. Disadur dari HowToGeek.com.