Cloud LAMP Platformunun Fitilini Yakmaya Kim Cesaret Edecek?
Heroku Ruby'yi, App Engine Python ve Java'yı sahiplendi. Peki webin en yaygın stack'i olan LAMP, Linux/Apache/MySQL/PHP, bulut tarafında neden hâlâ ortada bir oyuncu çıkaramadı?
Linux, Apache, MySQL ve PHP’nin birleşimi olan LAMP açık kaynak yığını, bugün webdeki uygulamaların büyük çoğunluğunun temelinde duruyor. WordPress’i, Drupal’ı, MediaWiki’yi, irili ufaklı sayısız e-ticaret altyapısını ayağa kaldıran şey bu yığın. Buna rağmen bulut bilişim konuşmasının PaaS tarafında LAMP neredeyse görünmez halde. Sorulması gereken esas soru şu: LAMP, cloud pazarının neresinde?

Manzara: Heroku Ruby’yi, App Engine Python ve Java’yı Aldı
Ortalığa bir bakalım. Ruby ve özellikle Rails geliştiricileri için fiili PaaS standardı Heroku oldu; arkasında ayrıca Engine Yard gibi daha kurumsal odaklı bir ikinci oyuncu var. Python geliştiricileri için Google App Engine ilk günden beri çalışan, üstüne geçen yıl Java desteği de eklenmiş bir platform. Java tarafında bu nisan ayında VMforce duyurusuyla Salesforce ve VMware ciddi bir oyuncu olarak sahneye çıktılar. .NET için Microsoft Azure şubattan beri GA durumda.
PHP’nin durumu ise tuhaf. Webin en yaygın dili olduğu konusunda kimsenin itirazı yok. WordPress’i, milyonlarca site çalıştırıyor; Facebook bile arka tarafta PHP koşturuyor. Ama “PHP ve MySQL için Heroku” diyebileceğimiz bir oyuncu pratikte yok. LA kısmı (Linux + Apache) bu kadar popülerken neden MP kısmının yolunu kimse açmadı?
Geçtiğimiz Hafta Bir Hareket: PHP Fog
Bu yazıyı yazma sebebim aslında PHP Fog’un geçen hafta lansman duyurusunu görmemdi. Lucas Carlson’ın kurucusu olduğu PHP Fog, kendisini doğrudan “PHP için Heroku” olarak konumlandırıyor. Bir git push ile WordPress’inizi, Drupal’ınızı veya kendi PHP uygulamanızı dakikalar içinde production’a alabilmeyi vaat ediyorlar. Henüz beta aşamasında, davetli olarak gidiyor; ama bu boşluğa açık ve doğru cevap veren ilk girişim olduğu için yakından takip etmeye değer.
Bunun dışında Joyent bir süredir SmartPlatform tarafında PHP’yi de destekleyen bir yapı kurguluyor; Rackspace tarafında managed Cloud Sites ürünü zaten PHP’yi destekliyor ama saf bir PaaS deneyimi olmaktan ziyade hosting + cloud melezi gibi duruyor. Tabii bir de PHP’nin yaratıcılarından Zend’in geçtiğimiz aylarda 9 milyon dolarlık yatırım turunu kapattığı haberi var. Yatırımın bir kısmının “Zend Cloud” stratejisine gideceğini açıkladılar; Zend Server’ın bulut sağlayıcılarda standartlaşmasına yönelik bir hamleyi önümüzdeki aylarda görmemiz olası.

Heroku Tarzı bir PHP PaaS’i Neye Benzemeli?
Bu yazının kendi başına cevaplamaya çalıştığı diğer soru bu. Bir PHP geliştiricisinin gerçek anlamda kullanışlı bulacağı bir cloud platformu bence şu özelliklere sahip olmalı:
- Sıfır yapılandırma deploy: Mevcut bir LAMP uygulaması üzerinde değişiklik yapmadan, git push ya da basit bir CLI komutuyla canlıya alınabilmeli. WordPress, Drupal, Joomla, Magento gibi yaygın uygulamaların hazır şablonları olmalı.
- Managed MySQL: PHP geliştiricilerinin büyük çoğunluğu MySQL’le büyüdü. Bunun bulut karşılığı zorunlu. Yedekleme, replikasyon ve büyüme platform tarafında yönetilmeli.
- Cache katmanı: Memcached veya APC opcode cache gibi PHP performansı için kritik olan bileşenler, eklenti olarak takılabilir olmalı.
- Otomatik yatay ölçeklenme: PHP’nin shared-nothing yapısı aslında yatay ölçeklenmeye çok yatkın; sticky session yerine session storage’ı dışsallaştıran bir mimari sunmalı.
- PHP sürüm yönetimi: Hâlâ PHP 5.2 üzerinde koşan dev kod tabanları var; aynı zamanda PHP 5.3’ün yeni özelliklerini kullanmak isteyen yeni projeler de. Platformun her ikisini de aynı anda taşıması gerekiyor.
- Eklenti pazarı: Heroku’nun add-on marketplace modeli çok başarılı; PHP tarafında da SendGrid, NewRelic benzeri servisleri tek tıkla bağlamak iyi olur.
Neden Bu Boşluk Oluştu?
Birkaç sebep var diye düşünüyorum:
PHP’nin “her yerde çalışır” alışkanlığı. PHP’yi shared hosting’de 5 dolara koşturma kültürü çok güçlü; bu da geliştiricileri yıllar boyunca cPanel/Plesk gibi panellere alıştırdı. PaaS’in vaat ettiği “git push” akışı PHP topluluğunun büyük bir bölümü için hâlâ tanıdık değil.
Asıl güçlü oyuncuların önceliği başka yerlerde. Google, Microsoft ve Salesforce hep daha “kurumsal” diller üzerinde duruyor çünkü ödeme yapacak müşteri orada toplanıyor. PHP’nin geniş ama görece düşük gelirli geliştirici tabanı bu büyük oyuncular için PaaS yatırımı yapmaya değer görünmedi şimdiye kadar.
MySQL ve Oracle gerilimi. Sun’ın geçen yıl Oracle tarafından satın alınması MySQL’in geleceğini sektör için bir belirsizlik haline getirdi. Bazı geliştiriciler PostgreSQL’e, MariaDB forkuna ya da Cassandra/Couch gibi NoSQL alternatiflere yöneliyor. Bu fragmantasyon da “managed MySQL” tarafında yatırım yapmak isteyenleri tereddütte bırakıyor olabilir.
LAMP’in yaygınlığının ironisi. PHP ve MySQL’i her yerde çalıştırmak teknik olarak çok kolay; bu kolaylık bir paradoksal şekilde “PaaS’e ne gerek var” algısını yaratmış olabilir.
Bir Komplo Teorisi: Microsoft Burada Neden Yok?
Geçenlerde bir arkadaşla bu konuyu tartışırken “Abi MS Azure çok optimize, neden uğraşsınlar PHP ile, bak yerlerde sürünüyor” dedi. Kişisel görüşlerimi bu noktada katmak istemiyorum çünkü manidar bir cevap vereceğim, sonuçta “dünyanın en hızlı(!) otomobilinde tek başına keyifli turlamalar, rüyanda” demek dışında elimden bir şey gelmedi.
Microsoft yıllardır “PHP on Windows” diye bağırıyor, IIS üzerinde FastCGI ile PHP’yi destekliyor, hatta Azure tarafında PHP SDK’sı bile yayımladı. Eğer Azure’u gerçekten PHP geliştiricileri için de cazip bir PaaS yapmak isterlerse pazarın önemli bir parçasını ele geçirebilirler. Soru şu: neden bu kadar yavaş hareket ediyorlar? Cevabı bilmiyorum ama LA + MP’nin yıllardır kardeş kardeş geçindiği yığını bütün halinde sahiplenen bir oyuncunun çıkması için zemin müsait.
Türkiye Perspektifi ve Sonuç
Türkiye’deki web geliştirici tabanının çoğunluğu PHP yazıyor. Tek başına bu gerçek bile bir PHP PaaS’inin yerel pazarda ne kadar hızlı yayılabileceğinin işareti. Ne zaman ki “git push deploy”, managed MySQL ve auto-scale tek paket olarak makul bir fiyata gelir, küçük ve orta ölçekli ajansların shared hosting’ten cloud’a geçişi başlar.
PHP Fog’un bu boşluğa ilk net cevabı vermesi heyecan verici ama tek başına bir oyuncuyla pazar kategori olmuyor. Zend’in cloud stratejisini netleştirmesi, Joyent’in PHP tarafına ağırlık vermesi, hatta Microsoft’un Azure’da PHP’yi birinci sınıf vatandaş haline getirmesi gerekiyor. Önümüzdeki bir-iki yıl içinde bu cephede sert bir rekabetin başlayacağını umuyorum. Bekleyip görmek dışında elimizden çok da bir şey gelmiyor şu an.