Apa perbedaan antara SRE dan DevOps?


57

Apa perbedaan antara SRE dan DevOps?

Situs Keandalan Rekayasa dan Pengembangan Operasi tampaknya tumpang tindih banyak detail. Bagaimana saya tahu kelompok mana yang bertanggung jawab untuk apa, dan bagaimana saya tahu pekerjaan apa yang sesuai untuk keahlian saya?

Sepertinya SRE adalah tentang menjaga server dan jaringan, dan DevOps adalah tentang menjaga kode, apakah itu benar? Bukankah masih ada cukup banyak tumpang tindih antara keduanya?


3
Saya pikir DevOps telah disalahgunakan sebagai istilah yang berarti apa-apa atau tidak sama sekali pada saat ini.
anak ayam

1
Perusahaan yang saya ajak bicara memiliki tim SRE dan DevOps. Mereka memberi tahu saya bahwa DevOps digunakan untuk membuat aplikasi baru (0-6 bulan) dan SRE memelihara aplikasi lama. Keduanya adalah pengembang yang menggunakan aplikasi otomatisasi, kode dan dirilis.
Paul Totzke

1
Saya pikir Googles buku tentang SRE akan baik baca untuk memahami apa itu: landing.google.com/sre
Kyle Steenkamp

Jawaban:


49

DevOps adalah tentang menjaga kode, apakah itu benar?

DevOps bukan "hanya" tentang kode, atau sistem, atau satu hal. DevOps adalah istilah yang sangat umum yang mencakup semua hal yang berkaitan dengan pengiriman perangkat lunak.

Rekayasa Keandalan Situs adalah istilah yang dipopulerkan oleh Google. Dari artikel ini https://landing.google.com/sre/interview/ben-treynor.html kita bisa menyaring TL mereka; DR:

Pada dasarnya, itulah yang terjadi ketika Anda meminta insinyur perangkat lunak untuk merancang fungsi operasi.

Operasi, Teknik, dan Pengembangan Perangkat Lunak kabur bersama. Tingkat otomatisasi yang diperlukan untuk membuat dan memelihara infrastruktur yang matang membutuhkan keterampilan dari ketiganya. SRE adalah admin, dan insinyur, dan pengembang.

Lihat juga: http://shop.oreilly.com/product/0636920041528.do


6
DevOps tidak terbatas hanya pada perangkat lunak, itu adalah kesalahpahaman. Ini harus mengikat semua jalan ke desain produk, persyaratan produk, dokumentasi, dll. Seharusnya mengikuti seluruh rantai nilai dari pelanggan kembali ke pelanggan. Membatasi pandangan mengarah pada pengurangan dampak dan akhirnya kesalahpahaman tentang peran sebagai insinyur rilis yang lebih canggih.
Jiri Klouda

Saya belum memahami perbedaan antara DevOps Engineeringdan di SRE workluar yang satu itu adalah akronim yang dikembangkan oleh Google dan didukung oleh buku (gratis!) Yang cukup keren.
BlackVegetable

Insinyur Keandalan Situs adalah judul aktual dan uraian tugas. Ini menyiratkan apa yang dikatakannya. Judul yang dapat menyiratkan DevOps di sisi perangkat lunak adalah Platform Engineer, tempat Anda membangun dan mengotomatiskan platform untuk digunakan oleh pengembang. Sementara itu SRE adalah orang yang bertanggung jawab atas apa yang biasanya merupakan operasi biasa. Ini sedikit anekdotal tetapi mungkin bisa membantu Anda memahami @BlackVegetable.
Matt O.

1
Ada banyak video YouTube hebat dari Seth Vargo dan Liz Fong (Google). Mereka menjelaskan: "SRE class mengimplementasikan DevOps." SRE adalah praktik nyata yang diformalkan yang mengikuti banyak prinsip DevOps.
Dave Swersky


21

Dave Swersky telah memposting tanggapan yang sangat baik di atas dengan definisi Ben Treynor tentang SRE, yang sama menyedihkannya seperti di tahun 2003.

Pada dasarnya, itulah yang terjadi ketika Anda meminta insinyur perangkat lunak untuk merancang fungsi operasi.

Jadi, dalam upaya untuk mendefinisikan "DevOps" lebih lanjut, berikut adalah kutipan dari buku Effective DevOps oleh Jennifer Davis & Katherine Daniels:

Devops adalah cara berpikir dan cara bekerja. Ini adalah kerangka kerja untuk berbagi cerita dan mengembangkan empati ... [itu] bukan hanya metodologi pengembangan perangkat lunak lain.

Ractices [P] dapat mencakup metode pengembangan perangkat lunak, atau fitur-fitur seperti otomatisasi infrastruktur dan pengiriman terus-menerus, [meskipun] itu jauh lebih dari sekadar jumlah bagian-bagian ini.

Sementara konsep-konsep ini saling terkait dan mungkin sering terlihat di lingkungan devops, berfokus hanya pada mereka melewatkan gambar yang lebih besar - aspek budaya dan interpersonal yang memberikan kekuatan devops.

Singkatnya: SRE yang efektif akan memanfaatkan praktik DevOps.

-

Juga:

Bagaimana saya tahu kelompok mana yang bertanggung jawab untuk apa?

Kepemilikan tidak boleh implisit; menyampaikan!


17

Rekayasa Keandalan Situs berada di bawah operasi yang kurang lebih tradisional, tetapi sangat otomatis dan terkontrol versi, yang juga disebut Infrastruktur sebagai Kode . Ini adalah peran vertikal yang didefinisikan dengan baik . Di DevOps modern ini adalah irisan vertikal yang berhubungan dengan Operasi. Anda dapat memiliki tim SRE.

DevOps merupakan perubahan budaya untuk suatu organisasi. Selain struktur manajemen vertikal, top-down, itu menciptakan koneksi horizontal antara tim di sepanjang jalur pengiriman pekerjaan di seluruh rantai nilai . Untuk seorang insinyur, itu adalah peran horisontal yang didefinisikan secara longgar yang mengikat beberapa tim bersama-sama, memastikan bahwa pekerjaan berlalu dengan lancar dan cepat di seluruh organisasi. Anda tidak dapat memiliki tim insinyur DevOps, yang merupakan sebuah oxymoron , karena menjangkau batas-batas tim adalah bagian penting dari peran tersebut.


Setiap tautan ke sumber yang relevan akan sangat bagus.
kenorb

1

Cara lain untuk menggambarkan perbedaan antara Rekayasa Keandalan Situs dan DevOps adalah dengan melihat penjelasan Wikipedia tentang a Site Reliability Engineer, yang dimulai seperti ini:

Site reliability engineer (SRE) adalah deskripsi pekerjaan yang diberikan kepada insinyur perangkat lunak yang berfokus pada keandalan, skalabilitas, dan pengembangan infrastruktur komputasi awan, yang dikenal sebagai Site Reliability Engineering (SRE).

Jadi, Anda dapat mempertimbangkan SRE sebagai orang yang terlibat dalam Building walls...

Namun, penjelasan WikipediaDevOps dimulai seperti:

DevOps ... adalah istilah yang digunakan untuk merujuk pada serangkaian praktik yang menekankan kolaborasi dan komunikasi dari pengembang perangkat lunak dan profesional teknologi informasi (TI) sambil mengotomatiskan proses pengiriman perangkat lunak dan perubahan infrastruktur. Ini bertujuan untuk membangun budaya dan lingkungan di mana membangun, menguji, dan merilis perangkat lunak dapat terjadi dengan cepat, sering, dan lebih andal.

Apa yang tidak dikatakannya adalah bahwa semua praktik DevOps ini sebenarnya dipicu oleh Permintaan dari sisi bisnis. Jadi dikombinasikan dengan membangun dan menguji (bagian Pengembangannya ) dan Pelepasan perangkat lunak, DevOps adalah tentang budaya dan lingkungan DDR (= Permintaan-Kembangkan-Rilis), yang mungkin diingat oleh beberapa orang dari 9 detik ini dari panduan historis untuk Tear down this wall.

Lihat pertanyaan tentang pemadaman singkat yang direncanakan untuk Rab, 3 Mei 2017 pukul 8 malam AS / Timur (seperti bor api untuk komputer) untuk contoh tentang semua situs SE ... diposkan (ditandatangani) oleh pengguna dengan judul pekerjaan SRE Manager , Stack Overflow, Inc.


Saya tidak mengikuti argumen bahwa SRE melibatkan pembangunan tembok. Dari mana Anda mendapatkan itu?
Xiong Chiamiov

Juga, Tom Limoncelli dikenal lebih dari sekadar bekerja di Stack Exchange.
Xiong Chiamiov
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.