vmForce – Cloud Java Platformu
Salesforce ile VMware'in nisan ayında duyurduğu VMforce, kurumsal Java geliştiricileri için tasarlanmış yeni nesil PaaS. SpringSource framework'ü, vSphere altyapısı ve Salesforce servisleriyle Azure ve App Engine'e ciddi bir rakip geliyor.
Bulut tarafında bu yılın en dikkat çekici hamlelerinden birini bence VMware ile Salesforce.com nisan ayında birlikte yaptılar: VMforce. Kurumsal Java geliştiricileri için tasarlanmış, VMware altyapısı ve SpringSource framework’ü üzerinde koşan, Salesforce.com tarafında barındırılan bir Platform-as-a-Service. Henüz genel kullanıma açılmadı ama duyurusu bile pazarın dengesini etkileyecek nitelikte.
Önce Bağlam: VMware’in Spring Hamlesi
VMware geçen yıl SpringSource’u satın aldı ve bu hamleyi takiben Spring framework’ünü kanatları altında geliştirmeye başladı. Spring, kurumsal Java geliştiricilerinin son yıllarda EJB ağırlığından sıyrılmasını sağlayan en önemli framework’lerden biri. VMware bu satın alımla sanallaştırma ve sunucu tarafındaki gücüne uygulama katmanı bilgi birikimini de eklemiş oldu. Pek çoğumuz “VMware bu yatırımı sadece veri merkezi içi sanallaştırma için yapmaz” diye düşünmüştük; nitekim VMforce duyurusu bu öngörüyü doğruladı.
VMforce Nedir?
Mimariyi sade anlatmaya çalışayım. Aşağıdan yukarıya doğru:
- Altyapı: VMware vSphere üzerinde çalışan, Salesforce.com’un kendi veri merkezlerinde işletilen sanal makine havuzu.
- Çalışma zamanı: SpringSource tc Server (Apache Tomcat tabanlı, kurumsal Spring desteğiyle güçlendirilmiş Java uygulama sunucusu).
- Framework: Spring 3.0, kurumsal Java geliştirici tabanının büyük çoğunluğunun zaten kullandığı framework.
- Veri tarafı: Salesforce.com’un Force.com Database’inden faydalanan, REST API’leri üzerinden konuşulan yönetilen veri servisi.
- Servis entegrasyonu: Chatter, Force.com kimlik doğrulaması ve diğer Salesforce servislerine doğrudan API erişimi.
Bir geliştirici olarak bakarsanız: bildiğiniz Spring uygulamasını yazıyorsunuz, WAR olarak paketliyor, VMforce’a yüklüyor ve bitiriyorsunuz. Yatay ölçeklenme ve dayanıklılık platformun sorumluluğunda. Veri tabanı için ya Salesforce’un yönetilen veritabanını ya da uyumlu üçüncü taraf servisleri kullanıyorsunuz.

Neden Önemli?
Kurumsal seviyede uygulamaların büyük çoğunluğunun arkasında Java ya da .NET yatıyor. .NET tarafı için Microsoft, Şubat’ta Azure’u GA’ya geçirdi ve agresif biçimde konumlandırdı. Java tarafında ise eşdeğer ağırlıkta bir oyuncu yoktu. Evet, Google App Engine geçen yıldan beri Java destekliyor; ama App Engine’in oturduğu sandbox modeli (dosya sistemine yazmak yok, uzun süren işlemler yok, Datastore zorunlu, JRE’nin bazı kısımları kısıtlı) kurumsal Java geliştiricilerinin alışkanlıklarıyla çok uyuşmuyor. Mevcut Spring/Hibernate kod tabanını alıp App Engine’e taşımak çoğu zaman pratik değil.
VMforce’un farkı tam burada: Standart Spring uygulamasını, kurumsal Java geliştiricisinin yıllardır kullandığı yapıyı, neredeyse hiç değiştirmeden bulut ortamında koşturma vaadi. Bu da onu Java cephesinde Azure’a ve App Engine’e karşı en güçlü PaaS adayı haline getiriyor.
Microsoft’un endişelenmesi gereken yer şu: .NET’in Java karşısındaki kurumsal pazar liderliği iddiasında zayıflık var ve VMforce bu açığı bir PaaS sunumuyla derinleştirebilir. Google’ın endişelenmesi gereken yer ise daha net: App Engine’in Java tarafındaki konumu, kısıtlamaları nedeniyle sallantıda kalacak.

VMware’in Daha Büyük Stratejisi: vCloud
VMforce’u yalnız başına değil, VMware’in geçen yıl duyurduğu vCloud çerçevesinin bir parçası olarak okumak lazım. VMware, mevcut müşterilerinin veri merkezi içindeki vSphere altyapısını bulut sağlayıcılarına uzatmayı, vCloud Director ile bu çoklu kiracı (multi-tenant) ortamı yönetmeyi ve vCloud API üzerinden federasyon sağlamayı hedefliyor. Terremark, Verizon ve diğer pek çok sağlayıcı vCloud Express ile bu çerçeveye dahil oldu. VMforce ise bu çerçevenin üzerinde, doğrudan uygulama geliştirici katmanına dokunan ürün katmanı.
Yani VMware’in bulut stratejisi katmanlı: alt katmanda vSphere + vCloud, üst katmanda VMforce gibi PaaS ürünleri. Önümüzdeki dönemde benzer ortaklıkların farklı dillerde de açıklanması beni şaşırtmaz.
Salesforce için Anlamı
Salesforce.com tarafından bakarsanız bu hamle pek çok açıdan akıllıca. Force.com platformu zaten vardı ama Apex diline ve Visualforce’a bağlıydı; bu da onu kurumsal Java geliştirici tabanının önemli bir kısmı için erişilmez yapıyordu. VMforce ile Salesforce şu adımı atıyor: “Apex öğrenmek istemiyor musun? Sorun değil, Spring yaz, biz yine de senin platformuna seni bağlayalım.” Salesforce’un CRM dışına çıkıp genel amaçlı bir bulut platformu şirketi olma stratejisinde VMforce kritik bir tuğla.
Türkiye Perspektifi ve Öngörü
Türkiye’de kurumsal Java tabanı epey güçlü; bankacılık, telekom ve büyük perakende projelerinde Spring kullanan ekiplerin sayısı az değil. Bu ekipler için VMforce, bulut bilişime giriş için Azure’dan ya da App Engine’den çok daha “tanıdık” bir yol. Ancak ürünün Türkiye’den ne zaman ve hangi koşullarda kullanılabilir olacağı, hangi veri merkezi bölgelerinden hizmet vereceği, fiyatlandırması büyük belirsizlikler; duyurudan bu yana detay açıklanmadı.
Yine konu açılmışken Java ve Ruby on Rails (EngineYard, Heroku) için ciddi PaaS oyuncuları varken LAMP (Linux, Apache, MySQL, PHP) tarafında hâlâ pazarda ağırlığını koyacak bir proje yok. Bu boşluğu kim, ne zaman ve nasıl bir darbeyle dolduracak, bu da ayrı bir yazı konusu. Şimdilik VMforce’un ileride neye dönüşeceğini izleyeceğim; duyuruda anlatılan vaatleri ne kadar tutturabildiklerine GA çıkışından sonra dönmek isterim.
VMforce ile ilgili ayrıntılı açıklamayı Salesforce blog’undan okuyabilirsiniz.