A modern server room featuring network equipment with blue illumination. Ideal for technology themes.
CloudSpark

Geçen hafta orta ölçekli bir lojistik firmasının BT müdürüne CloudSpark Cloud demosu yaptık. Portal’a giriş yaptık, sol menüyü açtım, “Compute → Virtual machines” sekmesinde “Create virtual machine” butonunu gösterdim. İlk sorusu beklediğim gibiydi: “Bu Azure Portal’a benziyor ama farklı, bu hangi platform?” Cevap: Virtuozzo Hybrid Infrastructure (VHI) Self-Service Portal. OpenStack tabanlı, white-label edilmiş, çoklu kiracı (multi-tenant) bir self-servis arayüz. CloudSpark olarak kendi markamızla, kendi kurallarımızla, Ankara/İzmir/İstanbul veri merkezlerimizdeki donanımlar üzerinde çalıştırıyoruz.

Bu yazıda CloudSpark Cloud’un altyapısını oluşturan VHI Self-Servis Portal’ı modül modül anlatıyorum. Hangi sekmenin ne işe yaradığı, ilk açılışta hangi ayarın yapılması gerektiği, en sık atlanan üç konu, ve sahada gerçekten zaman kazandıran kısayollar. Hayali isimler değil — portala bu hafta giriş yapan herhangi bir CloudSpark Cloud müşterisinin göreceği gerçek menü yapısı.

VHI Self-Servis Portal’ın yapısı

VHI Self-Servis Portal’ı iki kiracı seviyesi vardır: domain administrator (sizin kuruluşunuzun cloud yöneticisi) ve project member (proje seviyesinde kullanıcı). CloudSpark sizin için bir “domain” oluşturur; siz domain içinde istediğiniz kadar proje (project) ve kullanıcı yönetirsiniz.

Sol menüde altı ana bölüm görürsünüz. Her birinin altında alt sekmeler var:

Menü bölümü Alt sekmeler En çok kim kullanır?
Compute Virtual machines, Kubernetes clusters, Images, Volumes, SSH keys Sistem mühendisi, DevOps
Network Virtual networks, Virtual routers, Floating IPs, Security groups, VPN connections, Load balancers Network/DevOps
Storage Volumes, S3 buckets, Backup vaults Sistem + DBA
Identity Users, Projects, Domain settings, 2FA BT müdürü, SecOps
Notifications Sistem uyarıları, kota uyarıları, bakım bildirimleri Tüm kullanıcılar
Account Profil, API anahtarı, dil/saat dilimi, 2FA aktivasyon Tüm kullanıcılar

Saha kuralı: Yeni bir cloud müşterisinin ilk hafta üzerinde durması gereken üç şey — Identity’de proje yapısı, SSH keys yüklemek, 2FA aktive etmek. Bunlar yapılmadan VM oluşturmak teknik olarak mümkün ama yönetilemez bir altyapı doğurur.

İlk giriş ve 2FA

Portal’a ilk giriş bilgilerinizi CloudSpark hesap yöneticiniz e-posta ile gönderir: portal URL’si (örnek: https://portal.cloudspark.com.tr/), domain adı, kullanıcı adı, geçici şifre. İlk girişte sistem geçici şifreyi değiştirmenizi ister.

İkinci adım her zaman 2FA. Sağ üstte profil simgesine tıklayın → “Account” → “Two-factor authentication” → “Enable”. Karşınıza QR kod gelir; Microsoft Authenticator, Google Authenticator veya 1Password gibi TOTP uyumlu bir uygulamayla taratın. 6 haneli kodu doğrulayın. Bittiğinde kurtarma kodlarını mutlaka indirip güvenli bir yere kaydedin — şirket politikanız BitWarden, 1Password Teams gibi bir vault olabilir.

# 2FA kurulumunda dikkat edilecekler
1. QR kodu kişisel telefonla değil, kurumsal MFA cihazıyla taratın
2. Recovery kodlarını .txt dosyası olarak masaüstüne KAYDETMEYİN
3. En az iki domain admin hesabı için 2FA backup ayarlayın
4. Kurtarma kodları kullanıldığında otomatik olarak yenilenir

Compute modülü: dört ana kaynak

Compute, portal’ın ağırlık merkezi. Dört alt sekme var ve her biri farklı bir senaryoyu çözer.

Virtual machines

VM oluşturma sihirbazı (wizard) altı adımdan oluşur: Name → Flavor → Image/Volume → Networks → Security Groups → SSH key. CloudSpark’ta “Hot-plug vCPU & RAM” destekli flavor’lar kullanırız — VM’i yeniden başlatmadan vCPU/RAM artırılır. Üretimde çalışan bir veritabanı için bu özellik zaman zaman hayat kurtarır. Detayları sonraki yazıda anlatıyorum (post 17434).

Kubernetes clusters

VHI portal’ında Kubernetes oluşturmak gerçekten “tek tıkla” deneyimine yakın. “Compute → Kubernetes clusters → Create cluster” der demez sihirbaz açılır. Kararlar:

  • Kubernetes versiyonu: v1.28 / v1.29 / v1.30 / v1.31+ — production için bir önceki minor sürüm önerilir, böylece toplum tarafından test edilmiş olur
  • HA master: Tek master mı, üç master mı? Üretim için her zaman üç master (cost+%20 ama failover otomatik)
  • Worker pool: Boyut ve sayı, autoscaling min/max
  • CNI: Cilium eBPF (default) — performans ve NetworkPolicy desteği için ideal
  • StorageClass: NVMe-backed CSI volume — uygulamanın PV/PVC’leri otomatik provision edilir
  • GPU passthrough: AI/ML workload için belirli flavor seçilebilir

Cluster hazır olduğunda kubeconfig dosyası indirilir. CloudSpark cluster’ında bir özellik daha var: Prometheus + Grafana dashboard’u entegre olarak gelir. Ekstra Helm chart kurmadan node CPU, pod restart, control plane latency gibi temel metrikleri görürsünüz.

Images

VHI’da iki tür image var: System images (CloudSpark tarafından sunulan Ubuntu, Debian, CentOS Stream, Rocky Linux, AlmaLinux, Windows Server şablonları) ve Custom images (sizin yüklediğiniz QCOW2/RAW dosyaları). Custom image yüklemek için “Create image” → dosya seçin → minimum disk/RAM belirtin → upload. Yüklenen image artık tüm projelerde “Boot from image” akışında görünür.

Saha kuralı: Bir VM’i altın şablon (golden image) yapmak için “Actions → Create image” kullanın. Bu, mevcut VM’in disk snapshot’ını alıp custom image olarak kaydeder. Aynı uygulama on, yirmi VM’e tekrar tekrar deploy edilecekse altı saat tasarruf edersiniz.

Volumes

VM disklerinin yanında bağımsız “data volumes” oluşturabilirsiniz. NVMe SSD-backed, genişletilebilir (online resize), snapshot alınabilir, klonlanabilir, hatta projeler arası transfer edilebilir. Disk başına 32 snapshot. Bir veritabanı için her gece 02:00’de otomatik snapshot — aşağıda anlatıyorum.

Network modülü: SDN katmanı

VHI’ın Network modülü, OpenStack Neutron üzerine kurulu. SDN katmanı VXLAN overlay kullanır — yani sizin sanal ağınız fiziksel ağdan tamamen izoledir, başka müşterilerin trafiğini görmeniz mümkün değil.

Sekme Ne işe yarar? Tipik kullanım
Virtual networks Tenant’a özel sanal ağ + subnet (CIDR) Web/DB/cache için ayrı katmanlar
Virtual routers Subnet’leri birbirine veya dış dünyaya bağlar Distributed virtual router (her node’da)
Floating IPs Dışarıdan erişim için IPv4 NAT Web sunucu, jump host
Security groups L4 firewall kuralları SSH/HTTP/HTTPS izinleri
VPN connections Site-to-site IPsec/IKEv2 Hybrid setup, ofis bağlantısı
Load balancers HA VRRP, SSL offload, sticky session Web app, Kubernetes ingress

İlk gün setup’ı için tipik akış: önce bir Virtual network ve subnet oluşturun (örn. 10.0.0.0/24), sonra bir Virtual router yaratın ve hem subnet’e hem de “external” (public) ağa bağlayın. Bundan sonra VM’lere Floating IP atayabilirsiniz.

Security groups

VHI default’unda her VM “default” security group’una atanır ve bu group sadece egress izinleri var. Yani yeni oluşturduğunuz Linux VM’e SSH ile bağlanmak istediğinizde — bağlanamazsınız. Kendi security group’unuzu oluşturup ingress kuralı eklemeniz gerekir:

Yeni Security Group: web-tier
Ingress kuralları:
  - SSH (TCP/22) from 192.168.1.0/24  (sadece ofis CIDR'si)
  - HTTP (TCP/80) from 0.0.0.0/0
  - HTTPS (TCP/443) from 0.0.0.0/0

Egress kuralları (default tüm trafiğe izin verir):
  - All outbound

Saha hatası: Üretimde “SSH from 0.0.0.0/0” görmek istemezsiniz. Yine de demolarda hep böyle başlar; sonra unutulur. CloudSpark olarak müşteri portal’ına erişim sonrası ilk haftalık check’imiz “SSH 0.0.0.0/0 var mı” sorgusudur — yıl başından beri 12 müşteriden 9’unda en az bir VM’de bulduk.

Storage modülü: Block + Object

Storage iki temel sınıfa bölünmüş: Block storage (volumes) — VM’lere bağlanan diskler — ve Object storage (S3 buckets) — uygulama dataları, log arşivleri, statik web içerikleri için.

S3 Object Storage

VHI’ın S3 implementasyonu Amazon S3 API’siyle uyumlu. Yani aws-cli, boto3, MinIO client (mc), s3cmd, Cyberduck — hepsi çalışır. Portal’dan “Storage → S3 buckets → Create bucket” → bucket adı + region (CloudSpark’ta tek region: tr-ist-1) → gerekirse public access politikası. Sonra “Users → Add S3 user” ile bir IAM-benzeri kullanıcı oluşturup access key + secret key alırsınız.

# aws-cli ile CloudSpark S3'e bağlanma örneği
aws configure --profile cloudspark
# AWS Access Key ID: AKIA... (portal'dan kopyala)
# AWS Secret Access Key: ...
# Default region: tr-ist-1

aws --profile cloudspark --endpoint-url https://s3.cloudspark.com.tr 
    s3 ls

aws --profile cloudspark --endpoint-url https://s3.cloudspark.com.tr 
    s3 cp ./yedek-2026-04-25.tar.gz s3://veritabani-yedekleri/

Lifecycle policy desteği var — örneğin “30 gün sonra Glacier-benzeri soğuk depolama, 90 gün sonra otomatik sil” şeklinde kurallar yazılabilir. Yedek arşivleri için ideal.

Backup modülü: Compute backup

VHI portal’ının Backup özelliği, tüm VM’leri veya tek bir volume’ü zamanlanmış olarak yedekler. Tam (full) ve artımlı (incremental) yedek desteklenir. Retention policy’i (saklama süresi) yedek başına ayarlanır.

Tipik üretim VM yedek planı:

  • Pazartesi 02:00 → Full backup (önceki haftanın incremental zincirini bitirir)
  • Salı–Pazar 02:00 → Incremental backup
  • Retention: 14 gün (iki tam yedek döngüsü)
  • Storage: bucket’ta sıkıştırılmış olarak — disk tüketiminin ~%30-40’ı kadar yer kaplar

Restore işlemi tek tık: yedek listesinden seçilir, “Restore to new VM” veya “Restore in place” denir. Sahada en sık yapılan hata: retention policy’i 90 güne ayarlamak ama ardından quota’yı hesaplamamak. 200 GB’lık bir VM, 90 gün incremental ile 600 GB+ backup alanı tutar. Quota dolarsa yedekler başarısız olur — çoğu zaman fark edilmeden.

Identity modülü: Kullanıcı + proje yönetimi

VHI Identity yapısı OpenStack Keystone üzerine kurulu. Hiyerarşi: Domain → Projects → Users + Roles. Domain seviyesinde admin, proje seviyesinde member veya reader rolleri var.

RBAC ile şu pratik senaryolar mümkün:

  • Geliştirme ekibi sadece dev projesinde “member” — VM oluşturup silebilir
  • Operations ekibi tüm projelerde “admin” — quota değiştirebilir, kullanıcı ekleyebilir
  • Finans/CFO sadece “reader” — kaynakları görebilir ama dokunamaz, fatura panelini kullanır
  • External danışman sadece migration projesinde 30 günlük süreli member — proje kapanınca otomatik düşer

Notifications: kaçırılmaması gereken uyarılar

Notifications sekmesi sıklıkla göz ardı edilir. Burada üç tür uyarı toplanır:

  1. Resource notifications: VM build başarısız oldu, volume snapshot tamamlandı, backup hata aldı
  2. Quota notifications: CPU/RAM/Storage kotanız %80, %90, %100’e ulaştı
  3. Maintenance notifications: Compute node’unda planlı bakım var (live migration ile sıfır kesintili)

Saha kuralı: Kota %80’i geçince Slack/Teams webhook’una bağlayın. VHI’ın notification API’si vardır; basit bir Python script’i ile webhook’a forward edilebilir. Quota alarm’ı gece 3’te SMS/e-posta yerine Slack’e düşsün — sabah ekip pancake’lerinden önce bakar.

Sıkça sorulanlar

Self-Service Portal’a kimler erişir?

Sizin domain’inizdeki tüm kullanıcılar. Kullanıcı + şifre + 2FA. CloudSpark çalışanları sizin domain’inize erişmez — sadece sizin oluşturup paylaştığınız “support delegation” hesapları üzerinden, talebiniz olduğunda. Tüm erişimler audit log’da kayıt altındadır.

API erişimi var mı, Terraform çalışır mı?

Evet. VHI tam OpenStack-uyumlu REST API sunar. Terraform’un OpenStack provider’ı (terraform-provider-openstack) doğrudan çalışır. Ayrıca python-openstackclient (openstack server list, vb.) ve Ansible (os_server module) destekli. Bir DevOps mühendisinin GitOps pipeline’ı kurması yarım gün iş.

VMware’den geçişte VHI ne sunar?

Live migration, VM HA, distributed resource scheduler (DRS), snapshot, hot-plug — vCenter’da olan temel özelliklerin hemen hepsi var. Üstüne SDN, S3, Kubernetes ve self-service tenant portal’ı geliyor. Migration sırasında V2V (Virtuozzo’nun migration tool’u) ile .vmdk dosyaları doğrudan VHI volume’üne dönüştürülür. CloudSpark migration ekibi 50-100 VM’lik orta ölçek geçişi 2-3 hafta içinde tamamlar.

Multi-tenancy gerçekten izole mi?

Evet, üç katmanda: Compute izolasyonu (Linux cgroups + KVM), Network izolasyonu (VXLAN overlay, her tenant farklı VNI), Storage izolasyonu (volume access control + S3 IAM). Aynı fiziksel donanım üzerinde çalışmanıza rağmen başka bir CloudSpark müşterisinin verisini görmeniz teknik olarak imkânsız.

Özet: Portal’a ilk hafta yapılacaklar

  1. Geçici şifreyi değiştir, 2FA aktive et, recovery kodlarını sakla
  2. Domain altında en az 3 proje oluştur: prod, staging, dev
  3. SSH key’inizi yükle — VM oluştururken seçim için hazır olsun
  4. Bir Virtual network + Virtual router + external bağlantı oluştur
  5. “web-tier”, “db-tier”, “admin-tier” şeklinde Security group’ları hazırla
  6. S3 user oluştur, ilk bucket’ı yarat, lifecycle policy belirle
  7. Notification ayarlarını e-posta + Slack webhook’una yönlendir
  8. İlk VM’i oluştur — sonraki yazıda detayını anlatıyorum (Post 17434)

Self-Servis Portal’a erişim ve demo için CloudSpark hesap yöneticinizle veya iletişim formu üzerinden ulaşabilirsiniz. +90 (216) 528 14 14. Ankara/İzmir/İstanbul lokasyonlarımızda kendi donanımımız üzerinde, KVKK uyumlu, sertifikalı veri merkezlerinde hizmet veriyoruz.

Yorum yapabilmek için oturum açmalısınız.
🇹🇷 Türkçe🇬🇧 English🇩🇪 Deutsch🇫🇷 Français🇸🇦 العربية🇷🇺 Русский🇪🇸 Español