Heroku’da Play! Framework Tecrübesi

Günümüzde PHP sunucusu bulmak artık işten bile sayılmaz, her yerde PHP koşturabilecek çok makul fiyatlarda sunucular bulmanız mümkün. Ama konu Java, Python, Ruby gibi dillere gelince hele bir de farklı framework’lerine gelince her sunucu istekleri karşılayamayabiliyor. Daha doğrusu bu dillerle yazılan uygulamaların başlangıçtaki tüketimi PHP’ye oranla biraz daha masraflı olduğu için bu dillere verilecek sunucularda fazladan satışlar (over-use) mümkün olmuyor. Doğal olarak taban fiyatlarda yüksek oluyor.

Dünyada cloud computing’in gerçek anlamda yaygınlaşmasıyla ekonomik sunucular bulmak mümkünleşti. Hatta bazıları uygunluğu abartarak geliştirme aşamasında ve az miktarda ziyaretçisi olan uygulamalara hizmetlerini ücretsiz sunuyorlar. Bunlardan en önemlisi tabi ki de Amazon.

Amazon üzerinde kendi sunucunuzu yapılandırabiliyorsunuz. Bunun yanında hazır veritabanı sistemleri ve CDN hizmetleri gibi birçok servis yapılandırılmış durumda, size sadece bunları kullanmak kalıyor. Üstelik yeni üyelik açtığınız zaman 1 yıl boyunca bu hizmetlerin hepsinden belli miktarlara kadar ücretsiz yararlanabiliyorsunuz. Şimdi gelelim yazının başlığında geçen Heroku‘ya.

Heroku sunucu yapılandırmalarının tamamını kendi üstüne almış ve scalability denen kavramın sorumluluğunu da kendisi yüklenmiş. Yani bugün tek çekirdek işinizi görürken yarın 3 çekirdek ihtiyacınız olursa bunu sadece 1-2 tık ile çözebiliyorsunuz.  Ücretlendirmesi de kullandığınız işlemci saati üzerinden yapılıyor. Eğer uygulamanızı o anda kullanan yoksa otomatik olarak boştaki işlem gücü kapatılıyor ve sizin fazladan ücret ödemeniz önlenmiş oluyor. Bütün bunların yanında uygulamanızda tek işlem birimi kullandığınız sürece sizden bir bedel talep etmiyorlar.

Deployment konusuna gelirsek, işin o kısmınında çok kolaylaştırıldığını söylemek isterim. Ben Play! Framework uygulamamı deploy ederken hiç sıkıntı yaşamadım desem yalan olmaz. Sitelerinde anlatılan basamakları sırayla uyguladığınızda normal bir git sunucusuna uygulama yükler gibi yüklemiş oluyorsunuz. Sizin adınıza onlar uygulamayı derleyip çalıştırıyorlar. Veritabanı olarak PostgreSQL kullanırsanız 10bin satırlık veriyi tutmanız ücretsiz, bunun yerine MySQL’u seçerseniz, add-on’lar kısmında ClearDB var bu seferde 5MB’lık verinizi ücretsiz olarak tutuyorlar. Uygulama belli bir kullanıcıya ulaştığı anda bedel ödemeniz gerekiyor ki başlangıç bence yüksek bedeller. Development sürecinden sonra alternatiflere göz atılmalı diye düşünüyorum.