Object vs dosya vs blok depolama
Blok depolama ham bir disktir: hızlı, tek makineye bağlı ve veritabanınızın istediği birim. Dosya depolama (NFS ve benzerleri) paylaşılan bir klasör ağacıdır: tanıdıktır ama büyüdükçe kilitleme ve metadata darboğaz olur. Object storage ağacı tamamen bırakır — her nesne bir bucket içindeki düz bir isim uzayında, "faturalar/2026/08/1234.pdf" gibi bir anahtarla yaşar. Bu anahtar bir yola benzer ama sadece bir isimdir; hiçbir şeyin bir şeyin "içinde" olması gerekmez.
Object storage'ın bu kadar sakin ölçeklenmesinin sebebi bu tek tasarım kararıdır. Kilitlenecek dizin, fsck edilecek dosya sistemi, boyutlandırılacak volume yoktur. Depoladığınız kadar ödersiniz ve depo megabaytlardan terabaytlara taşınmadan büyür. Karşılığı: nesneler yerinde düzenlenmez, bütün olarak değiştirilir ve POSIX semantiği yoktur — canlı bir veritabanı için yanlış, uygulamanızın sunduğu ya da arşivlediği hemen her şey için doğru ev olmasının sebebi tam olarak budur.
"S3 uyumlu" gerçekte ne demek
Amazon S3 2006'da çıktı ve HTTP API'si, SQL'in veritabanları için olduğu gibi, object storage'ın fiili standardı oldu. S3 uyumlu bir servis aynı API'yi uygular; dolayısıyla S3 için üretilmiş bütün ekosistem — AWS CLI, her dildeki SDK'lar, rclone, restic, MinIO'nun mc'si, yedekleme eklentileri, statik site dağıtıcıları — değişmeden onunla da çalışır. Aracı farklı bir endpoint URL'ine yöneltirsiniz, alışkanlıklarınız aynen kalır.
Sizin için pratik anlamı şu: araç seviyesinde vendor lock-in yok. S3 API'sine yazılmış kod, iki satır konfigürasyonla — endpoint ve kimlik bilgileri — sağlayıcılar arasında taşınır. Yerelde bir S3 uygulamasıyla test edip üretimde başka birine, uygulama koduna dokunmadan dağıtabilirsiniz.
Bucket, anahtar ve endpoint — önemli olan üç kelime
Bucket en üst seviye kaptır ve adı servis içinde benzersizdir — proje ya da amaç başına açtığınız "sürücü" gibi düşünün (yüklemeler, yedekler, varlıklar). Erişim anahtarı çifti bir programın kimliğini kanıtlama şeklidir: access key ID onu tanımlar, secret key her isteği imzalar. Secret'ı parola gibi ele alın — yalnızca oluşturulurken gösterilir; koda değil, secret yöneticinize koyun.
Endpoint, S3 API'sinin yaşadığı URL'dir. AWS'te bölge biçimindedir (s3.eu-central-1.amazonaws.com); diğer sağlayıcılarda kendilerininki — cdn.com.tr'de s3.cdn.com.tr. Her S3 aracı endpoint değiştirmeyi kabul eder; "S3 uyumlu"nun pratikteki görüntüsü o tek bayraktır.
Zaten bildiğiniz AWS CLI — sadece endpoint değişiyor
# bucket olustur
aws --endpoint-url https://s3.cdn.com.tr s3 mb s3://app-uploads
# yukle ve listele
aws --endpoint-url https://s3.cdn.com.tr s3 cp ./foto.jpg s3://app-uploads/2026/foto.jpg
aws --endpoint-url https://s3.cdn.com.tr s3 ls s3://app-uploads/2026/
# butun klasoru esitle (deploy, yedek)
aws --endpoint-url https://s3.cdn.com.tr s3 sync ./public s3://app-uploads/site
İçine ne koymalı (ve ne koymamalı)
Object storage, bir kez yazılıp çok kez okunan dosyalarda değerini gösterir: kullanıcı yüklemeleri ve medya, görsel ve video, build çıktıları ve sürüm indirmeleri, log arşivleri, veritabanı dökümleri ve yedekler, sitenizin statik yarısı. Saklamak zorunda olduğunuz ama nadiren dokunduğunuz her şeyin de doğal yeridir — iyi düzenlenmiş bir deponun depolama karşılığı.
Yerinde düzenleme ya da kilit isteyen her şeyi dışarıda tutun: canlı veritabanı dosyaları, milisaniye-altı beklentili sıcak cache'ler ve bir sürecin sürekli sonuna eklediği dosyalar. Onlar blok depolamaya ya da yönetilen bir veritabanına aittir; object storage onların ürettiği kalıcı çıktıları devralır.
Herkese açık nesnelerin önüne CDN neden konur
Depolama ve dağıtım farklı işlerdir. Depolama asıl kopyayı dayanıklı tutar; CDN aynı isteği kullanıcılara yakın edge noktalarından binlerce kez cevaplar. Popüler bir dosyayı doğrudan depolamadan sunarsanız her indirme origin'e gider; öne bir edge koyarsanız origin her benzersiz dosyayı kabaca bir kez cevaplar, kalabalığı edge karşılar.
cdn.com.tr'de ikisi tek platformun parçasıdır: bucket'lar container uygulamalarınıza bağlanabilir ve herkese açık içerik, hesabınızın geri kalanını da sunan aynı küresel edge üzerinden servis edilir — tek panel, tek fatura, depolamanızla CDN'iniz arasında sağlayıcılar-arası egress sürprizi yok.
İnsanlara paraya mal olan hatalar
Object storage acılarının çoğunu üç desen açıklar. Birincisi herkese açık bucket: özel veri tutan bir bucket'ı dünyaya okunur bırakmak. Varsayılan private olsun; yalnızca kasıtlı önekleri açık yapın. İkincisi, egress'i gigabayt başına faturalayan sağlayıcılarda yoğun trafikli dosyaları doğrudan depolamadan sunmak — o fatura başarınızla büyür; öndeki bir edge cache onu düzleştirir. Üçüncüsü koddaki kimlik bilgileri: sızan bir secret key, hesaptaki her şeye tam erişim jetonudur. Amaç başına ayrı anahtar kullanın, ortam değişkeninde ya da secret yöneticisinde tutun ve sızdığından şüphelendiğiniz anahtarı döndürün.
Sık sorulan sorular
Object storage ile S3 bucket aynı şey mi?
Neredeyse. "S3" Amazon'un ürünü; bucket onun yaygınlaştırdığı kap kavramı. Object storage genel kategori; çoğu sağlayıcı S3 API'sini uyguladığı için "S3 bucket" gündelik dilde "herhangi bir S3 uyumlu servisteki bucket" anlamına gelir.
Bütün bir web sitesini object storage'dan barındırabilir miyim?
Statik kısımları evet — CDN arkasından sunulan HTML, CSS, JS ve görseller klasik bir desendir. Dinamik olan her şey (PHP, Node.js, veritabanı) bir çalışma ortamı ister; cdn.com.tr'de bunun için yönetilen WordPress, PHP ve container platformları var, varlıkları da bucket tutar.
Mevcut S3 araçlarım ve SDK kodum çalışır mı?
Evet — S3 uyumluluğunun amacı bu. AWS CLI'yı ya da SDK'yı bucket'ınızın erişim anahtarı çiftiyle https://s3.cdn.com.tr endpoint'ine yöneltin; zaten kullandığınız komutlar (cp, sync, presigned URL, multipart upload) aynı davranır.
Google Drive ya da Dropbox'tan farkı ne?
Onlar insanlar için dosya senkron ürünleri: uygulamalar, paylaşım pencereleri, senkron istemcileri. Object storage programlar için altyapıdır: uygulamanızın ölçekte nesne saklamak ve okumak için çağırdığı bir API. Bir uygulamanın yükleme özelliğini Dropbox üstüne kurmazsınız; masaüstünüzü de bir bucket'a senkronlamazsınız.