TIP#1369: Jaký je rozdíl mezi vývojovým (development), staging a ostrým (production) webovým prostředím?

Poněkud specializované téma se týká vývoje webů a webových aplikací – v příznivém a správně případě totiž budou existovat tři samostatná oddělená webová prostředí (weby) doplněná také oddělenými databázemi.

Vývojové (development) prostředí prakticky nikdy nebude dostupné jiným lidem, než lidem či firmě, ve které se daný web vyvíjí, buduje a programuje. Toto by nikdy nemělo být přístupné „zvenčí“ (z Internetu). Vždy by mělo být jenom uvnitř firmy, na interních serverech a přístup tedy buď jen pokud přistupující je přímo ve firemní sítí nebo se do ní dostal přes VPN.

Staging je místo, kde existuje web (webová aplikace) v použitelné podobě a je možné s ní pracovat, testovat (občas se tomu říká i testovací prostředí). Zpravidla je možné k této podobě dávat i přístup klientovi a dalším subjektům. Což znamená i to, že může být přístupná z Internetu – což následně znamená, že je s tím spojena řada důležitých věcí – třeba to, že by nikdy neměla být z Internetu přístupná veřejně. Skvělý souhrn najdete v Protecting staging environments in short

Jeden z obvyklých  problémů se staging weby je, že prostě jsou na „neveřejné“ URL (třeba něco jako kdyby @365tipu mělo staging na staging.365tipu.cz a nebylo to nijak chráněn/blokované). Dříve nebo později si můžete být jisti, že na tuhle adresu dorazí Google (či jiný vyhledávač) a vše ze zmatené verze ze stagingu se ocitne ve vyhledávání – tím se tam dostanou i lidé, kteří tam nemají co dělat.

TIP: Zkuste site:staging.*.com OR site:dev.*.com OR site:test.*.com OR site:testing.*.com hledání v Google. Je až neuvěřitelné co všechno najde. Ověřit si váš vlastní staging (či snad dokonce dev) v Google můžete snadno – přes právě použití site: operátor

2019-06-02 09_58_09-site_staging._.com OR site_dev._.com OR site_test._.com OR site_testing._.com - .png

Nejlepší cesta ochrany stagingů je ta, že vyžadují přihlášení uživatele a vše probíhá (samozřejmě) přes https. Nespoléhejte se na to, že nějaké to robots.txt zabrání zaindexování – u Google možná, ale jiné stroje to respektovat vůbec nemusí – přesto ale platí, že by klasické plně zakazující robots.txt na stagingu vždy mělo být přítomné (a ohlídejte si, aby se nedostalo do ostré podoby).

Druhá dobrá cesta je VPN, virtuální privátní sítě, které umožní přístup k staging prostředí na interních firemních serverech/adresách. Bude to fungovat dobře pro lidi, ale pokud budete chtít na stagingu testovat něco strojového, tak to přes VPN nepůjde.

Ostré/Produkční webové prostředí je takové, které používá veřejnost (uživatelé daného webu). Do tohoto prostředí by nikdy neměli zasahovat vývojáři a verze aplikace na něm běžící by měla být stabilní, odzkoušená a projít z vývojového přes staging až do ostrého použití.

PS: Výše uvedený dotaz do Google můžete samozřejmě pozměnit pro .cz

2019-06-02 10_00_10-site_staging._.cz OR site_dev._.cz OR site_test._.cu OR site_testing._.cz - Hled.png