Apa itu rekayasa keandalan situs?
Rekayasa keandalan situs (SRE) adalah praktik menggunakan alat perangkat lunak untuk mengotomatisasi tugas infrastruktur TI 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 keandalan situs penting?
Keandalan 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 ini adalah beberapa manfaat praktik rekayasa keandalan situs (SRE).
Peningkatan kolaborasi
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 menanggapi masalah apa pun 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. Ini mengurangi kesalahan, yang berarti tim dapat memprioritaskan pengembangan fitur baru daripada perbaikan bug.
Perencanaan operasi yang ditingkatkan
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-prinsip utama dalam rekayasa keandalan situs?
Berikut ini adalah beberapa prinsip kunci dari rekayasa keandalan 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 pelepasan 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 loop umpan balik untuk mengukur performa sistem
- Meningkatkan kecepatan dan efisiensi implementasi perubahan
Otomatisasi untuk peningkatan keandalan
SRE menggunakan kebijakan dan proses yang menanamkan prinsip-prinsip keandalan di setiap langkah alur 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 observabilitas dalam rekayasa keandalan 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 kondisi sistem. Tim SRE menggunakan metrik untuk menentukan apakah perangkat lunak mengonsumsi sumber daya yang berlebihan atau berperilaku tidak normal.
Log
Perangkat lunak SRE menghasilkan informasi mendetail dan berstempel waktu yang disebut log sebagai respons terhadap peristiwa tertentu. Teknisi 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 keandalan situs?
Pemantauan adalah proses mengamati metrik yang telah ditentukan sebelumnya dalam suatu aplikasi. Developer memutuskan parameter mana yang penting dalam menentukan kondisi aplikasi dan mengaturnya dalam alat pemantauan. Tim rekayasa keandalan 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. 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 diharapkan. 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 keandalan situs?
Tim rekayasa keandalan situs (SRE) mengukur kualitas pengiriman dan keandalan layanan menggunakan metrik berikut.
Tujuan tingkat layanan
Tujuan tingkat layanan (Service-level objectives/SLO) adalah tujuan spesifik dan dapat diukur yang Anda yakin perangkat lunak dapat mencapai dengan biaya yang wajar untuk metrik lain, seperti berikut ini:
- Waktu aktif, atau waktu suatu sistem beroperasi
- Throughput sistem
- Output sistem
- Laju unduhan, atau kecepatan pemuatan aplikasi
SLO menjanjikan pengiriman melalui perangkat lunak kepada pelanggan. Misalnya, Anda menetapkan SLO waktu aktif 99,95% untuk aplikasi pengiriman makanan perusahaan Anda.
Indikator tingkat layanan
Indikator tingkat layanan (Service-level indicators/SLI) adalah pengukuran aktual dari metrik yang didefinisikan oleh 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 lebih 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 mungkin 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 keandalan situs?
Rekayasa keandalan situs (SRE) melibatkan partisipasi insinyur keandalan 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 seorang teknisi keandalan situs?
Insinyur keandalan situs adalah pakar 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 ini adalah beberapa tanggung jawab keandalan situs.
Pengoperasian
Teknisi keandalan 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
Rekayasawan menggunakan alat SRE untuk mengotomatiskan beberapa tugas operasi dan meningkatkan efisiensi tim.
Dukungan sistem
Teknisi keandalan 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 keandalan situs menyediakan prosedur terdokumentasi untuk dukungan pelanggan guna membantu mereka menangani keluhan secara efektif.
Peningkatan proses
Rekayasawan keandalan 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 alat rekayasa keandalan situs yang umum?
Tim rekayasa keandalan situs (SRE) menggunakan berbagai jenis alat untuk memfasilitasi pemantauan, pengamatan, dan respons insiden.
Orkestrator kontainer
Developer perangkat lunak menggunakan orkestrator kontainer untuk menjalankan aplikasi kontainer di berbagai platform. Aplikasi kontainer menyimpan file kode dan sumber daya terkait dalam satu paket yang disebut kontainer. Misalnya, rekayasawan perangkat lunak menggunakan Amazon Elastic Kubernetes Service (Amazon EKS) untuk menjalankan dan menskalakan aplikasi cloud.
Alat manajemen berdasarkan panggilan
Alat manajemen berdasarkan panggilan 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 pendukung yang siaga untuk menerima peringatan 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 berulang dan menjadi lebih produktif. Misalnya, rekayasawan reliabilitas situs menggunakan AWS OpsWorks untuk menyiapkan dan mengelola server secara otomatis di lingkungan AWS.
Bagaimana AWS membantu rekayasa keandalan situs?
Layanan Manajemen dan Tata Kelola AWS menyediakan alat yang diperlukan oleh tim perangkat lunak untuk membangun, menskalakan, dan melakukan deployment aplikasi terdistribusi tanpa mengurangi 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 rekayasawan 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 juga.
Langkah berikutnya di AWS
Mulai membangun dengan rekayasa keandalan situs di konsol manajemen AWS.