Sürekli yeniden icat: AWS blok depolamanın kısa tarihi
(allthingsdistributed.com)Sürekli yeniden icat: AWS blok depolamanın kısa tarihi
-
Giriş
- Marc Olson, Elastic Block Store (EBS) ekibinde 10 yıldan uzun süredir çalışıyor.
- EBS, basit bir blok depolama hizmetinden günde 140 trilyondan fazla işlemi yöneten büyük ölçekli bir ağ depolama sistemine dönüştü.
- Bu yazı, EBS'nin evrim sürecini ve önemli dersleri paylaşıyor.
-
EBS'nin erken dönemi
- EBS, 20 Ağustos 2008'de kullanıma sunuldu ve EC2 instance'ları için ağa bağlı blok depolama sağlayan basit bir fikirle başladı.
- İlk dönemde paylaşımlı sabit disk sürücüleri (HDD) kullanıyordu; bugün ise tek bir EC2 instance'ına yüz binlerce IOPS sağlayabiliyor.
- EBS bugün, dağıtık bir SSD filosu üzerinden günde 140 trilyondan fazla işlemi işliyor.
-
Kuyruk teorisi
- Bilgisayar sistemlerinin depolamayla etkileşime girme biçimi temelde değişmedi.
- CPU istekleri bir kuyruğa koyuyor, depolama aygıtı ise veriyi CPU belleğinden alıp dayanıklı bir ortama yazıyor ya da ters yönde veriyi CPU belleğine aktarıyor.
- Kuyruk teorisi, bu süreci anlamada önemli bir rol oynuyor.
-
HDD'den SSD'ye geçiş
- İlk EBS, HDD kullanıyordu ve bu da fiziksel sınıırlar nedeniyle performansı kısıtlıyordu.
- SSD'lerin ortaya çıkmasıyla rastgele istekler de neredeyse sıralı istekler kadar hızlı işlenebilir hale geldi.
- 2012'de SSD kullanan yeni bir depolama sunucusu tipi ve Provisioned IOPS adlı yeni bir EBS volume tipi sunuldu.
-
Ölçüm ve yönetim
- 2012'de EBS yalnızca temel telemetriye sahipti.
- Sistem performansını iyileştirmek için neyin sorun çıkardığını bulmak ve bunları öncelik sırasına göre çözmek gerekiyordu.
- Çeşitli alt sistemlerde IO'yu ölçme yöntemleri kuruldu ve sürekli izleme ile değişiklikler tespit edildi.
-
Organizasyonu böl ve fethet
- EBS depolama sunucusu ekibi, veri çoğaltma, dayanıklılık, snapshot hydration gibi belirli alanlara odaklanan küçük ekiplere dönüştürüldü.
- Her ekip değişiklikleri bağımsız biçimde yineleyip commit edebiliyordu.
-
Varsayımlara meydan okumak
- Xen hypervisor'ünün varsayılan ayarlarının performansı sınırladığı keşfedildi.
- Ağ ve depolama işleme görevleri, Nitro offload kartı kullanılarak donanıma offload edildi.
-
Ağ ayarlama deneyleri
- EBS Nitro'ya taşınırken ağın kendi overhead'i arttı.
- Ağ performansını iyileştirmek için TCP yerine SRD (Scalable Relatable Diagram) protokolü geliştirildi.
-
Kısıtlar inovasyonu teşvik eder
- SSD'nin avantajlarını tüm müşterilere sunmak için mevcut donanım değiştirilmeden sisteme SSD eklendi.
- SSD'ler sunuculara elle eklendi, yeni yazmalar önce SSD'ye kaydedildi ve ardından asenkron olarak HDD'ye flush edildi.
-
Performans ölçeklendirmenin ardından düşünceler
- Kişisel gelişim hikâyesi: küçük şirket kültüründen büyük ölçekli bir organizasyona geçiş.
- Eşli debugging oturumlarıyla sorunlar çözüldü ve ekibin verimliliği artırıldı.
-
Sonuç
- EBS, tek ve büyük bir değişimle değil, bir dizi kademeli iyileştirmeyle gelişti.
- Müşteri talepleri artmaya devam edecek; bu da inovasyon ve yinelemeyi sürdürmek için motivasyon sağlıyor.
# GN⁺ Özeti
- Bu yazı, AWS'nin EBS'sinin nasıl evrildiğine dair içeriden bir bakış sunuyor.
- Kuyruk teorisi, SSD'nin devreye alınması, ağ ayarlamaları gibi çeşitli teknik zorlukları ve çözümleri ele alıyor.
- Performans iyileştirmesi için sürekli ölçüm ve yönetimin önemini vurguluyor.
- Benzer işlevlere sahip ürünler arasında Google Cloud Persistent Disk ve Microsoft Azure Disk Storage bulunuyor.
1 yorum
Hacker News yorumu
Büyük sistemlerle ilgileniyorsanız, bu yazıyı okumakta fayda var
Sorunu çözmek için neyin yanlış gittiğini bilmek gerekir
2013'te EBS sunucularına SSD takılan proje, AWS'nin ilginç hikayelerinden biridir
AWS'nin yaklaşık 4 gün süren kesintisi EBS nedeniyle yaşandı ve bu durum AWS'ye duyulan güveni sarstı
Reddit, 2008'de EBS'in ilk kullanıcılarından biriydi
Rastgele gecikme eklemek, ortalama gecikmeyi ve uç değerleri azaltma etkisi yaratır
Büyük ölçekli internet şirketlerinde çalışırken çok şey öğrenildi
2013'te tüm EBS birimlerine SSD'lerin elle takılması kısmı ilginçti
2009'da Amazon S3'ün iç yapısı hakkında bir konuşma yapıldı
Bulutun ilk dönemlerinde genel amaçlı donanım kullanılıyordu, ancak artık tek tek hizmetlere özel donanımlar kullanılıyor
İlk diyagram yanlış ya da güncelliğini yitirmiş
Yeni bir EC2 instance'ına hızlı bir 256GB veri kümesi dizini sağlamanın en iyi yolunu arıyorum