Prskavčí blog

Mar 14, 2011 - Comments

phpfog - cloudové řešení pro PHP?

Pokud se zajímáte o cloudové technologie, tak možná znáte Heroku. Heroku je pěkné řešení pro Ruby, které vám umožní vytvářet aplikace v Sinatře nebo v Rails a deployment provádět pomocí Gitu. Pro PHP mi něco takového dlouho chybělo, ale začíná se částečně situace vylepšovat, protože je na světe PHP Fog.

Co vám přinese PHP Fog

Mě se na cloudovém řešení libí, že je to pro vývojáře jednoduché a praktické. Nemusím řešit server, jeho provoz. Jen si nastavím konfiguraci apache, php.ini a vytvořenou aplikaci si přes git push pošlu na server k deploymentu a za pár okamžiků to běží.

Podobně to lehce vyřeším i na svém serveru pomocí SSH a Capistrano, ale stejně se musím starat o instalaci VPS. Jednodušší varianta je jen hosting s SSH přístupem například co mám na Hostmonster. Tam je problém, ale se škálováním pokud by se stal projekt úspěšný.

Ukážu jak jsem během 5min rozběhl Zend Framework projekt s CouchDb hostovanou na couchone hostingu. Můžete použít MySQL, další db přímo hosting nepodporuje. Doufám, že to časem rozšíří hlavně o podporu PostgreSQL a některé NoSQL (CouchDb, MongoDb).

  • PHP Version 5.3.2
  • Apache Version 2.2.14
  • MySQL Version 5.1.41

Vytvoření nové aplikace

Po přihlášení, zatím přístup je omezen, registrace přes nějaké Sign Up kódy, dostupný link najdete na homepage PHP Fog. Pokud chci vytvořit novou aplikaci, musím si vybrat profil, kde jsou setupy pro známé frameworky nebo přímo aplikace.

Já jsem zvolil zend framework a pokračoval k dalšímu kroku, kde si vybere formu hostingu. Na prvních 6 měsíců můžete zvolit variantu zdarma. V dokumentaci se píše, že bude po těch 6 měsících nějak zpoplatněna. To si myslím, že není moc dobrý tah a autoři doufám od toho upustí.

Po zvolení tarifu tak se dostanete do nastavení kde je potřeba poladit pár věcí a udělat si checkout Git repository pro váš projekt. Najde si v nastavení také nastavení Vhostu apache a php.ini.

Hlavní nastavení je nahrání SSH public key pro přístup ke Gitu, podobně jako na Githubu. Škoda, že se nedá přímo integrovat například pomocí nastavení remote větve na Github server. SSH a FTP přístup není k dispozici.

Potom jsem udělal git checkout, nahrál do repository kód a pomocí git push spustil aplikaci, která běží na doméně podle jména které zadáte při vytváření aplikace. Provoz aplikace částečně můžete kontrolovat pomocí nahlížení do logů apache přes webové rozhraní.

Závěr

Projekt je na začátku a doufám, že bude mít štěstí a že se mu brzo objeví i další konkurenti, protože do Heroku to má daleko, ale jdou dobrou cestou. Trochu mi přijde cenová politika trochu dražší než bežná jiná řešení, ale asi to bude daň za provoz na Amazon cloudu (MySQL).

Pokud jste to někdo další vyzkoušeli nebojte se o to s námi podělit, případně nevíte někdo o dalších alternativách pro PHP?