Site reliability engineer (SRE) adalah posisi spesialis yang bekerja sama dengan pengembang software untuk memastikan sistem komputasi sebuah organisasi tetap skalabel, stabil, dan dapat diprediksi. Posisi ini membutuhkan seseorang yang nyaman bekerja di dua dunia sekaligus: rekayasa perangkat lunak dan operasional IT.
Istilah SRE pertama kali diperkenalkan oleh Google sekitar tahun 2003, ketika perusahaan tersebut merekrut Ben Treynor Sloss untuk memimpin tim insinyur perangkat lunak dalam mengelola lingkungan produksi. Google saat itu membutuhkan pendekatan baru untuk menangani sistemnya yang besar, sekaligus terus menambahkan fitur baru dan meningkatkan pengalaman pengguna (UX).
Walaupun tugas-tugas site reliability engineering dulunya dilakukan oleh tim operasional, kini SRE modern memanfaatkan machine learning (ML) untuk mengotomatisasi pekerjaan yang sebelumnya dilakukan secara manual. Biasanya, seorang SRE bertanggung jawab dalam pemilihan alat infrastruktur, pengelolaan perubahan produksi, serta penentuan respons darurat. SRE umumnya menghabiskan hingga 50% waktunya untuk tugas operasional seperti menangani insiden, siaga (on-call), dan intervensi manual, sementara sisanya untuk coding dan otomasi. Namun, pembagian tugas ini bisa bervariasi tergantung pada model bisnis dan budaya perusahaan.
Keterampilan Site Reliability Engineer
Peran SRE telah berkembang lebih jauh dari sekadar administrator sistem (sysadmin). Beberapa keterampilan yang dibutuhkan untuk menjadi SRE meliputi gelar sarjana di bidang ilmu komputer atau bidang terkait serta pengalaman dalam menulis kode tingkat produksi menggunakan setidaknya satu bahasa pemrograman berbasis command-line tingkat tinggi (seperti Java, C/C++, dan Go) serta satu bahasa dinamis (seperti Ruby, Python, dan Node.js).
Keterampilan tambahan yang sering dicari meliputi pengalaman dalam jaringan tingkat lanjut, administrasi Linux/Unix, pemrograman sistem, sistem terdistribusi, database, atau rekayasa cloud. Banyak perusahaan juga mencari SRE dengan pengalaman di bidang analisis data dan infrastruktur sebagai kode (IaC), serta pengelolaan klaster server, load balancing, dan pemantauan sistem.
Kemampuan dalam teknologi container dan layanan cloud utama juga menjadi nilai tambah. Selain keterampilan teknis, soft skills seperti komunikasi yang baik juga sangat dihargai.
Perbedaan Site Reliability Engineering dan DevOps
Site reliability engineering dan DevOps memiliki tujuan yang mirip, yaitu melibatkan tim dengan keahlian beragam dalam pengembangan software dari tahap desain hingga operasional, mengotomatisasi tugas yang berulang, serta menerapkan prinsip rekayasa dalam operasional IT.
Namun, ada beberapa perbedaan utama. DevOps mencakup peran yang lebih luas, tidak terbatas hanya pada IT, sedangkan SRE lebih berfokus pada dukungan operasional IT dalam pengembangan dan penerapan software di lingkungan produksi. Selain itu, meskipun para pemimpin bisnis sering terlibat dalam DevOps, mereka jarang langsung terlibat dalam praktik SRE.