PHP v cloudu I

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

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: 13

Přehled komentářů

thonzak A toto je článek nebo placená reklama?
jAM_jAM Re: A toto je článek nebo placená reklama?
Martin Hassman Re: A toto je článek nebo placená reklama?
karel Re: A toto je článek nebo placená reklama?
Martin Hassman Re: A toto je článek nebo placená reklama?
Martin Prokeš Re: A toto je článek nebo placená reklama?
Martin Hassman Re: A toto je článek nebo placená reklama?
RH PR
Adam Trpělivost
Murdej Už jsem "ežr" zkusil...
Štěpán Bechynský Re: Už jsem "ežr" zkusil...
Jannek Aktivace bez karty
Štěpán Bechynský Re: Aktivace bez karty
Zdroj: https://www.zdrojak.cz/?p=12483