Cloud: Yeni Bir Teknoloji mi, Yoksa İyi Pazarlanmış Bir Veri Merkezi mi?

Son dönemlerde bolca duyduğumuz, sektörde bolca kullanılan kelimelerden biri: cloud. Peki nedir bu cloud? Bir tür sihir mi, farklı bir lokasyonda çalışan ve istenilen anda ulaşılıp ölçeklendirilebilen bir sistem mi, yoksa iyi bir pazarlamanın ürünü mü?

Birçok sunumda, iş toplantısında veya ürün tanıtımında cloud neredeyse sihirli bir teknoloji gibi anlatılıyor. Oysa perdeyi biraz araladığımızda aslında gördüğümüz şey oldukça tanıdık. Sunucular, network, diskler ve onların üzerinde çalışan işletim sistemleri.

Hatta teknoloji dünyasında oldukça popüler olan şu cümleyi duymuş olabilirsiniz:

“The cloud is just someone else’s computer.”

Evet, bence de bu cümle biraz alaycı ancak içinde önemli bir gerçek de barındırıyor. Cloud dediğimiz şeyin arkasında hala fiziksel sunucular, veri merkezleri ve onları yöneten sistemler var fakat bu tanım da tam olarak doğru değil.

Cloud'u gerçekten anlamak için biraz daha yakından bakmak gerekiyor.


Cloud gerçekten sadece bir sağlayıcıya ait sunuculardan mı oluşuyor?

Eğer Cloud'u sadece "bir sağlayıcının veri merkezindeki sunucular" olarak tanımlarsak kesinlikle eksik bir tanım yapmış oluruz. Cloud'un asıl farkı donanımın nerede olduğundan ziyade nasıl yönetildiğindedir.

Geleneksel bir veri merkezinde yeni bir sunucuya ihtiyaç duyulduğunda kabaca şu adımlar yaşanır:

  • Donanımlar satın alınır
  • Veri merkezinde satın alınan donanımların kurulumları yapılır
  • İşletim sistemi yüklenir
  • Network yapılandırılır
  • Storage bağlanır

Bu süreç bazen günler, bazen de haftalar sürebilir. Cloud ortamında ise aynı süreç genellikle tek bir API çağrısı veya birkaç satır Infrastructure as Code ile gerçekleşir. Dakikalar içinde yeni bir sistem ayağa kalkabilir.

İşte aslında Cloud’u farklı kılan şey altyapının hızlı provisioning ile oluşturulabilmesi ve kapasitenin elastik şekilde yönetilebilmesidir.


Cloud bir çeşit sihir mi?

Cloud platformlarının sağladığı bazı özellikler var ve bunlar gerçekten güçlüdür:

  • Self-service provisioning
  • API üzerinden altyapı yönetimi
  • Otomatik ölçekleme
  • Global veri merkezleri
  • Managed servisler

Bu özellikler sayesinde sistemler çok daha hızlı kurulabilir ve çok daha esnek hale gelebilir. Peki bu özellikleri sağlayan tek şey Cloud mu? Yerel olarak kurulmuş bir veri merkezinde de aynı özelliklere ve esnekliğe sahip bir sistem kurulamaz mı?

Self-service provisioning nedir, sadece Cloud'a mı özel?

Hayır, Cloud'a özel değil. Self-service provisioning aslında altyapının bir servis gibi sunulması işidir. Yani kullanıcı kendi ihtiyacını kendisi karşılar ama yine de belirli kurallar ve limitler vardır. Kısacası Self-service provisioning, kullanıcıların altyapı kaynaklarını (VM, network, storage vb.) başka bir ekipten manuel işlem beklemeden kendilerinin oluşturabilmesi modelidir.

Otomasyon ve Infrastructure as Code yaklaşımının henüz benimsenmediği bir veri merkezinde VM kurulumu bazen saatler, hatta günler sürebilir. Buna karşılık otomasyon ve Infrastructure as Code yaklaşımının benimsendiği bir veri merkezinde de benzer bir yapı rahatlıkla kurulabilir. Hatta bazı senaryolarda daha özelleştirilmiş ve dış bağımlılıkları daha düşük bir model de tasarlanabilir.

Yani kısaca Cloud self-service provisioning’i mümkün kılan teknoloji değil, bu yaklaşımı varsayılan olarak sunan platform modelidir.

API üzerinden altyapı yönetimi sadece Cloud ile mi mümkün?

Yine hayır, API üzerinden altyapı yönetimi sadece Cloud'a özel değildir. Bugün birçok geleneksel veri merkezi teknolojisi de benzer şekillerde API desteği sunuyor.

Örneğin:

  • VMware vSphere
  • OpenStack
  • Proxmox
  • Çeşitli storage sistemleri
  • Network cihazlarının modern yönetim arayüzleri

Bu tür sistemlerin büyük kısmı uzun süredir API üzerinden yönetilebilir durumdadır. Bu sayede altyapı bileşenleri otomasyon araçları ile kontrol edilebilir ve Infrastructure as Code yaklaşımı yerel veri merkezlerinde de uygulanabilir.

Cloud platformlarının farkı burada teknik olarak yeni bir şey icat etmeleri değil, API merkezli bir yönetim modelini tasarımlarının merkezine koymuş olmalarıdır. Başka bir deyişle API kullanımı cloud ortamlarında bir opsiyon değil, altyapının doğal çalışma biçimidir. Yerel veri merkezlerinde ise bu yaklaşım genelde sonradan kurulan otomasyon katmanlarıyla sağlanır. Cloud platformları bu modeli doğrudan servis olarak sunar.

Kısacası API üzerinden altyapı yönetimi Cloud'un tek başına sunduğu bir özellik değildir.

Otomatik ölçekleme sadece Cloud'a mı özel?

Bu yaklaşım ilk bakışta Cloud’a özgü bir yetenek gibi görünse de aslında otomatik ölçekleme kavramı cloud ile ortaya çıkmış bir teknoloji değildir. Yıllardır veri merkezlerinde çalışan birçok sistem benzer şekilde ölçeklenebilir mimariler ile tasarlanmıştır.

Örneğin:

  • Load balancer arkasında çalışan birden fazla uygulama sunucusu
  • Container orchestration sistemleri
  • Sanallaştırma platformları üzerinden hızlıca VM oluşturma
  • Orkestrasyon ve otomasyon araçları

Bu tür yaklaşımlar sayesinde sistemler ihtiyaç duyulduğunda genişletilebilir veya yeniden yapılandırılabilir. Cloud platformlarının sağladığı fark ise bu süreci daha hızlı ve daha entegre bir şekilde sunmalarıdır.

Birçok cloud sağlayıcısında yeni bir instance oluşturmak veya bir servisin kapasitesini artırmak doğrudan platform tarafından yönetilebilir. Monitoring sistemleri ile entegre çalışan otomatik ölçekleme mekanizmaları belirli metriklere göre yeni kaynakları devreye alabilir. Ancak bu noktada önemli bir ayrım var.

Cloud ortamlarında otomatik ölçekleme genellikle platformun sunduğu hazır servislerle gerçekleştirilir. Yerel veri merkezlerinde ise benzer bir mimari kurmak çoğu zaman daha fazla mühendislik ve otomasyon çalışması gerektirir. Yani aslında otomatik ölçekleme Cloud’a özgü bir fikir değildir. Cloud platformlarının yaptığı şey, bu yaklaşımı altyapının doğal bir parçası haline getirmek ve kullanılmasını kolaylaştırmaktır.

Peki fiziksel kaynaklarımızı büyütmek istersek?

Cloud platformlarının önemli avantajlarından biri de altyapı kapasitesinin büyük ölçüde sağlayıcı tarafından yönetiliyor olmasıdır. Tabii bu durum esneklik sağlasa da kapasite planlamasının ve maliyet kontrolünün önemli bir kısmını sağlayıcının modeline bağımlı hale getirir.

Yerel bir veri merkezinde tüm fiziksel sunucularınızın kapasitesini kullandığınız bir senaryoda yeni bir kaynak ihtiyacı ortaya çıkarsa genellikle yeni donanım temin edilmesi gerekir. Bu da çoğu zaman satın alma süreçleri, kurulum, network yapılandırması ve işletim sistemi kurulumu gibi adımlar nedeniyle belirli bir zaman alır.

Cloud ortamlarında ise altyapı sağlayıcının veri merkezleri üzerinde çok daha büyük ölçeklerde hazır bulunduğu için yeni kaynaklar çoğu zaman birkaç dakika içinde devreye alınabilir. Bu durum özellikle ani trafik artışları yaşayan sistemler veya kısa süreli yüksek kaynak ihtiyacı olan iş yükleri için önemli bir avantaj sağlar.

Global veri merkezleri bir zafiyet mi yoksa fırsat mı?

Cloud platformlarının sunduğu en önemli avantajlardan biri dünyanın farklı bölgelerinde bulunan veri merkezlerine kolay erişim sağlamasıdır. Büyük cloud sağlayıcıları onlarca farklı bölgede veri merkezi altyapısı işletir ve bu altyapı birkaç dakika içinde kullanılabilir hale getirilebilir.

Teorik olarak benzer bir mimariyi yerel veri merkezleri ile kurmak da mümkündür. Bir şirket farklı ülkelerde veri merkezleri kurabilir, ağ bağlantılarını oluşturabilir ve altyapıyı kendi başına yönetebilir ancak pratikte bu yaklaşım ciddi bir yatırım, operasyonel kapasite ve uzun süreli planlama gerektirir. Yeni bir ülkede veri merkezi kurmak yalnızca sunucu satın almak anlamına gelmez. Fiziksel barındırma, network bağlantıları, bakım operasyonları, güvenlik ve yerel düzenlemeler gibi birçok konunun da yönetilmesi gerekir.

Cloud platformları bu noktada önemli bir kolaylık sağlar. Kullanıcılar dünyanın farklı bölgelerinde bulunan altyapılara fiziksel bir yatırım yapmadan erişebilir ve sistemlerini farklı coğrafyalarda çalıştırabilir. Bu durum özellikle küresel kullanıcı kitlesine hizmet veren uygulamalar için önemli bir fırsat yaratır. Kullanıcıya daha yakın veri merkezlerinde çalışan sistemler sayesinde gecikme süreleri azaltılabilir ancak bu avantaj bazı sorumlulukları da beraberinde getirir. Verilerin hangi ülkede tutulduğu, farklı bölgeler arasındaki veri senkronizasyonu ve bölgesel kesintiler gibi konular sistem mimarisinde dikkatle ele alınmalıdır. Global altyapı kullanmak, dağıtık sistem tasarımını da beraberinde getirir.

Cloud'u parlatan olay: Managed servisler

Managed servisler, altyapının yalnızca sağlanmasını değil aynı zamanda işletilmesini de büyük ölçüde sağlayıcıya bırakmanızı sağlar. Klasik bir veri merkezi ortamında bir servisi çalıştırmak çoğu zaman yalnızca uygulamayı kurmak anlamına gelmez. İşletim sistemi kurulumu, servis yapılandırması, güvenlik güncellemeleri, yedekleme stratejileri, yüksek erişilebilirlik senaryoları ve izleme gibi birçok operasyonel detayın da yönetilmesi gerekir. Bu süreçler özellikle büyük sistemlerde ciddi bir operasyon yükü oluşturabilir. Managed servisler ise bu yükün önemli bir kısmını ortadan kaldırır.

Örneğin bir veritabanı servisini düşünelim. Geleneksel bir yaklaşımda veritabanı yazılımının kurulumu, patch yönetimi, replikasyon kurulumu, yedekleme ve failover senaryoları altyapı ekibi tarafından tasarlanır ve işletilir. Cloud platformlarında ise çoğu zaman bu bileşenler servis olarak sunulur. Kullanıcı yalnızca ihtiyaç duyduğu kapasiteyi ve yapılandırmayı belirler, servis altyapısı ise sağlayıcı tarafından yönetilir.

Bu yaklaşım özellikle küçük ekipler veya altyapı yönetimi yerine uygulama geliştirmeye odaklanmak isteyen organizasyonlar için önemli bir avantaj sağlar. Birçok karmaşık sistem bileşeni hazır servisler halinde kullanılabildiği için operasyonel yük önemli ölçüde azalabilir ancak managed servislerin sağladığı bu kolaylık bazı mimari kararları da beraberinde getirir.

Belirli bir sağlayıcının servislerine yoğun şekilde bağımlı olan sistemler farklı bir ortama taşınmak istendiğinde ek mühendislik çalışması gerektirebilir. Bu nedenle managed servisler güçlü araçlar olsa da sistem tasarımı yapılırken sağlayıcı bağımlılığı ve taşınabilirlik gibi konuların da değerlendirilmesi gerekir.


Cloud bizlere ne sunuyor?

Cloud çoğu zaman yeni bir teknoloji gibi anlatılsa da aslında altyapının temel bileşenleri değişmiş değil. Hala aynı sunucular, aynı ağlar ve aynı işletim sistemleri çalışmakta. Değişen şey aslında bu altyapının nasıl sunulduğu ve nasıl yönetildiğidir.

Cloud platformları altyapı yönetimi ile ilgili birçok süreci servis haline getirerek erişilebilir kılar. Yeni kaynakların dakikalar içinde oluşturulabilmesi, global veri merkezlerine hızlı erişim ve managed servisler sayesinde operasyonel yükün azaltılması gibi avantajlar bu yaklaşımın önemli sonuçlarıdır ancak bu durum Cloud’u her senaryo için tek doğru çözüm haline getirmez.

Yerel veri merkezlerinde de benzer otomasyon seviyelerine ulaşmak mümkündür ve bazı durumlarda bu yaklaşım daha fazla kontrol, esneklik veya maliyet avantajı sağlayabilir. Cloud’u anlamanın en doğru yolu onu bir mucize olarak görmek ya da tamamen bir pazarlama ürünü olarak değerlendirmek değildir.

Cloud, altyapının kendisini değiştiren bir teknoloji değil, altyapıyı tüketme ve yönetme biçimini değiştiren bir modeldir.

Perdeyi biraz araladığınızda gördüğünüz şey aslında hala oldukça tanıdık:
Sunucular, network, diskler ve onların üzerinde çalışan sistemler.