İçeriğe atla
HexaTransfer
Bloga dön
Bulut ve depolama

Çoklu Cloud Dosya Yönetimi: Tedarikçi Bağımlılığından Kaçının

Birden fazla bulut sağlayıcıda dosyaları yönetin. Tedarikçi bağımlılığından kaçının, maliyetleri optimize edin ve platformlarda tutarlı erişimi sürdürün.

Çoklu bulut dosya yönetimi, verilerin herhangi birini belirli bir dosya için geçerli bir konum olarak ele alan tek bir soyutlamanın arkasında iki veya daha fazla sağlayıcıda (örneğin AWS S3 artı Cloudflare R2 artı Backblaze B2) saklanması demektir. Pratik kazanımlar: satıcı arızalarına karşı koruma, sözleşme yenileme sırasında kaldıraç ve iş yükü başına doğru sağlayıcıyı seçerek çıkış maliyetlerini neredeyse sıfırda tutma yeteneği. Teknik bileşenler: ortak dil olarak S3 uyumlu API, taşınabilir istemci olarak rclone veya MinIO Gateway, hangi sağlayıcının her nesneyi tuttuğunu kaydeden bir meta veri indeksi (Postgres veya DynamoDB uyumlu) ve HashiCorp Vault veya AWS Secrets Manager aracılığıyla CI ile uygulanabilir kimlik bilgisi envanteri.

Bağımlılığın Gerçek Maliyeti

Bağımlılık nadiren tek bir büyük fatura olarak gelir — yüzlerce küçük sürtüşmedir. Kodunuz aws s3 cp kullandığında, us-east-1'i sabit kodladığında, S3 Select'e güvendiğinde veya DynamoDB akışlarına bağımlı olduğunda, başka bir yere taşınmak tüm bunların yeniden yazılması demektir. Çıkış ücretleri en görünür vergidir: AWS, ilk 10 TB için GB başına 0,09 $ faturalandırır. AWS'den 50 TB taşımak, mühendis süresi sayılmazsa yalnızca bant genişliğinde yaklaşık 4.000 dolara mal olur.

Daha az belirgin olanlar: Glacier vault kilitleri, S3 olaylarında Lambda tetikleyicileri veya IAM Erişim Çözümleyicisi gibi tescilli özellikler, tamamı göç projesine dönüşür. Çoklu bulut, her şey için her bulutu kullanmak değildir — çıkış kapısını açık tutmak, böylece fiyatınızın ve güvenilirliğinizin dürüst kalmasını sağlamak anlamına gelir.

Ortak Zemin Olarak S3 Uyumlu API

Artık neredeyse her nesne depolama sağlayıcısı S3 API konuşur: AWS, Backblaze B2, Cloudflare R2, Wasabi, Google Cloud Storage (birlikte çalışabilirlik moduyla), Azure Blob (üçüncü taraf ağ geçidi aracılığıyla) ve kendi barındırdığınız MinIO veya Ceph RGW. Bu, bir SDK'nın hepsini kapsadığı anlamına gelir:

import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3';
const r2 = new S3Client({
  region: 'auto',
  endpoint: 'https://account.r2.cloudflarestorage.com',
  credentials: { accessKeyId, secretAccessKey }
});
await r2.send(new PutObjectCommand({
  Bucket: 'transfers', Key: 'file.zip', Body: stream
}));

S3 API alt kümesine bağlı kalmak (PUT, GET, LIST, DELETE, çok parçalı, ön imzalı URL'ler) tam taşınabilirlik sağlar. Her arka uçta bu özellik için bir planınız olmadıkça s3:GetObjectLegalHold gibi sağlayıcıya özgü çağrıları atlayın.

Sağlayıcıları Bir Yönlendiricinin Arkasında Soyutlama

Mantıksal yolları fiziksel bucket'lara eşleyen küçük bir yönlendirici oluşturun. Kodda bir işlev olarak:

interface Store { put(key, stream); get(key); delete(key); }
class MultiCloudRouter implements Store {
  constructor(private index: Index, private stores: Record<string, Store>) {}
  async put(key: string, stream: ReadableStream) {
    const provider = chooseProvider(key);
    await this.stores[provider].put(key, stream);
    await this.index.record(key, provider);
  }
  async get(key: string) {
    const provider = await this.index.lookup(key);
    return this.stores[provider].get(key);
  }
}

chooseProvider politika odaklı olabilir: bölge yakınlığı, maliyet katmanı, çoğaltma gereksinimi veya sağlayıcılar arası basit döngüsel dağılım. İndeks (Postgres tablosu veya DynamoDB), nesne konumu için tek doğruluk kaynağıdır.

Sağlayıcılar Arası Maliyet Optimizasyonu

Fiyatlar büyük ölçüde değişir:

  • AWS S3 Standard: GB depolama başına 0,023 $, GB çıkış başına 0,09 $
  • Cloudflare R2: GB depolama başına 0,015 $, 0 $ çıkış
  • Backblaze B2: GB depolama başına 0,006 $, GB çıkış başına 0,01 $
  • Wasabi: GB depolama başına 0,0069 $, ücretsiz çıkış (aylık depolananın 1 katına kadar)
  • AWS S3 Glacier Deep Archive: GB depolama başına 0,00099 $, GB çıkış başına 0,02 $ artı alma ücretleri

Akıllı yönlendirme politikası:

  • Kullanıcıya yönelik indirmeler: R2 (ücretsiz çıkış rekabeti burada öldürür)
  • Soğuk arşiv: S3 Glacier Deep Archive
  • Bölgesel yedeklilik: B2 (ucuz, güvenilir, AWS'den farklı kurumsal risk yüzeyi)
  • Uzun saklama süreli uyumluluk kopyası: Nesne kilidi ile Wasabi

Aylık 50 TB giden trafik yapan bir dosya transfer hizmeti için çıkışı S3'ten R2'ye geçirmek, başka hiçbir şey yapmadan aylık 4.500 dolar tasarruf sağlar.

Verileri Sağlayıcılar Arasında Senkronize Tutma

Sağlayıcılar arasında çoğaltmak istediğiniz kritik veriler için rclone'un senkronizasyonunu veya bisync'i kullanın:

rclone sync r2:transfers b2:transfers-mirror --transfers 16 --checksum

Sürekli çoğaltma için ya AWS S3 Çapraz Bölge Çoğaltma (Lambda aracılığıyla harici hedefleri destekler) ya da kuyruk tabanlı çoğaltıcı: her PUT'u SQS/Kafka'ya gönderin, tüketici kuyruktan okur ve ikincil sağlayıcıya yazar. Dakikalar mertebesinde RPO ile nihai tutarlılık.

Her şeyi çoğaltmayın. Yalnızca yeniden oluşturamadığınızı çoğaltın: kullanıcı tarafından yüklenen baytlar evet; yapı artefaktları muhtemelen hayır; veri ambarınızda da mevcut olan analiz günlükleri kesinlikle hayır.

Hataya Açık Olmayan Kimlik Bilgisi Yönetimi

Çoklu bulut daha fazla kimlik bilgisi demektir ve sızan kimlik bilgileri ihlallerin nasıl gerçekleştiğidir. İki uygulama:

  • Merkezi gizli depolama: HashiCorp Vault, AWS Secrets Manager veya Google Secret Manager. Anahtarları hiçbir zaman Git'e kaydetmeyin; CI'da gitleaks ile tarayın.
  • Kısa ömürlü, kapsamlı belirteçler: Kalıcı erişim anahtarları yerine STS belirteçlerini tercih edin. Her kimlik bilgisini bir bucket'a ve gerekli minimum fiillere kapsamlayın.

Uzun ömürlü anahtarlar için 90 günlük programda, STS için 1 saatlik programda otomatik olarak rotasyona alın. Her anahtarı owner, purpose ve expiry ile etiketleyin. Sahipsizleri aylık gözden geçirin.

Birleşik İzleme ve Günlük Kaydı

Sağlayıcılar genelinde gözlemlenebilirlik, herhangi birinin içinde olduğundan daha fazla önem taşır. Tüm sağlayıcı erişim günlüklerini tek bir havuza gönderin:

  • S3 Sunucu Erişim Günlükleri → CloudWatch → OpenSearch
  • R2 erişim günlükleri → Cloudflare Logpush → S3 → OpenSearch
  • B2 Olay Bildirimleri → webhook'lar → Loki

Birleşik gösterge panelleri şunları gösterir: sağlayıcı başına istek sayısı, hata oranları, p99 gecikme, bucket başına çıkış baytları, neredeyse gerçek zamanlı maliyet birikimi. Herhangi bir sağlayıcının beklenen günlük çıkışını 2 kat aşması durumunda uyarın (sızan ön imzalı URL'ler veya tarayıcı kötüye kullanımı için iyi bir sinyal).

Çoklu Bulut Altında Yönetişim ve Uyumluluk

Çoklu bulut, uyumluluk yüzeyini çarpar. Her sağlayıcının kendi veri işleme anlaşması, kendi alt işlemci incelemesi ve kendi denetim izi gerekir. Pratik adımlar:

  • Her veri sınıflandırmasını (genel, dahili, gizli, kısıtlı) izin verilen sağlayıcılarla eşleştirin
  • Yerleşimi belgeleyin: AB dışına GDPR Madde 44 transferleri geçerli bir mekanizma gerektirir (SCC'ler, yeterlilik kararı). AB kapsamlı verileri R2 AB bölgesinde veya OVH Nesne Depolamada tutun.
  • KVKK Madde 9 kapsamında, Türkiye'deki kişisel verilerin yurt dışına aktarımı ya açık rıza ya da kişinin açık rızasına ya da yeterli koruma kararına dayanmalıdır.
  • Alt işlemcileri takip edin. Bir sağlayıcı yeni bir alt işlemci eklediğinde, Madde 28(2) kapsamında müşteri bildirimi gerekebilir.
  • Denetim günlüklerini birincil sağlayıcıdan bağımsız olarak çoğaltın — CloudTrail'i etkileyen bir AWS olayı, denetim geçmişinizi de beraberinde götürmemeli.

İhtiyaç Duymadan Önce Çıkış Planı Oluşturma

Güvenilir bir çıkış planının üç bölümü vardır: her bağımlılığın envanteri, test edilmiş bir göç betiği ve çıkış için bütçe. Envanter; kod, IaC (sağlayıcıya özgü kaynaklara sabitlenmiş Terraform modülleri), IAM politikaları, bucket'lar ve tüm CDN kaynak yapılandırmalarını içerir. Göç betikleri çürümemesi için üç ayda bir kuru çalıştırma modunda çalıştırılabilir olmalıdır. Çıkış bütçesi: geçiş sırasında muhtemelen yeniden işlem yapacağınızdan, depolanan hacminizin 1,2 katını planlayın.

Bir sağlayıcıdan hiç çıkmasanız bile, prova edilmiş bir planın varlığı sözleşme yenileme müzakerelerine ağırlık katar; beklenmedik bir fiyat artışı veya hizmet değişikliği ekibi felç etmez.

HexaTransfer, sağlayıcı seçimini açık tutmak için özellikle S3 uyumlu bir depolama katmanında çalışır — büyük dosyalar taşıyan herhangi bir ekip için eşit derecede işe yarayan bir strateji. hexatransfer.com'da deneyin — ücretsiz, hesap gerekmez, maksimum 10 GB.

Çoklu Bulutun Aşırı Olduğu Durumlar

Çoklu bulut ücretsiz değildir. Mühendislik karmaşıklığı, çoğaltılmış araçlar ve operasyonel yüzey alanında ödeme yaparsınız. 10'dan az mühendisli tek ürünlü ekipler için bir sağlayıcı seçin, hacim fiyatlandırması müzakere edin ve kazanılan karmaşıklığı ürüne yatırın. Çoklu bulut, şu üç eşikten birine ulaştığınızda maliyetini karşılar: uyumluluk yargı alanları genelinde veri yerleşimi gerektiriyorsa, güvenilirlik sağlayıcı düzeyinde yedeklilik talep ediyorsa (yalnızca bölge değil) veya tek satıcıya karşı tedarik kaldıracı işletme için önem taşıyorsa. Bu eşiklerin altında, temiz bir soyutlama katmanı ve belgelenmiş çıkış planıyla tek bulut genellikle pragmatik seçimdir.

Uçtan uca şifreleme ile büyük dosyaları güvenle gönderin

Uçtan uca şifreleme ile 10 GB'a kadar dosya ücretsiz aktarın. Hesap gerekmez. Dosyalarınız yüklenmeden önce tarayıcınızda şifrelenir — başka kimse okuyamaz.

Dosya gönder