Přejít k navigační liště

Zdroják » PHP » PHP v cloudu I

PHP v cloudu I

Články PHP

Slovo cloud dnes slyšíme téměř na každém kroku. V tomto seriálu se budeme cloudu věnovat trochu specifičtěji, a to konkrétně možnostem běhu PHP aplikací na technologii Microsoft Azure. Dnes se pojďme v rámci úvodního dílu podívat na to, kdy vůbec dává smysl hostovat aplikace v cloudu a jaké jsou možné scénáře a s tím spojené výhody.

Seriál: PHP v cloudu (4 díly)

  1. PHP v cloudu I 13. 6. 2014
  2. PHP v cloudu II 25. 6. 2014
  3. PHP v cloudu III 2. 7. 2014
  4. PHP v cloudu IV 11. 7. 2014

Nálepky:

On-off

Pravděpodobně nejběžnějším scénářem, se kterým se dnes potkáváme, je tzv. „on-off“ scénář. Jedná se typicky o aplikace, které se připravují pro krátkodobé použití, např. marketingové kampaně. Kampaň je jednoznačně ohraničena v čase a předpokládá se vysoká zátěž zejména na začátku a konci kampaně. Do tohoto scénáře spadají také testovací servery, které jsou využity pouze během vývoje aplikace. Tento scénář využívají často i výzkumná pracoviště, která potřebují jednorázově vyhodnotit nasbíraná data.

Očekávaná zátěž

V tomto scénáři zcela přesně vím, kdy bude můj server vytížen a díky tomu si mohu infrastrukturu dopředu připravit. Kromě běžných situací, jako je předvánoční prodej, uvedení nového produktu na trh, prodej lístků na zajímavý koncert atd., se jedná i o situace, kdy mi stačí vysoký výkon jen několik hodin za den. Před dvanácti lety jsem pracoval na projektu, který poskytoval obchodní informace o všech firmách v ČR. Aplikační server byl nejvíce vytížen cca od osmi do jedenácti a pak od dvou do čtyř odpoledne. Abychom udrželi stálou dostupnost, museli jsme mít kvůli pěti hodinám za den velmi drahý HW, který zbylých 19 hodin v podstatě ležel ladem, což je pro firmu značně neefektivní.

Neočekávaná zátěž

Může se stát, že najednou zjistíte, že potřebujete vykrýt na pár hodin extrémní nárůst požadavků. Typickou ukázkou jsou třeba sportovní přenosy, kdy někdo z českých sportovců postoupí do finále a provozovatel streamingu je pak překvapený, jak rapidně narůstá návštěvnost jeho webu. V tomto scénáři se pak nejčastěji využívá automatické škálování, kde jsou podle předem nastavených pravidel, třeba vytížení CPU, automaticky přidávány nebo ubírány instance aplikace.

Distribuce velkého objemu dat

Pokud se dostanete do situace, že potřebujete k zákazníkům doručovat velké objemy dat, zejména těch multimediálních, opět může být výhodné tato data umístit do cloudu. Ten má pro tento scénář připravenu Content delivery network (CDN). Aplikace pak často běží z běžného hostingu nebo vlastního datového centra, ale velké soubory jsou distribuovány přes CDN. Příkladem může být Car Configurator od mladoboleslavské Škodovky.

Vysoká dostupnost

Realita je taková, že žádný poskytovatel běžného hostingu vám nemůže nikdy nabídnout takovou bezpečnost, spolehlivost a dostupnost, jako skutečný cloud. Díky obrovskému množství hardwaru v datových centrech je vaše aplikace uchovávána typicky ve třech zálohách. Zálohou není myšlena kopie dat, ale živá záloha celé aplikace, která je ihned připravena ke spuštění. Nemůže pak dojít k situaci, kdy po zaplavení jednoho sálu datového centra vodou z vodovodu je třeba nejdříve přivézt hardware, pak nainstalovat software a pak několik dnů obnovovat ze záloh. Pokud havaruje server s vaší aplikací, je ihned přepnuto na první sekundární zálohu a z druhé sekundární zálohy se vytváří třetí kopie. Pokud opravdu potřebujete extrémně vysokou dostupnost a bezpečnost, tak si můžete takovouto zálohu nechat vytvářet v jiném datovém centru pro případ větší katastrofy.

Pay-as-you-go

Pro někoho výhoda, pro někoho naopak. U cloudových řešení platíte typicky jen za to, co spotřebujete. Můžete se tak vyvarovat situací, kdy vám leží hardware ladem, tak jak bylo popsáno ve scénáři „očekávaná zátěž“. Někteří zákazníci však tento model mohou považovat za nevýhodu, neboť neumí předem odhadnout, kolik je provoz bude stát.

Typy služeb v cloudu

Pojďme se ještě podívat na to, jaké služby jsou v cloudu dnes běžně poskytovány. Cloud, se většinou dělí do následujících kategorií.

Infrastructure as a Service (IaaS)

Tato služba vám poskytuje prostředí, ve kterém si provozujete vlastní virtuální stroj. Nestaráte se o hardware, ani o virtualizační vrstvu. U tohoto typu služby máte největší volnost, co můžete dělat.

Platform as a Service (PaaS)

V tomto typu služby máte k dispozici prostředí pro běh vaší aplikace. Staráte se jen o svoji vlastní aplikaci, neřešíte konfiguraci operačního systému, aktualizace atd. Takto poskytované prostředí má samozřejmě svá omezení, se kterými musíte během vývoje aplikace počítat. Na druhou stranu se nemusíte starat o nic jiného než o vaši aplikaci.

Software as a Service (SaaS)

V tomto případě pouze používáte hotovou aplikaci. To je to, co v podstatě nabízíte vašim zákazníkům.

image1

Microsoft Azure

Jedním s poskytovatelů cloudových služeb je Microsoft Azure. Pojďme se nyní podívat na možnosti provozování PHP aplikací v tomto prostředí.

Datová centra Microsoft Azure jsou rozprostřena po celém světě a rozdělena do tzv. regionů. V každém regionu jsou dvě datová centra, která se používají pro geo-replikace. Jedno datové centrum, nám nejbližší je Europe North v Holandsku, si vybíráte jako primární, a do druhého, ve stejném regionu, můžete data zálohovat.

Jak si Microsoft Azure vyzkoušet?

Cílem tohoto seriálu je, abyste si mohli všechny probírané věci vyzkoušet prakticky. Po dobu jednoho měsíce máte možnost testovat Microsoft Azure zdarma. Buď si založíte tzv. Free trial, kde máte k dispozici kredit 150 USD na jeden měsíc. Během registrace budete potřebovat platební kartu pro ověření identity. Pokud nechcete platební kartu použít, tak můžete kontaktovat redakci, která má pro vás připraveny aktivační kódy nevyžadující kreditní kartu. Kolik peněz jste už spotřebovali, uvidíte v horní části správcovské konzole.

image2

Druhou variantou je pak program BizSpark, který je určen pro začínající firmy, a v rámci kterého máte možnost získat Microsoft Azure na 3 roky, a to opět s kreditem 150 USD na měsíc.

Komentáře

Subscribe
Upozornit na
guest
13 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
thonzak

… je-li to článek, proč tam není víc možností hostingu ale odkaz na konkrétní Microsoft?

… je-li to reklama, proč to není označeno jako reklama?

jAM_jAM

Protože je to článek o Azure?

A i kdyby to byla reklama, proč by jí měli označovat? není to jejich věc co si označí a co ne?

Martin Hassman

Je to článek.

karel

je to reklama

Martin Hassman

Že to tak vnímáte je dobré vědět. Ale za redakci jsem už odpověděl výše.

Martin Prokeš

Jestli je to článek a ne reklama, pak čtenář po přečtení titulku očekává, že se o tématu něco dozví.

Jenže když dojde k větě „Pojďme se nyní podívat na možnosti provozování PHP aplikací v tomto prostředí.“ tak následuje už jen reklamní odstavec a článek skončí, aniž by se čtenář dozvěděl cokoliv o php.

Protože v normálním článku se čtenář dozví informace a v reklamě nic, tak je zjevné, že toto není článek, ale reklama. Zcela jednoznačně.

Martin Hassman

Jak je uvedeno, je to začátek seriálu, dalsi informace budou dalsi týden.

RH

Toto je cisty PR clanok na Microsoft, mali by ste si za to nechat zaplatit.

Adam

Martine, obdivuji Vaši trpělivost s podezřívavými diskutéry a těším se na další článek ze série :)

Murdej

… ve firmě nám na tom jede jeden projekt. Výkonnost nic moc, občas ve slabých chvilkách je server skoro nepoužitelný. Párkrát se nám změnila ip adresa bez nějakého upozornění. Je to spíš na na úrovni nějakého freehostingu ikdyž cena tomu neodpovídá.

Jannek

Chtěl bych Azure taky podle článku vyzkoušet, ale nechce se mi tam zadávat číslo karty. Tak jsem si chtěl napsat redakci o ten aktivační kód, ale jak koukám na azure.microsoft.com, tak vůbec nevím kam bych ho měl zadat a jak bych měl postupovat, abych díky němu ten Free account získal. Proklikával jsem si to a když jsem dal „Try it now“ a vyplnil všechny údaje, stejně to po mě chtělo číslo karty. Mohl by mi někdo poradit, popsat přesný postup? Jde to vůbec bez karty? Díky moc.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.

Pocta C64

Za prvopočátek své programátorské kariéry vděčím počítači Commodore 64. Tehdy jsem genialitu návrhu nemohl docenit. Dnes dokážu lehce nahlédnout pod pokličku. Chtěl bych se o to s vámi podělit a vzdát mu hold.