5 Perbedaan Dasar Antara DevOps dan SRE Yang Harus Anda Ketahui
Diterbitkan: 2021-02-22Dunia Teknologi Informasi dan pengembangan perangkat lunak sering menggabungkan DevOps dengan SRE untuk mengartikan satu hal yang sama. Namun, ada perbedaan besar antara keduanya. Sementara Site Reliability Engineering (SRE) telah mendapatkan daya tarik dalam beberapa tahun terakhir, DevOps telah ada lebih lama (bahkan sebelum istilah DevOps ada).
Sederhananya, DevOps dan SRE adalah praktik yang diterapkan untuk menghadirkan perangkat lunak lebih cepat. Satu-satunya perbedaan antara keduanya adalah dalam pendekatan mereka; DevOps berfokus pada pengurangan siklus pengembangan perangkat lunak, dan SRE berkonsentrasi pada penghapusan kelemahan sistem untuk mencapai tujuan yang sama.
Dalam artikel ini, kita akan melihat cara mendasar di mana DevOps dan SRE berbeda satu sama lain. Sebelum kita melakukannya, mari kita mulai dengan memahami apa itu DevOps dan SRE.
Daftar isi
Apa itu DevOps?
Dalam kata-kata Gene Kim, penulis The DevOps Handbook dan The Phoenix Project,
“DevOps adalah seperangkat norma budaya dan praktik teknologi yang memungkinkan aliran cepat pekerjaan yang direncanakan dari, antara lain, pengembangan, melalui pengujian ke dalam operasi sambil menjaga keandalan, operasi, dan keamanan kelas dunia. DevOps bukan tentang apa yang Anda lakukan, tetapi apa hasil Anda.”
Jadi, DevOps terutama berfokus pada transformasi praktik budaya di dalam organisasi untuk mempercepat siklus hidup pengembangan perangkat lunak (SDLC). Itu tidak ditargetkan pada seseorang, kelompok, atau posisi. DevOps bertujuan untuk memperkuat kolaborasi antara operasi Teknologi Informasi dan tim pengembangan perangkat lunak.
Apa yang dilakukannya dan bagaimana melakukannya tidak penting; hanya hasil dari proses yang diberikan pengakuan.
DevOps menggunakan serangkaian prinsip untuk mengintensifkan keterpaparan tim rekayasa perangkat lunak terhadap sistem produksi dan memungkinkan tim operasi TI untuk meningkatkan perbedaan ke tim pengembangan secara lebih efisien. Faktanya, SRE memainkan peran penting dalam organisasi DevOps dengan memfasilitasi pengujian proaktif, kecepatan, memungkinkan observabilitas, dan meningkatkan keandalan layanan. DevOps mendorong setiap organisasi yang berpusat pada DevOps untuk beroperasi sesuai dengan prinsip budaya yang digariskan dalam modelnya CALMS.
Apa itu SRE?
SRE, kependekan dari Site Reliability Engineering, adalah istilah yang diciptakan oleh Senior VP Google Ben Treynor yang bertugas mengawasi operasi teknis.
Drew Farnsworth (dari Green Lane Design) menjelaskan, “Saya biasanya suka memikirkan SRE sebagai sistem di mana pengembangan mengendalikan operasi. Ini adalah sistem di mana lingkungan dipecah menjadi komponen paling dasar dari tumpukan TI dan diluncurkan dengan praktik terbaik yang dimasukkan ke dalam perangkat keras.”
Pada dasarnya, tim SRE dengan keahlian dalam pengembangan perangkat lunak ditugaskan untuk menyelesaikan masalah dalam produksi sistem sambil menjaga keseimbangan antara kecepatan pengiriman dan keandalan sistem. Dengan cara ini, pendekatan SRE menyatukan personel pengembangan perangkat lunak di bawah peran operasi untuk menerapkan praktik rekayasa terstruktur untuk menegakkan kebijakan organisasi.
Mereka memastikan bahwa sistem tersedia dan berjalan secara efisien setiap saat bagi tim perangkat lunak untuk mengembangkan layanan teknis guna meningkatkan keandalan sistem. Merupakan tanggung jawab SRE untuk mengidentifikasi potensi kelemahan sebelum menjadi masalah besar.
DevOps vs SRE: Perbedaan Teratas Antara DevOps dan SRE
Dalam praktiknya, DevOps dan SRE harus dilihat sebagai disiplin pelengkap di mana SRE sebagai bagian dari struktur DevOps-sentris difokuskan untuk meningkatkan keandalan layanan teknis mereka. Jadi, pada dasarnya tidak ada yang namanya DevOps versus SRE.
Oleh karena itu, apa yang kami lakukan di bagian ini adalah menilai perbedaan mendasar antara DevOps dan SRE.
Menerapkan Perubahan
Agar pembaruan sering terjadi dan pengguna memiliki akses ke teknologi yang lebih baru dan lebih relevan, baik DevOps maupun SRE bermaksud untuk mempercepatnya. Namun, DevOps bergerak maju secara bertahap, dengan hati-hati, sementara SRE memperhitungkan biaya kegagalan untuk bergerak lebih cepat.
Keduanya menerapkan otomatisasi dan menggunakan alat untuk mencapai tujuan ini.
Mengenai Kegagalan sebagai Normal
DevOps sangat besar dalam menerima kegagalan dan menganggapnya sebagai pembelajaran penindasan. Untuk alasan itu, ia mendorong budaya tanpa cela dengan menerima bahwa kegagalan adalah bagian dari proses dan tidak fokus untuk membuat sistem 100% toleran terhadap kesalahan. Contohnya adalah Netflix dengan Simian Army-nya.
SRE, di sisi lain, mendukung postmortem tanpa cela. Tujuan di balik ini adalah untuk mengidentifikasi penyebab kegagalan, menetapkan akuntabilitas dan bekerja untuk menghindari kegagalan serupa di masa depan. Berapa banyak kegagalan yang dapat dialami sistem termasuk dalam anggaran kesalahan. Metrik SLI, SLO, dan SLA menentukan ini untuk mengurangi biaya produksi. Pada dasarnya, SRE mengadopsi praktik pemantauan dan peringatan proaktif untuk mencegah potensi kegagalan.
Pelajari Kursus Pengembangan Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.
Otomasi vs Inovasi
DevOps sangat mementingkan otomatisasi. Dalam lingkungan yang berfokus pada DevOps, ini diterjemahkan ke dalam sistem yang diotomatisasi sebanyak mungkin, menghasilkan rilis yang membosankan. Setelah pengembang membuat kode, sebagian besar aktivitas berikut, jika tidak semua, harus diotomatisasi.
Oleh karena itu, alasan DevOps untuk mengejar CI/CD adalah untuk mengembangkan sistem berkualitas tinggi dengan kecepatan yang lebih tinggi.
Alasan SRE untuk mengejar CI/CD berbeda, mereka ditujukan untuk mengurangi biaya kegagalan. Setiap tugas umum, umum, atau berulang dalam operasi seperti penerapan dan pencadangan dianggap kurang layak untuk diperhatikan. Oleh karena itu, SRE menyisihkan waktu tertentu untuk menghindari kerja keras operasional. Ini dilakukan agar mereka dapat mengejar tugas yang lebih menarik seperti mengeksekusi atau berinovasi teknologi baru atau aktivitas terkait arsitektur.
Lihat : Proyek DevOps untuk Pemula
Meruntuhkan Silo Organisasi
Pengembang dan operator berjalan ke dalam konflik ketika datang ke proses penyebaran. Sementara pengembang akan mendapat manfaat dari fitur yang dikerahkan segera setelah dikodekan, orang-orang operasi berfokus pada membuat sistem tersedia yang menghambat proses penerapan.
Baik DevOps dan SRE berbeda dalam cara mereka menghapus silo dalam suatu organisasi.
DevOps, seperti yang dijelaskan dalam The DevOps Handbook, mendekati masalah ini dengan memasukkan praktik seperti beroperasi dalam batch yang lebih kecil, dan mengelola konfigurasi dengan lebih baik.
SRE tidak hanya bertujuan untuk mengoptimalkan aliran antar tim tetapi juga membantu sistem dalam produksi. Mereka melakukannya dengan mengintegrasikan ke dalam tim sebagai konsultan dan mendukung pengembang dengan berbagi tanggung jawab menjalankan sistem. Beginilah cara SRE memecah silo dalam sebuah organisasi.
Mengukur Implementasi yang Sukses
Metrik DevOps semuanya tentang kecepatan operasi; ini termasuk seberapa sering penerapan dilakukan, waktu yang dibutuhkan untuk melakukannya, dan seberapa sering mereka mengalami masalah.
Sesuai laporan 2017 dari Wayang dan DORA, mengukur keberhasilan implementasi di DevOps bergantung pada hal berikut:
- frekuensi di mana penerapan terjadi
- durasi waktu antara komit kode dan penerapannya
- frekuensi di mana penerapan gagal
- waktu yang dibutuhkan untuk pulih dari kegagalan penerapan
Putaran umpan balik ini diterapkan untuk membantu DevOps meningkatkan kualitas sistem sambil memfasilitasi perubahan pada eksperimen.
SRE, di sisi lain, bekerja untuk meningkatkan sistem sambil tetap mempertimbangkan keandalannya. Ini mempertimbangkan metrik kunci berikut untuk menentukan implementasi yang sukses:
- tujuan tingkat layanan (SLO)
- indikator tingkat layanan (SLI)
- perjanjian tingkat layanan (SLA)
Metrik yang disebutkan di atas adalah indikator keandalan sistem. Metrik ini menentukan sebelumnya apakah rilis untuk perubahan akan mencapai produksi atau tidak.
Di SRE, metrik kecepatan dan kualitas ini berguna saat membuat anggaran kesalahan dan meningkatkan keandalan sistem daripada mengerjakan fitur baru.
Baca: Gaji Insinyur DevOps di India
Kesimpulan
Google telah menerbitkan eBuku tentang bagaimana mereka menerapkan Rekayasa Keandalan Situs dalam sistem produksi mereka di mana Treynor menjelaskan SRE sebagai,
“SRE adalah apa yang terjadi ketika Anda meminta seorang insinyur perangkat lunak untuk merancang tim operasi.”
Dalam hal perbedaan DevOps dan SRE, yang perlu Anda ingat adalah bahwa SRE didorong oleh pengembang, bukan tim operasi. Baik pemeliharaan dan pemantauan sebagian besar berada di bawah kendali pengembang. Itulah yang terutama membedakan kedua disiplin ilmu tersebut.
Jika Anda tertarik untuk mempelajari lebih lanjut tentang DevOps besar, pengembangan tumpukan penuh, lihat Program PG Eksekutif upGrad & IIIT-B dalam Pengembangan Perangkat Lunak- Spesialisasi dalam Pengembangan Tumpukan Penuh yang dirancang untuk profesional yang bekerja dan menawarkan 500+ jam pelatihan yang ketat, 9+ proyek dan tugas, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.