MinIO'nun iyi yaptığı şey
Önce hakkını verelim: MinIO, S3 API'sini temiz uygulayan, binary ya da container çalışan her yerde koşan ve iyi donanımda etkileyici performans veren kaliteli bir açık kaynak yazılım (AGPLv3). Kısıtınız verinin fiziksel olarak kontrol ettiğiniz makinelerde kalması ise — yasal yerellik, kapalı ağ, zaten sahip olduğunuz bir rack — MinIO çoğu zaman doğru cevaptır ve aşağıdaki hiçbir şey bunun aksini savunmaz.
Bu rehberin gerçekte cevapladığı soru daha dar: ürünü depolama olmayan bir ekip için, gerçek maliyetler masaya konduğunda MinIO işletmek mühendislik zamanının en iyi kullanımı mı?
Kimsenin bütçelemediği kısım: işletmek
Üretimdeki bir depolama servisi, bitmeyen yükümlülükler listesidir. Diskler dolar ve bozulur — biri kapasiteyi izler ve yedeklilik bitmeden sürücü değiştirir. Güncellemeler düzenli gelir — biri sürüm notlarını okur, test eder ve cluster'ı kesintisiz döndürür. TLS sertifikaları süresi dolar. Erişim anahtarları rotasyon ve denetim ister. İzleme ilk olaydan önce var olmalıdır, sonra değil. Ve özyinelemeli olan: herkesin yedeklerini tutan depolamanın kendi yedeği, kendisi olmayan bir yerde durmalıdır.
Bunların hiçbiri herhangi bir salı günü zor değildir. Maliyet şu: hiç durmazlar, ürün işini bölerler ve aksatmanın bedeli yavaş bir sayfa değil — veri kaybıdır. "MinIO'yu bir VPS'e kurarız olur biter"in sessizce çağrılı-nöbetli bir yarı zamanlı işe dönüşmesinin sebebi bu asimetridir.
Kendin barındırmak ne zaman hâlâ doğru karar
İki yönde de dürüst olalım. Veri yasal ya da sözleşmesel olarak belirli makinelerde kalmak zorundaysa; halihazırda altyapı mühendisleri çalıştırıyorsanız ve bir servis daha marjinal yükse; ölçeğiniz özel donanımın her gigabayt-başı fiyatı yendiği kadar büyükse; ya da öğreniyorsanız — bir homelab MinIO'su S3 modelini her makaleden iyi öğretir, bu makale dahil — MinIO'yu kendiniz çalıştırın.
Bunların hiçbiri sizi tarif etmiyorsa — depolama inşa ettiğiniz şeyin kendisi değil bir bağımlılığıysa — disk alarmına harcanan her saat ürününüzden çalınan bir saattir. Yönetilenin gerekçesi budur.
"Yönetilen" bunun yerine ne koyuyor
cdn.com.tr'de aynı S3 yüzeyi — bucket'lar, erişim anahtarları, standart API — işlettiğiniz bir servis yerine mevcut hesabınızın bir özelliğidir. Dayanıklılık, kapasite ve güncellemeler bizim operasyon sorunumuz; siz panelden ya da tek cdnctl komutuyla bucket açar, bir anahtar çifti üretir ve araçlarınızı s3.cdn.com.tr'ye yöneltirsiniz. Bucket'lar container uygulamalarınıza bağlanır ve herkese açık nesneler hesabınızın geri kalanıyla aynı küresel edge'den sunulur — depolama ve dağıtım tek panelde, tek faturada; aylık 449₺'dan, 15 gün denemeyle.
Vazgeçtiğiniz şey depolama düğümlerinde root olmak ve MinIO'ya özgü admin konsolu, ILM politikaları gibi ekstralar. Geri aldığınız şey zaman — ve arıza kipi müşteri verisi kaybetmek olan bir sistemin eksilmesi.
Geçiş: tek komut, sonra endpoint değişimi
MinIO da cdn.com.tr de S3 konuştuğu için ağır işi MinIO'nun kendi istemcisi yapar. mc mirror, herhangi iki S3 endpoint'i arasında bucket içeriği kopyalar; kesintiden devam eder ve tekrar tekrar çalıştırılabilir — her geçiş yalnızca değişeni kopyalar. Böylece eski sistem yayındayken önceden eşitler, geçiş anında kısa bir son tur atarsınız.
Önceden eşitle, doğrula, sonra uygulama ayarındaki endpoint'i değiştir
# 1) mc'yi iki tarafa da tanit
mc alias set minio http://10.0.0.5:9000 MINIO_ACCESS_KEY MINIO_SECRET_KEY
mc alias set cdntr https://s3.cdn.com.tr CDNTR_ACCESS_KEY CDNTR_SECRET_KEY
# 2) bucket'i kopyala (istedigin kadar tekrar; yalnizca degisen aktarilir)
mc mirror --preserve minio/app-uploads cdntr/app-uploads
# 3) nesne sayisi ve boyutlar tutuyor mu dogrula
mc du minio/app-uploads
mc du cdntr/app-uploads
# 4) gecis: uygulama ayarinda S3_ENDPOINT (+ anahtarlar) degistir,
# son bir mirror turu at, eski sunucuyu emekli et
Gerçekçi bir maliyet karşılaştırması
Tablo tiyatrosunu geçelim: yalnızca VPS faturasını sayan bir kendin-barındır karşılaştırması kurgudur. Dürüst defterde üç satır var. Donanım ya da VPS kirası — görünen satır, çoğunlukla en küçüğü. Mühendislik saatleri — bir kez kurulum, sonra yukarıdaki bitmeyen yükümlülükler, zamanınızın gerçek fiyatından. Ve risk — kötü bir günün beklenen maliyeti: çifte disk arızası, ters giden bir güncelleme, hiç test edilmemiş yedek. Yönetilen depolama iki ve üçüncü satırları masanın bizim tarafına alır ve düz, öngörülebilir bir aboneliğe çevirir. Bu takasın kazanıp kazanmadığı ekibinize bağlı — yukarıdaki karar çerçevesinin fiyatları değil operasyon kapasitenizi sormasının sebebi tam olarak bu.
Sık sorulan sorular
MinIO'dan geçince mevcut S3 kodum çalışır mı?
Evet. İki taraf da S3 API'sini uyguladığı için AWS SDK'ları, presigned URL'ler ya da multipart upload kullanan uygulamalar çalışmaya devam eder — kodu değil, konfigürasyondaki endpoint URL'ini ve erişim anahtarı çiftini değiştirirsiniz.
Hepsini birden değil de kademeli geçebilir miyim?
Evet — önerilen yol bu. mc mirror artımlıdır: günler öncesinden eşitleyin, eski sistemi yayında tutun ve bucket ya da uygulama bazında, her seferinde kısa bir son turla geçin.
MinIO ticari kullanımda ücretsiz mi?
MinIO, AGPLv3 ile lisanslıdır: kullanımı ücretsizdir ama bazı şirketlerin dikkatle incelediği copyleft yükümlülükleri taşır; MinIO ayrıca ticari lisans satar. Bu inceleme kendin-barındır yolunun gerçek maliyetinin parçasıdır — bir blog yazısına değil (buna da), kendi hukukçunuza sorun.
cdn.com.tr'ye geçince indirme trafiğine ne olur?
Herkese açık nesneler hesabınızın önündeki küresel edge üzerinden sunulabilir; tekrar eden indirmeler her seferinde depolamaya gitmek yerine kullanıcıya yakın cache'ten cevaplanır — tek sunuculu bir MinIO'dan ayrılınca ilk fark edilen kazanım genellikle budur.