Lewati ke Konten Utama

Apa itu rekayasa reliabilitas situs?

Rekayasa reliabilitas situs (SRE) adalah praktik penggunaan alat perangkat lunak untuk mengotomatiskan tugas infrastruktur IT, seperti manajemen sistem dan pemantauan aplikasi. Organisasi menggunakan SRE untuk memastikan aplikasi perangkat lunak mereka tetap dapat diandalkan di tengah pembaruan yang sering dari tim pengembangan. SRE terutama meningkatkan keandalan sistem perangkat lunak yang dapat diskalakan karena mengelola sistem besar menggunakan perangkat lunak lebih berkelanjutan daripada mengelola ratusan mesin secara manual. 

Mengapa rekayasa reliabilitas situs itu penting?

Reliabilitas situs menjelaskan stabilitas dan kualitas layanan yang ditawarkan aplikasi setelah tersedia untuk pengguna akhir. Pemeliharaan perangkat lunak terkadang memengaruhi keandalan perangkat lunak jika masalah teknis tidak terdeteksi. Misalnya, ketika developer membuat perubahan baru, mereka mungkin secara tidak sengaja memengaruhi aplikasi yang ada dan menyebabkannya macet untuk kasus penggunaan tertentu.

Berikut adalah beberapa manfaat praktik rekayasa reliabilitas situs (SRE).

Kolaborasi yang lebih baik

SRE meningkatkan kolaborasi antara tim pengembangan dan operasi. Developer sering harus membuat perubahan cepat pada aplikasi untuk merilis fitur baru atau memperbaiki bug penting. Di sisi lain, tim operasi harus memastikan pengiriman layanan yang mulus. Oleh karena itu, tim operasi menggunakan praktik SRE untuk memantau secara ketat setiap pembaruan dan segera merespons setiap masalah yang timbul akibat perubahan.

Pengalaman pelanggan yang ditingkatkan

Organisasi menggunakan model SRE untuk memastikan kesalahan perangkat lunak tidak memengaruhi pengalaman pelanggan. Misalnya, tim perangkat lunak menggunakan alat SRE untuk mengotomatiskan siklus hidup pengembangan perangkat lunak. Hal ini mengurangi kesalahan, yang berarti tim dapat memprioritaskan pengembangan fitur baru daripada perbaikan bug.

Perencanaan operasi yang lebih baik

 Tim SRE menerima bahwa perangkat lunak berpeluang mengalami gagal. Oleh karena itu, tim merencanakan respons insiden yang tepat untuk meminimalkan dampak waktu henti pada bisnis dan pengguna akhir. Mereka juga dapat memperkirakan dengan lebih baik biaya waktu henti dan memahami dampak insiden tersebut pada operasi bisnis. 

Apa prinsip utama dalam rekayasa reliabilitas situs?

Berikut adalah beberapa prinsip utama dari rekayasa reliabilitas situs (SRE).

Pemantauan aplikasi

Tim SRE menerima bahwa kesalahan adalah bagian dari proses deployment perangkat lunak. Sebagai ganti berjuang untuk solusi yang sempurna, mereka memantau performa perangkat lunak dalam hal perjanjian tingkat layanan (SLA), indikator tingkat layanan (SLI), dan tujuan tingkat layanan (SLO). Mereka mengamati dan memantau metrik performa setelah melakukan deployment aplikasi di lingkungan produksi. 

Implementasi perubahan bertahap

Praktik SRE mendorong rilis perubahan yang sering tetapi kecil untuk menjaga keandalan sistem. Alat otomatisasi SRE menggunakan proses yang konsisten tetapi berulang untuk melakukan hal berikut:

  • Mengurangi risiko karena perubahan
  • Menyediakan perulangan umpan balik untuk mengukur performa sistem
  • Meningkatkan kecepatan dan efisiensi implementasi perubahan

Otomatisasi untuk peningkatan keandalan

SRE menggunakan kebijakan dan proses yang menanamkan prinsip keandalan di setiap langkah jalur pengiriman. Beberapa strategi yang secara otomatis menyelesaikan masalah adalah sebagai berikut:

  • Mengembangkan gate kualitas berdasarkan tujuan tingkat layanan untuk mendeteksi masalah lebih awal
  • Mengotomatiskan pengujian pembuatan menggunakan indikator tingkat layanan
  • Membuat keputusan arsitektur yang memastikan ketahanan sistem pada awal pengembangan perangkat lunak

Apa yang dimaksud dengan observabilitas dalam rekayasa reliabilitas situs?

Observabilitas adalah proses yang mempersiapkan tim perangkat lunak untuk ketidakpastian ketika perangkat lunak diluncurkan untuk pengguna akhir. Tim rekayasa keandalan situs (site reliability engineering/SRE) menggunakan alat untuk mendeteksi perilaku abnormal dalam perangkat lunak dan, yang lebih penting, mengumpulkan informasi yang membantu developer memahami apa yang menyebabkan masalah. Observabilitas melibatkan pengumpulan informasi berikut dengan alat SRE. 

Metrik 

Metrik adalah nilai yang dapat diukur yang mencerminkan performa aplikasi atau kesehatan sistem. Tim SRE menggunakan metrik untuk menentukan apakah perangkat lunak menggunakan sumber daya yang berlebihan atau berperilaku tidak normal.

Log

Perangkat lunak SRE menghasilkan informasi yang terperinci dan berstempel waktu yang disebut log sebagai respons terhadap peristiwa tertentu. Perekayasa perangkat lunak menggunakan log untuk memahami rantai peristiwa yang mengarah pada masalah tertentu. 

Jejak 

Jejak adalah pengamatan jalur kode dari fungsi tertentu dalam sistem terdistribusi. Misalnya, membayar pesanan di keranjang mungkin melibatkan hal berikut:

  • Menghitung harga dengan basis data
  • Mengautentikasi dengan gateway pembayaran
  • Mengirimkan pesanan ke vendor

Jejak terdiri dari ID, nama, dan waktu. Mereka membantu developer perangkat lunak mendeteksi masalah latensi dan meningkatkan performa perangkat lunak. 

Apa yang dimaksud dengan pemantauan dalam rekayasa reliabilitas situs?

Pemantauan adalah proses mengamati metrik yang ditentukan sebelumnya dalam suatu aplikasi. Developer memutuskan parameter mana yang penting dalam menentukan kesehatan aplikasi dan mengaturnya dalam alat pemantauan. Tim rekayasa reliabilitas situs (SRE) mengumpulkan informasi penting yang mencerminkan performa sistem dan memvisualisasikannya dalam bagan.

Di SRE, tim perangkat lunak memantau metrik ini untuk mendapatkan wawasan tentang keandalan sistem.

Latensi 

Latensi menjelaskan penundaan saat aplikasi merespons permintaan. Misalnya, pengiriman formulir di situs web membutuhkan waktu 3 detik sebelum mengarahkan pengguna ke halaman web pernyataan. 

Lalu Lintas

Lalu lintas mengukur jumlah pengguna yang mengakses layanan Anda secara bersamaan. Hal ini membantu tim perangkat lunak yang sesuai dengan anggaran sumber daya komputasi untuk mempertahankan tingkat layanan yang memuaskan bagi semua pengguna.

Kesalahan

Kesalahan adalah kondisi ketika aplikasi gagal beroperasi atau gagal memberikan hasil sebagaimana yang diperkirakan. Misalnya, ketika halaman web gagal dimuat atau transaksi tidak berhasil, tim SRE menggunakan perangkat lunak untuk melacak dan merespons kesalahan dalam aplikasi secara otomatis. 

Saturasi

Saturasi menunjukkan kapasitas waktu nyata dari aplikasi. Tingkat saturasi yang tinggi biasanya mengakibatkan penurunan performa. Teknisi keandalan situs memantau tingkat saturasi dan memastikannya berada di bawah ambang batas tertentu. 

Apa metrik utama untuk rekayasa reliabilitas situs?

Tim rekayasa reliabilitas situs (SRE) mengukur kualitas pengiriman dan keandalan layanan menggunakan metrik berikut. 

Sasaran tingkat layanan

Sasaran tingkat layanan (SLO) adalah tujuan spesifik dan dapat diukur yang Anda yakin dapat dicapai oleh perangkat lunak dengan biaya yang wajar untuk metrik lain, seperti berikut ini: 

  • Waktu aktif, atau waktu suatu sistem beroperasi
  • Throughput sistem
  • Output sistem
  • Laju pengunduhan, atau kecepatan beban aplikasi

SLO menjanjikan pengiriman melalui perangkat lunak kepada pelanggan. Misalnya, Anda mengatur SLO waktu aktif 99,95% untuk aplikasi pengiriman makanan perusahaan Anda.

Indikator tingkat layanan

Indikator tingkat layanan (SLI) adalah pengukuran aktual dari metrik yang ditentukan SLO. Dalam situasi kehidupan nyata, Anda mungkin mendapatkan nilai yang cocok atau berbeda dari SLO. Misalnya, aplikasi Anda aktif dan berjalan 99,92% dari waktu, yang lebih rendah dari SLO yang dijanjikan. 

Perjanjian tingkat layanan

Perjanjian tingkat layanan (SLA) adalah dokumen hukum yang menyatakan apa yang akan terjadi ketika satu atau beberapa SLO tidak terpenuhi. Misalnya, SLA menyatakan bahwa tim teknis akan menyelesaikan masalah pelanggan Anda dalam waktu 24 jam setelah laporan diterima. Jika tim Anda tidak dapat menyelesaikan masalah dalam durasi yang ditentukan, Anda berkewajiban untuk mengembalikan dana pelanggan.

Anggaran kesalahan

Anggaran kesalahan adalah toleransi ketidakpatuhan untuk SLO. Misalnya, waktu aktif 99,95% di SLO berarti bahwa waktu henti yang diizinkan adalah 0,05%. Jika waktu henti perangkat lunak melebihi anggaran kesalahan, tim perangkat lunak mencurahkan semua sumber daya dan perhatian untuk menstabilkan aplikasi.

Bagaimana cara kerja rekayasa reliabilitas situs?

Rekayasa reliabilitas situs (SRE) melibatkan partisipasi perekayasa reliabilitas situs dalam tim perangkat lunak. Tim SRE menetapkan metrik kunci untuk SRE dan menciptakan anggaran kesalahan yang ditentukan oleh tingkat toleransi risiko sistem. Jika jumlah kesalahan rendah, tim pengembangan dapat merilis fitur baru. Namun, jika kesalahan melebihi anggaran kesalahan yang diizinkan, tim menunda perubahan baru dan memecahkan masalah yang ada.

Misalnya, teknisi keandalan situs menggunakan layanan untuk memantau metrik performa dan mendeteksi perilaku aplikasi yang tidak normal. Jika ada masalah dengan aplikasi, tim SRE mengirimkan laporan ke tim rekayasa perangkat lunak. Developer memperbaiki kasus yang dilaporkan dan menerbitkan aplikasi yang diperbarui.

DevOps

DevOps adalah budaya perangkat lunak yang memecah batas tradisional tim pengembangan dan operasi. Dengan DevOps, developer dan teknisi operasi tidak lagi bekerja dalam silo. Sebaliknya, mereka menggunakan alat perangkat lunak untuk meningkatkan kolaborasi dan mengikuti laju rilis pembaruan perangkat lunak yang cepat.

SRE dibandingkan dengan DevOps

SRE adalah implementasi praktis DevOps. DevOps memberikan landasan filosofis tentang apa yang harus dilakukan untuk menjaga kualitas perangkat lunak di tengah waktu pengembangan yang semakin singkat. Rekayasa keandalan situs menawarkan jawaban atas cara mencapai kesuksesan DevOps. SRE memastikan bahwa tim DevOps mencapai keseimbangan yang tepat antara kecepatan dan stabilitas. 

Apa tanggung jawab dari seorang perekayasa reliabilitas situs?

Perekayasa reliabilitas situs adalah seorang ahli IT yang menggunakan alat otomatisasi untuk memantau dan mengamati keandalan perangkat lunak di lingkungan produksi. Mereka juga berpengalaman dalam menemukan masalah dalam perangkat lunak dan menulis kode untuk memperbaikinya. Mereka biasanya mantan administrator sistem atau teknisi operasi dengan keterampilan pengodean yang baik. Berikut adalah beberapa tanggung jawab reliabilitas situs.

Operasi

Perekayasa reliabilitas situs menghabiskan hingga setengah dari waktu mereka dalam pekerjaan operasi. Ini termasuk beberapa tugas, seperti berikut ini: 

  • Tanggapan insiden darurat
  • Manajemen perubahan
  • Manajemen infrastruktur IT

Perekayasa menggunakan alat SRE untuk mengotomatiskan beberapa tugas operasi dan meningkatkan efisiensi tim.

Dukungan sistem

Perekayasa reliabilitas situs bekerja sama dengan tim pengembangan untuk membuat fitur baru dan menstabilkan sistem produksi. Mereka menciptakan proses SRE untuk seluruh tim perangkat lunak dan siap mendukung masalah eskalasi. Lebih penting lagi, tim reliabilitas situs menyediakan prosedur terdokumentasi untuk dukungan pelanggan guna membantu mereka menangani keluhan secara efektif. 

Peningkatan proses

Perekayasa reliabilitas situs meningkatkan siklus hidup pengembangan perangkat lunak dengan mengadakan tinjauan pascainsiden. Tim SRE mendokumentasikan semua masalah perangkat lunak dan solusi masing-masing dalam basis pengetahuan bersama. Ini membantu tim perangkat lunak secara efisien menanggapi masalah serupa di masa depan. 

Apa saja alat rekayasa reliabilitas situs yang umum?

Tim rekayasa reliabilitas situs (SRE) menggunakan berbagai tipe alat untuk memfasilitasi pemantauan, observasi, dan respons insiden. 

Orkestrator kontainer 

Developer perangkat lunak menggunakan orkestrator kontainer untuk menjalankan aplikasi dalam kontainer di berbagai platform. Aplikasi dalam kontainer menyimpan file kode dan sumber daya terkait dalam satu paket yang disebut kontainer. Misalnya, perekayasa perangkat lunak menggunakan Amazon Elastic Kubernetes Service (Amazon EKS) untuk menjalankan dan menskalakan aplikasi cloud

Alat manajemen siap panggil 

Alat manajemen siap panggil adalah perangkat lunak yang memungkinkan tim SRE merencanakan, mengatur, dan mengelola personel dukungan yang menangani masalah perangkat lunak yang dilaporkan. Tim SRE menggunakan perangkat lunak untuk memastikan selalu ada tim dukungan yang siaga untuk menerima pemberitahuan tepat waktu tentang masalah perangkat lunak. 

Alat respons insiden 

Alat respons insiden memastikan jalur eskalasi yang jelas untuk masalah perangkat lunak yang terdeteksi. Tim SRE menggunakan alat respons insiden untuk mengategorikan tingkat keparahan kasus yang dilaporkan dan menanganinya dengan segera. Alat ini juga dapat menyediakan laporan analisis pascainsiden untuk mencegah masalah serupa terjadi lagi. 

Alat manajemen konfigurasi

Alat manajemen konfigurasi adalah perangkat lunak yang mengotomatiskan alur kerja perangkat lunak. Tim SRE menggunakan alat ini untuk menghapus tugas repetitif dan menjadi lebih produktif. Misalnya, rekayasawan reliabilitas situs menggunakan AWS OpsWorks untuk mengatur dan mengelola server secara otomatis di lingkungan AWS. 

Bagaimana AWS membantu dengan rekayasa reliabilitas situs?

 

Layanan Manajemen dan Tata Kelola AWS menyediakan alat yang diperlukan oleh tim perangkat lunak untuk membangun, menskalakan, dan melakukan deployment aplikasi terdistribusi tanpa mengorbankan keandalan sistem. Tim rekayasa reliabilitas situs (SRE) menggunakan berbagai layanan Manajemen dan Tata Kelola AWS untuk memantau dan mengatur sumber daya komputasi AWS serta on-premise:

  • AWS Service Catalog memungkinkan tim SRE untuk membuat katalog, mengelola, dan melakukan deployment layanan IT dengan cepat
  • AWS Systems Manager menyediakan hub manajemen terpusat bagi perekayasa reliabilitas situs untuk mendapatkan wawasan operasional tentang sumber daya komputasi perangkat lunak
  • AWS Proton adalah alat manajemen otomatis untuk melakukan deployment aplikasi dalam kontainer dan nirserver

Mulai rekayasa reliabilitas situs di AWS dengan membuat akun AWS sekarang.