Pantheon - cloud hosting pro Drupal

Reading time ~6 minutes

Pantheon (getpantheon.com) je poměrně nový, nepříliš známý a prozatím neveřejný cloud-based hosting vytvořený speciálně pro Drupal (či jeho odnože, jako je Openatrium). Samotný vývoj začal před více než dvěma lety mateřským projektem Mercury, jehož kódy jsou dnes veřejně dostupné ke stažení na Githubu, jelikož jeho vývoj byl ukončen po vytvoření samotného Pantheonu. Frontend Pantheonu běží na Drupal core. Dnes se Pantheon nachází ve druhé (pravděpodobně finální) verzi, která již umožňuje produkční (placené) hostování webů (osobních stránek i mohutných portálů - přeci jen, je to cloud…). Co všechno tedy Pantheon umí?

Vývoj

Vývoj webů na Pantheonu samozřejmě probíhá přímo v Drupalu stejně jako když máte čistý Drupal na jakémkoli hostingu. Systém práce s kódem (úpravy kódu, přidání a aktualizace modulů atp) probíhá jinak, než jste (pravděpodobně) zvyklí. Všechny změny se totiž musejí provádět přes Git (přístup na git je zabezpečen pomocí SSH klíčů, takže se o svá data nemusíte bát). Díky této feature jsem si pantheon velice oblíbil a začal jsem jeho vývoj pečlivě sledovat. Pro někoho, kdo chce Pantheon vyzkoušet, může být práce s gitem více než odrazující. Určitě se ale odradit nenechte a “git se naučte”. Pro základní správu (úprava vzhledu, aktualizace modulů) nepotřebujete žádné složité příkazy - vystačíte si s “fetch, pull, commit, add”.

Ti z vás, co se s gitem ještě nesetkali si možná řeknou “co je to za nesrozumitelnej nerdskej blábol”? Nebojte, nic složitého v tom není. Stručně řečeno, na počítači máte “složku s Drupalem”, ve které upravujete kód, spouštíte drushovské příkazy atp. Po dokončení požadovaných úprav změny “commitněte do gitu” (git si “zapíše”, jaké změny byly v kódu provedeny a zpracuje o nich interní “report”) a příkazem git push změny nahrajete na servery Pantheonu. Snadné, že?

Administrace - aneb v jednoduchosti je síla

V jednoduchosti je síla - v případě této administrace to platí několikanásobně. Po přihlášení uvidíte hlavní stránku - dashboard. Zde naleznete seznam vašich webů, ssh klíče, kreditní karty propojené s administrací a datum registrace (v době psaní tohoto článku se jednalo o datum, kdy jste použili invite kód). Grafika je jednoduchá a působí velice příjemným dojmem.

Administrace - správa webu

Na stránce pro správu webu ihned zaujme hlavní část stránky, ve které se zobrazují informace o jednotlivých commitech. Nyní se prosím podívejte na obrázek, abychom si jej mohli podrobně rozbrat:

Pantheon - provedené commity

Jednotlivé “bloky” označují jeden commit. Tučným písmem je vypsán nick a e-mail autora daného commitu (velice užitečné, když se na vývojí podílí více lidí). Pod jménem je uveden identifikační kód commitu a jeho zpráva. Pravá část bloku obsahuje čas, kdy byl commit vytvořen a “tagy” označující do jaké vývojové větve byl commit zařazen. “Vybledlý blok” indikuje, že daný commit již byl zařazen do větve live (co jsou to vývojové větvě si vysvětlíme za chvíli).

Administrace - správa webu - vývojové větve

Vývojové větve na Pantheonu jsou jednotlivé “verze” webu pro usnadnění vývoje - dev (vývoj), test - testování) a Live (produkční nasazení). V každé větvi může být jiný kód i jiný obsah. Tyto větve nemají nic společného s “branch-emi” v gitu a dokonce je přes git ani nejde nijak ovlivnit (přístup do gitu je povolen pouze ve větvi dev). Jednotlivé branche v gitu slouží pouze pro vás - odstranění bugů v kódu, úprava tématu apod. Jejich ovládání je možné pouze přes webové rozhraní.

Administrace - správa webu, druhá část

V pravé části administrační stránky naleznete dva bloky - Development site a Development content. Tyto ovládací bloky představují de facto všechna nastavení, které můžete v Pantheonu provést. Nyní bude následovat screen bloků následovaný popisem jednotlivých funkcí.

Administrace - správa webu - blok Development Site

Custom Domain Names - všechny weby vyvíjené na Pantheonu zdarma mají adresu branch-name.website-name.gotpantheon.com. Jakmile je web připraven, můžete jej začít na pantheonu definitivně hostovat, samozřejmě již za daný měsíční(roční) poplatek. Po zaplacení vám toto tlačítko umožní zpřístupnit web pod vaší doménou.
Site Cache - jednoduše vyčistí cache webu stejně, jako to lze udělat  administraci Drupalu nebo drushovským příkazem drush cc.
On Server Development - jak si pozorní čtenáři jistě všimli, vývoj webů na Pantheonu probíhá přes Git. Jsou tu ale stále tací, kteří se "odmítají git naučit" nebo jim prostě stále vyhovuje "staré dobré ftp". Proto tedy (cca měsíc před vydáním tohoto článku) tvůrci systému přidali možnost aktivovat přístup přes FTP pomocí tohoto tlačítka.
Site is Public - umožňuje uzamčít přístup k webu (nijak nezasahuje do Drupalu,zabezpečení je tvořeno pomocí souboru .htpasswd
Error Log - zobrazí error log Drupalu v přehledném a velmi dobře čitelném okně
Backups - vytvoří zálohu vývojové větve (databáze i souborů) ve které se právě nacházíte

Administrace - správa webu - blok Development Content

Content - umožňuje synchronizovat obsah z databáze jiné vývojové větve (použití: jakmile dokončíte úpravy ve větvi DEV, jednoduše přesunete soubory a databází do větve TEST pro testování)
Database - umožňuje stáhnout aktuální databázi vašeho webu (pokud chcete mít lokální verzi případně pokud chcete vývoj na Pantheonu ukončit a web přesunout na vlastní server) nebo databázi nahrát
Files - stejné možnosti jako pro databáze, pouze se zde pracuje se soubory Drupalu

Administrace - správa webu - Konfigurace stránky

V úrovni přepínačů vyvojových větví se nachází ještě jeden, stejně důležitý - Site Configuration.

Na stránce Site Configuration máte možnost stahovat jednotlivé zálohy případně smazat celý web. Dále můžete přidávat členy (musí být registrování v Pantheonu) do vývojového týmu (získají přístup do gitu) a přidat kreditní kartu ke konkrétnímu webu.

Administrace - správa webu - aktualizace jádra Drupalu

Jak jsem se již zmínil v části Vývoj, moduly i Drupal samotný je možné aktualizovat v lokální verzi webů pomocí modulu Drush a změny nahrát pomocí gitu. Pantheon ale nabízí možnost aktualizovat jádro Drupalu (např. aktualizace z verze 7.8 na 7.10) přímo ve webovém rozhraní.

Po kliknutí na tlačítko Apply Updates a potvrzení dojde (během několika vteřin až minut) k aktualizaci jádra a automatickému spuštění souboru update.php.TIP: pokud máte lokální vývojovou verzi tak si provedenou aktualizaci jednoduše stáhnete pomocí příkazu git fetch.

To by mělo být o vše o možnostech nastavení webu. Pojďmě se podívat na další vlastnosti.

Technická podpora

V době přípravy tohoto článku byla zveřejněna nová dokumentace. Její výhodou je integrace do systému technické podpory (helpdesku) pro uživatele.

Dokumentaci naleznete na této stránce: http://helpdesk.getpantheon.com/

Proč Pantheon používat?

Na dotaz čtenářů se pokusím stručně vyjmenovat výhody, které Pantheon nabízí oproti vývoji na stadnardním sdíleném hostingu/VPS.

nestaráte se o správu systému, optimalizaci databází ani o nic jiného - jednoduše vyvíjíte a hostujete web
integrace gitu - git ušetří při vývoji mnoho času a pokud pracujete v týmu, tak získáte i pohodlné, flexibilní a rychlé vývojové prostředí
více kreditních karet v systému - ke každému webu je možné přidat zvláštní kreditní kartu. Tato funkce je velice výhodná, pokud poskytujete hosting svým klientům.
jednoduché zálohování - zálohování na dvě klidnutí a neomezený přístup k souborům záloh - databáze i soubory
vývojové větve - při vývoji nemusíte řešit správu vývojových větví v gitu ale pouze přes administraci Pantheonu

Pantheon a Česká republika

Na otázku, zda se Pantheon hodí pro české prostředí není jednoznačná. Pokud jste vývojář a Pantheon budete využívat pouze pro vývoj a hosting hotových webů si zajistíte např. na svém serveru, pak je jeho použítí určitě výhodné. Pokud zde ale chcete hostovat weby českých klientů, může nastat několik problémů:

cena - cena hostování jednoho webu začíná na 25 dolarech za měsíc což není pro české klienty vhodné, jelikož nejsou na takové ceny zvyklí. V zahraničí je cenová politika hostingů naprosto odlišná. Klienti jsou ochotni si za kvalitu připlatit.
platba kreditní/platební kartou - ano, i taková primitivní věc, jako je on-line platba kartou může být pro tuzemské klienty něco neuskutečnitelného
vyšší odezva - ano, Pantheon je sice cloud-based systém, jenže ani to nezabrání vyšší odezvě webu (ping), jelikož datacentra Amazon a Rackspace jsou umístěna v Irsku a USA a to už přeci je několik tisíc kilometrů
git - pokud pracujete v týmu, může s nějakými vyvojáři nastat problém, jakmile jim oznámíte, že vývoj půjde přes git. V ČR jsou lidé pořád zvyklí na ftp, bohužel.

A jsme u konce. Líbil se vám článek? Máte výhrady? Napište prosím do komentářů vše co si myslíte. Máte s Pantheonem nějaké zkušenosti nebo již máte placený hosting? Podělte se o vaše zážitky. Děkujeme!