Apa itu SRE? Peranan penting jurutera kebolehpercayaan laman web

Ketika dunia telah beralih ke dalam talian, kebolehpercayaan laman web, aplikasi awan, dan infrastruktur awan telah menjadi keperluan perniagaan yang penting — untuk segala-galanya dari operasi e-dagang hingga bank global hingga mesin pencari.

Cara kita menguruskan sistem dan beban kerja mereka telah berubah. Hari ini, kita jarang berfikir dari segi pelayan berprestasi tinggi, sentuhan tinggi, berprestasi tinggi, tetapi sebagai ganti rak pelayan komoditi digabungkan bersama melalui virtualisasi, dengan seni bina perisian yang diedarkan mencegah gangguan pelayan daripada menyebabkan gangguan. Tumpuan telah beralih dari perkakasan ke infrastruktur yang ditentukan perisian dan dari proses manual yang tidak konsisten dan ralat ke tugas automatik yang konsisten, boleh dipercayai, dan berulang.

Kejuruteraan kebolehpercayaan tapak adalah amalan mengekalkan infrastruktur yang dapat diprogramkan dan memaksimumkan ketersediaan beban kerja yang berjalan di atasnya. Gelaran pekerjaan jurutera kebolehpercayaan laman web (SRE) berasal dari lorong-lorong Google, yang, pada awal milenium, ingin mentakrifkan semula hubungan antara pembangun perisian dan kakitangan operasi - dan membantu mereka bekerjasama untuk membina sistem yang kukuh dan fleksibel, dengan peningkatan berterusan dan automasi sebagai prinsip teras.

Apa itu SRE?

Pada peringkat dasar, SRE membawa prinsip kejuruteraan perisian ke masalah infrastruktur dan operasi, dengan matlamat bintang utara untuk mewujudkan sistem yang sangat berskala dan boleh dipercayai.

"Pada dasarnya, itulah yang terjadi apabila anda meminta jurutera perisian untuk merancang fungsi operasi," seperti yang dikatakan oleh Ben Treynor, VP kejuruteraan di Google dan ayah baptis SRE.

Antara tanggungjawab SRE yang utama adalah menetapkan ambang tahap perkhidmatan, yang sering dinyatakan sebagai objektif peringkat perkhidmatan (SLO), yang membantu memberitahu sama ada siaran mendapat kehijauan atau tidak. Grail suci selalu 'lima sembilan' yang suci atau 99,999% uptime. Semakin baik masa operasi, semakin banyak pembangun tali untuk melancarkan barang baru yang sejuk dan semakin banyak tidur SRE, yang membawa kepada hubungan yang saling menguntungkan antara fungsi, jauh dari antagonisme pengembang dan operasi lama.

Fungsi SRE biasanya akan diukur pada satu set metrik kebolehpercayaan utama, iaitu: prestasi sistem, ketersediaan, kependaman, kecekapan, pemantauan, perancangan kapasiti dan tindak balas kecemasan.

[Juga di: Pemantauan aplikasi: Apa yang dapat dilakukan oleh devops]

Tanggungjawab pekerjaan utama SRE

Sebarang SRE yang baik akan terobsesi dengan satu perkara: automasi.

Seperti yang dinyatakan oleh Jason Qualman, seorang SRE pada pemantauan vendor perisian New Relic, dalam catatan blognya: "Sebilangan besar peranan ini memikirkan hal-hal yang tidak efisien dan memakan masa yang dilakukan orang dan menghentikannya secepat mungkin. Daripada menendang kaleng di jalan kerja manual, anda mengatakan, 'Saya akan meluangkan masa untuk mengotomatisasi ini sekarang dan menghentikan orang lain daripada melakukan perkara yang menyakitkan ini.' "

Unsur utama lain dari peranan SRE adalah sesuatu yang disebut "pelepasan kejuruteraan," yang melibatkan menentukan amalan terbaik untuk memastikan pelepasan perisian konsisten dan berulang.

"Jurutera pelepasan memiliki pemahaman yang kuat (jika tidak pakar) mengenai pengurusan kod sumber, penyusun, bahasa konfigurasi binaan, alat binaan automatik, pengurus paket, dan pemasang. Kumpulan kemahiran mereka merangkumi pengetahuan mendalam mengenai beberapa domain: pengembangan, pengurusan konfigurasi, integrasi ujian, pentadbiran sistem, dan sokongan pelanggan, ”tulis Dinah McNutt, pengurus program teknikal di Google, untuk buku manakah Site Reliability Engineering (diterbitkan oleh O'Reilly di 2016 dan dikarang oleh Googlers Jennifer Petoff, Niall Richard Murphy, Chris Jones, dan Betsy Beyer).

Kemudian ada bahagian tindak balas dari peranan, yang melibatkan pemberitahuan, panggilan dan penyelesaian masalah, bersama dengan kecemasan dan tindak balas kejadian dan postmortems.

Pada asasnya, penting bagi SRE untuk mengetahui cara terbaik untuk memantau sistem dan bertindak balas apabila berlaku, selalu menulis dan menulis semula buku panduan untuk mengurangkan masa untuk memperbaiki kerosakan yang mungkin berlaku. Di Google, ini melibatkan mendokumentasikan kejadian, memahami semua punca yang menyumbang, dan melaksanakan tindakan pencegahan di masa depan.

"Menulis postmortem bukanlah hukuman - ini adalah peluang belajar untuk seluruh syarikat," tulis Googler John Lunney dan Sue Lueder dalam bab yang disumbangkan dari buku Kejuruteraan Kebolehpercayaan Laman .

[Juga pada: 3 langkah untuk menerapkan metodologi tangkas dalam operasi IT]

Jurutera SRE vs devops

Saya tahu apa yang anda fikirkan. Itu semua kedengarannya seperti devops, tetapi dalam soal terminologi, tajuk pekerjaan SRE sebenarnya telah membuat jurutera devops lebih kurang lima tahun.

Kedua-duanya didasarkan pada prinsip yang serupa, tetapi perbezaannya baik dan penting. Kedua-dua cara kerja itu melibatkan pemecahan halangan antara pemaju dan kakitangan operasi, dan kedua-duanya bertujuan untuk meningkatkan halaju pasukan pemaju sambil mengekalkan ketahanan teras perkhidmatan tersebut.

Perbezaan utama adalah bahawa jurutera devops cenderung memberi tumpuan untuk menyokong penyampaian berterusan dan kecepatan pemaju, sedangkan SRE bertanggungjawab untuk kebolehpercayaan dan automasi sepanjang kitaran hayat perisian, dengan penekanan untuk berjaya menyebarkan dan memantau pelepasan dan menjaga agar infrastruktur yang ditentukan perisian tetap bersenandung. SRE mempunyai fungsi yang tidak terpisahkan dalam pasukan kejuruteraan yang lebih luas: memastikan ada tempat duduk pakar di meja yang difokuskan untuk membangun sistem yang stabil.

Seperti yang dinyatakan oleh Jayne Groll di The Devops Institute: “Devops memfokuskan pada penyampaian berterusan secara berterusan hingga ke titik penyebaran; SRE memberi tumpuan kepada operasi berterusan kejuruteraan pada tahap penggunaan pelanggan. "

Sejarah SRE di Google

Menjejak prinsip SRE kembali ke asal-usul mereka di Google pada awal 2000-an memberikan pelajaran objek penting dalam disiplin.

“Ketika saya datang ke Google, saya cukup beruntung dapat menjadi sebahagian daripada pasukan yang sebahagiannya terdiri daripada orang-orang yang merupakan jurutera perisian, dan cenderung menggunakan perisian sebagai cara menyelesaikan masalah yang secara historis diselesaikan dengan tangan. Oleh itu, ketika tiba masanya untuk membuat pasukan rasmi untuk melakukan kerja operasi ini, wajar untuk mengambil pendekatan 'segala sesuatu dapat dianggap sebagai masalah perisian' dan menjalankannya, "kata Ben Treynor dalam wawancara di blog dalaman Google.

"Oleh itu, SRE pada dasarnya melakukan pekerjaan yang secara historis dilakukan oleh pasukan operasi, tetapi menggunakan jurutera dengan kepakaran perisian, dan menggunakan fakta bahawa jurutera ini sememangnya memiliki kecenderungan, dan memiliki kemampuan, untuk menggantikan automasi untuk tenaga kerja manusia, ”Tambah Treynor.

Google juga berfikir dengan tegas tentang bagaimana mengumpulkan pasukan SRE. Semua SRE Google mestilah Jurutera Perisian Google atau "calon yang sangat dekat dengan kelayakan Kejuruteraan Perisian Google." Mereka juga harus mempunyai kemahiran pengurusan infrastruktur, yang paling sering adalah "kepakaran sistem internal dan rangkaian (Layer 1 hingga Layer 3)."

Kelayakan SRE masih cenderung berbeza-beza dari syarikat ke syarikat, tetapi sejauh prinsip asasnya, pendekatan Google adalah titik permulaan yang kukuh. Perinciannya akan bergantung pada keperluan perniagaan, proses yang telah ditetapkan, dan timbunan teknologi yang sudah diterima pakai oleh organisasi.

Penerangan dan gaji kerja SRE

SRE biasanya menghabiskan sekitar 50 peratus waktunya untuk melakukan fungsi operasi tradisional, seperti dalam panggilan dan melompat untuk menyelesaikan masalah. 50 persen yang lain difokuskan pada pengembangan perisian untuk membuat sistem yang mendasarinya lebih tahan lama, automatik, dan penyembuhan diri dari masa ke masa. Itulah sebabnya peranan itu memerlukan gabungan kemahiran kejuruteraan perisian dan kemahiran operasi. SRE yang baik akan teratur, sejuk di bawah tekanan, dan penyelesai masalah. Pengurus SRE bertanggungjawab untuk prestasi, strategi, dan pengoptimuman pasukan.

Tetapi bagaimana dengan organisasi di mana peranan SRE tidak wujud? Dalam laporan O'Reilly "Apa itu SRE?" Kurt Andersen dari LinkedIn dan Craig Sebenik dari Split (vendor perisian pengurusan pelepasan) mengesyorkan mengambil pendekatan "akar umbi". Mereka mengesyorkan mencari "pasukan pembangunan yang termotivasi untuk mengubah dan menerapkan pasukan SRE kecil (atau individu) di sana. Lama kelamaan, anda dapat menggunakan kejayaan itu sebagai contoh positif kepada pasukan lain. "

Gaji tahunan purata untuk SRE adalah kira-kira $ 130,000 di AS dan £ 76,000 di UK, menurut laman web pekerjaan.

Sumber SRE

Sumber daya banyak untuk membina kemahiran SRE, dari pensijilan dari Institut DevOps hingga buku dan sumber dalam talian dari O'Reilly, Microsoft, dan Google. Kejuruteraan Kebolehpercayaan Laman Utama 550 halaman yang disebutkan di atas   oleh Jennifer Petoff, Niall Richard Murphy, Chris Jones, dan Betsy Beyer adalah topik utama yang diterbitkan pada tahun 2016. Buku ini juga boleh didapati secara percuma dalam talian dari Google. 

Buku-buku lain yang lebih baru mengenai topik ini merangkumi  Jurutera Kebolehpercayaan Tapak Latihan  oleh Jennifer Petoff, JC van Winkel, dan Preston Yoshioka; Apa itu SRE?  oleh Kurt Andersen dan Craig Sebenik; Mencari SRE  oleh David N. Blank-Edelman, dan  The Site Reliability Workbook  oleh Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, dan Stephen Thorne.

O'Reilly juga mempunyai perpustakaan lengkap mengenai aset, video, dan ebook dalam talian mengenai topik ini, yang dikendalikan dengan mudah dalam senarai main SRE Essentials ini oleh bekas jurutera kebolehpercayaan laman web Google, Liz Fong-Jones.

Pembelajaran dalam talian juggernaut Coursera menawarkan beberapa kursus, termasuk Kejuruteraan Kebolehpercayaan Tapak yang popular: Mengukur dan Mengurus Kebolehpercayaan dari Google Cloud Training. Kursus ini juga boleh didapati dari Pluralsight, seperti kursus pemula Site Reliability Engineering (SRE): The Big Picture oleh Elton Stoneman. Linux Foundation menawarkan kursus panduan kendiri yang bertajuk DevOps and SRE Fundamentals: Implementing Continuous Delivery.

Jellyfish Training yang berpangkalan di UK menawarkan pelbagai pilihan kursus latihan swasta selama dua hari untuk SRE Foundation (SREF).

Baca lebih lanjut mengenai devops

  • Apa itu devops? Mengubah pembangunan perisian
  • 3 cara untuk memulakan program devops
  • Amalkan kaedah terbaik: 5 kaedah yang harus anda gunakan
  • 15 KPI untuk mengesan transformasi devops
  • Pemantauan aplikasi: Apa yang dapat dilakukan oleh para devops dengan lebih baik
  • Di mana kejuruteraan kebolehpercayaan laman web bertemu dengan para pengguna
  • 5 prinsip untuk menjadi pasukan pemenang tangkas kolaboratif
  • 3 langkah untuk menerapkan metodologi tangkas dalam operasi IT
  • Bagaimana pasukan tangkas dapat menyokong pengurusan kejadian
  • Bagaimana dataops meningkatkan data, analisis, dan pembelajaran mesin
  • Mengaplikasikan devops dalam sains data dan pembelajaran mesin
  • 7 soalan untuk mengutamakan tunggakan devops anda