Minio ile Veri Depolama Stratejinizi Yeniden Düşünün!
Herkese merhabalar, son zamanlarda tanıştığım Minio’nun ne olduğunu sizlere bu yazımda anlatmaya çalışacağım.
Öncelikle nedir bu Minio onunla başlayalım.
Minio, açık kaynaklı ve oldukça popüler bir veri depolama aracıdır. Amazon S3 bulut depolama hizmeti ile neredeyse aynı hizmeti vermektedir. Fakat Minio’nun açık kaynak olması, ücretli S3 hizmetine göre Minio’yu daha popüler kılan kısımlardan biri. Ayrıca ölçeklenebilir, yüksek performanslı ve dağıtık bir depolama çözümü olmasından dolayı Minio’yu kendi altyapılarınızda istediğini kadar genişletebilir ve yüksek performans sağlayabilirsiniz. Bu özellikleri sayesinde büyük veri setlerini depolama, yönetme gibi operasyonlarda bizim için güzel bir seçenek. Kendine ait bir arayüzü olması sayesinde de veri yönetiminizi görsel olarak anlaşılır bir hale getirebilirsiniz.
Genel olarak avantaj ve dezavantajlarından bahsedecek olursak;
Avantajları:
- Açık kaynaklıdır ve ücretsizdir:
- Amazon S3 uyumluluğu: Minio, Amazon S3 protokolünü uygulayan bir yazılım olması dolayısıyla S3 uygulamalarıyla kolayca entegre olabilmesi anlamına gelir.
- Yüksek performans ve ölçeklenebilirlik: Minio, dağıtık bir depolama çözümü olduğu için birden fazla düğümü bir araya getirerek kapasiteyi genişletebilir ve iş yükleriniz büyüdükçe bununla başa çıkabilirsiniz.
- Yüksek kullanılabilirlik ve dayanıklılık: Veriler birden çok düğümde barındırılabildiği için yüksek kullanılabilirlik sağlar. Herhangi bir düğümümüz arıza verdiğinde bile kesintisiz erişim sağlayabiliriz. Ayrıca minio, parça serviyesinde önbellekleme ve hata düzeltme mekanizmaları kullanarak veri bütünlüğünüzü sağlar.
- Kolay Kurulum ve Kullanım: Minio’nun kurulum ve yapılandırılması kolaydır. İsteğinize göre yerel sunucularda veya bulut hizmetlerinde dağıtabilirsiniz. Ayrıca kullanışlı arayüzü sayesinde kolayca yönetebilirsiniz.
- Veri güvenliği: Minio, veri güvenliği için çeşitli güvenlik önlemleri kullanır. İstemci tarafında SSL/TLS şifrelemesini destekler ve sunucu tarafında erişim kontrol listeleri (ACL’ler), kimlik doğrulama mekanizmaları ve erişim anahtarları kullanır. Ayrıca, Minio verilerinizi şifreleyerek ek bir güvenlik katmanı sağlar.
Dezavantajları:
- Sınırlı Ekosistem: Minio’nun Amazon S3 uyumlu olması avantaj sağlasa da, Amazon S3'ün bütün özelliklerini burada bulmak mümkün olmayabilir. Amazon S3'ün ileri düzey özelliklerinden faydalanmak isterseniz Minio sizin için eksik kalabilir.
- Yönetim ve Bakım Sorumluluğu: Minio’nun açık kaynak olması kullanıcıların kendi altyapılarında Minio’yu yönetme ve bakım yapma sorumluluğunu yanında getirir.
- Sınırlı Destek: Yine Minio’nun açık kaynak olması destek konusunda da problem yaratabilir. Resmi destek sunan bir kuruluş olmaması, kullanıcıların sorunlarını çözmek için kendi başlarına veya topluluk desteğiyle yetinmeleri gerekir.
Bu avantaj ve dezavantajlara bakılırsa, ileri düzey bulut depolama sistemine ihtiyacınız yoksa, güvenli ve ölçeklenebilir bir şekilde yüksek performansla depolama işlerinizi gerçekleştirmek istiyorsanız ve gerekli altyapıyı kendiniz sağlayarak bakımını gerçekleştiririm diyorsanız kesinlikle kullanılabilir bir araç.
Minio Nasıl Kurulur?
Minio’yu Windows, MacOs veya Docker üzerinden kolayca kurabilirsiniz. Ben docker compose ile ilerleyeceğim. Fakat diğer seçenekler üzerinden daha detaylı almak isteyenleriniz varsa bu adresten dökümanı okuyabilirler.
Docker üzerinden ilerlemek isterseniz, ilk olarak bilgisayarınızda Docker Desktop’un kurulu olması gerekiyor. Bu link üzerinden işletim sisteminize göre indirip, kurulumunu yapabilirsiniz.
Bu aşamadan sonra bir docker-compose.yaml dosyası hazırlayıp bunu projemizi oluşturduktan sonra proje klasörü içerisine atabiliriz.
Kullandığım docker compose dosyasını aşağıdaki gibi oluşturabilirsiniz.
version: "2"
networks:
app-tier:
driver: bridge
services:
minio:
image: 'bitnami/minio:latest'
ports:
- '9000:9000'
- '9001:9001'
environment:
- MINIO_ROOT_USER=minio_user
- MINIO_ROOT_PASSWORD=minio_password
networks:
- app-tier
Dosyayı oluşturduktan sonra, dosyayı taşıdığınız dizinde terminal aracılığıyla docker-compose up komutu aracılığıyla container’ı ayağa kaldırabilirsiniz.
Daha sonra container’ı durdurmak için docker-compose stop, direkt durdurup container’ı silmek için ise docker-compose down komutlarını kullanabilirsiniz. Eğer durdurduktan sonra tekrar başlatmak istiyorsanız docker-compose start komutu ile başlatabilirsiniz.
Ve hazır!!
Container’ımızı ayağa kaldırdıktan sonra tarayıcımızdan 9001 portuna giderek(http://localhost:9001/login) minio arayüzüne erişebilirsiniz.
Kullanışlı arayüzü sayesinde dosyalarınızı ayrıca buradan da yönetebilirsiniz.
İyi okumalar!