Pembangunan dan pengoperasian S3
- S3 merupakan singkatan dari Amazon Simple Storage Service, dan mengacu pada sistem penyimpanan berskala besar.
- Andy Warfield bekerja di S3 dan memperoleh pemahaman yang luas tentang sistem tersebut.
- S3 adalah layanan yang mencakup beragam area, mulai dari pengalaman performa pelanggan hingga mekanika hard disk.
17 tahun lalu, di kampus universitas yang jauh...
- S3 diluncurkan pada 14 Maret 2006 dan tahun ini merayakan ulang tahunnya yang ke-17.
- Warfield menyelesaikan gelar doktornya di University of Cambridge, ikut serta dalam proyek Xen, lalu mendirikan startup bernama XenSource.
- XenSource berkembang dan kemudian diakuisisi oleh Citrix, dan Warfield belajar banyak tentang pertumbuhan bisnis serta pengelolaan tim.
Cara kerja S3
- Setelah bergabung dengan Amazon, Warfield mempelajari prinsip kerja S3 dari Seth Markle, salah satu engineer awal S3.
- S3 adalah layanan object storage dengan HTTP REST API, yang terdiri dari frontend, layanan namespace, storage fleet dengan hard disk, dan fleet yang menjalankan pekerjaan latar belakang.
- S3 tersusun dari ratusan microservice, dan interaksi antar tim dilakukan melalui kontrak pada tingkat API.
Pengamatan awal
- S3 adalah ekosistem yang terus berevolusi, melampaui perangkat lunak dan juga mencakup perangkat keras serta manusia.
- Skala S3 terdiri dari kumpulan layanan yang masing-masing di-scale-out, sehingga butuh waktu untuk benar-benar memahami besarnya sistem ini.
Skala teknis: fisika penyimpanan
- S3 adalah sistem yang sangat besar dan menggunakan jutaan hard disk.
- Hard drive merupakan keajaiban teknologi dan inovasi, sekaligus sangat efisien dari sisi biaya.
Manajemen panas: penempatan data dan performa
- Di S3, dilakukan optimasi untuk memecahkan masalah yang disebut 'manajemen panas' dengan mendistribusikan permintaan I/O secara merata ke banyak hard drive.
Replikasi: penempatan data dan durabilitas
- S3 menggunakan skema redundansi seperti replikasi dan erasure coding untuk menjamin durabilitas data dan mengelola panas.
Dampak skala: strategi penempatan data
- Dengan menempatkan data seluas mungkin ke sebanyak mungkin disk, data pelanggan hanya menempati porsi yang sangat kecil di tiap disk, sehingga tercapai isolasi workload.
Faktor manusia
- Kompleksitas S3 tidak hanya berasal dari faktor teknis, tetapi juga dari faktor manusia.
- Amazon mendorong engineer dan tim untuk gagal dengan cepat dan aman, serta tetap fokus menyediakan storage dengan durabilitas tinggi.
Memperluas diriku sendiri: menyelesaikan masalah sulit yang dimulai dan diakhiri dengan 'ownership'
- Warfield mengalami perluasan skala pribadi di Amazon, sambil mempelajari skala perangkat lunak, manusia, dan bisnis.
- Di Amazon, ada penekanan kuat pada 'ownership', yang membantu memahami struktur organisasi dan pendekatan engineering.
Opini GN⁺
- S3 bukan sekadar layanan penyimpanan, melainkan ekosistem kompleks yang menggabungkan perangkat keras, perangkat lunak, dan faktor manusia.
- Tulisan ini memberikan wawasan bagi software engineer pemula yang ingin memahami skala dan kompleksitas S3.
- Budaya 'ownership' di Amazon merupakan elemen penting yang memotivasi tim dan individu untuk mengejar inovasi dengan rasa tanggung jawab yang lebih besar.
1 komentar
Komentar Hacker News
Bekerja di bidang genomika, selama 10 tahun terakhir saya telah menangani banyak penyimpanan data berukuran petabyte.
Hal-hal yang bisa kita bangun jika S3 menggunakan protokol berbasis OAuth2 untuk mendelegasikan akses baca/tulis.
Menangani autentikasi dalam sistem terdistribusi itu sangat sulit.
Senang melihat karyawan Amazon berbicara secara terbuka tentang cara kerja internal S3.
Bagian yang menjelaskan kepala hard drive dengan analogi pesawat 747.
Kembali ke masa S3 KeyMap, kami belajar bahwa bahkan setelah mengidentifikasi objek/partisi/bucket terpanas, masalahnya tidak bisa diselesaikan hanya dengan memindahkannya.
S3 bukan sekadar penyimpanan sederhana, melainkan sebuah standar.