Co je to cloud a k čemu to je?

Re: Co je to cloud a k čemu to je?
« Odpověď #15 kdy: 17. 05. 2014, 08:01:54 »
Super odpovědi, je poznat, že o tom něco víte... A teď - nemůžete to popsat jako pro debila? Co je cloud, z čeho to sestává, jaká je logika využití, proč to používat, přoč ne, proč na to vyvíjet, proč ne, ...

Na to se možná ptal tazatel (ale zcela jistě to zajímá mě - nevím o tom víceméně nic, takže dotazy typu "IaaS, PaaS, SaaS?" jsou jaksi mimo mísu).
Tak zaprvé je to marketingový buzzword. Firma, která dneska nemá scrollovací web na celou šířku stránky s bootstrapem, obrovitánskou fotkou šťastných lidí na začátku, nadpisem velikosti nejméně 46px a obláčkem v ikonkách, jako by nebyla :)

A proto je potřeba se na to dívat přesně, jak říkáš: jako pro debila, bez zbytečných keců :) Takže v základu je cloud velké množství serverů, na nakterých jede nějaký virtualizační soft a pod tím virtuální servery. Všechno je to uděláno tak, aby virtuální stroj nebyl vázaný na konkrétní kus hardware a celé to má nějaké skriptovatelné API + webui. Narozdíl od klasického poskytovatele VPSek si můžeš vytvořit kolik virtuálů chceš a podle toho pak platíš (někde od kusu, někde od využitých prostředků).

Takže si prostě někam klikneš nebo zavoláš nějaké API a v řádu desítek sekund až jednotek minut ti běží nový server. Samozřejmě je infrastruktura postavená na nějakém druhu imagů, takže si třeba klikneš "chci nový webserver" a za nějakou tu minutu ho máš. Protože ten pool dostupných prostředků je obrovský, je tam pěkný cvrkot - neustále někdo servery ruší a někdo jiný spouští, takže průměrné využití prostředků by mělo být lepší než když si každá firma bude budovat vlastní servery dimenzované na nejvyšší očekávanou zátěž, které většinu času budou jenom zevlovat.

No a z toho plyne, že aplikace pro cloud se musí psát jinak než pro klasickou infrastrukturu - je potřeba je nějak rozložit na víc virtuálů a umožnit (rádobylineární) škálování - rozjedu dvakrát tolik webserverů -> obsloužím dvakrát tolik požadavků.

Aby to celé šlo nějak rozumně spravovat, je na to potřeba nějaký configuration management - salt, chef, puppet, cfengine... který dělá v principu hlavně to, že na správná místa do konfiguráků vloží aktuální hodnoty cloudu - např. IP adresu databázového stroje (tím, že virtuály pořád nějak zastavuješ a spouštíš se samozřejmě mění minimálně jejich IP adresy, takže prostý image všech strojů ti nestačí).

Marketing říká, že je to celé báječně flexibilní, levné (lepší využití prostředků), spolehlivé (resp. schopné ustát chyby). Skutečnost je spíš taková, že je to flexibilní, takže se komplikuje design aplikace a ne každý umí takovou aplikaci dobře navrhnout (nestačí prostě vzít klasický monolit a prsknout ho do cloudu...), levné to není (stačí zadat do googlu něco jako "ec2 price high") a na úrovni jednotlivých virtuálů nebo obslužného API je to někdy až pekelně nespolehlivé (takže ta fault-tolerance je trochu znouzectnost - bez ní to prostě nejde, cloud tě k ní donutí...).

No a ty jednotlivé zkratky PaaS, IaaS, SaaS apod. potom víceméně označují, na jaké úrovni s tím poolem prostředků pracuješ - buď máš k dispozici "holé" virtuální mašiny a na ně už si všechno instaluješ sám, sám si řešíš jejich orchestraci, správu, záplatování a všechno ostatní (takže je to stejný jako bys měl stejný množství normálních serverů), nebo máš jakoby "nafukovací stroj" - někam nahraješ třeba java aplikaci a cloud ji "sám" provozuje - ideálně i nějak automagicky sám škáluje prostředky. Mezi těmahle dvěma póly je spousta mezistupňů a to jsou víceméně ty jednotlivé zktratky ;)

Nejlíp to celý pochopíš, když si to sám vyzkoušíš - pro vyzkoušení "holých serverů" má třeba Amazon EC2 free tier, kde si můžeš půl roku zadarmo provozovat *tragicky* poddimenzovaný virtuál. Pro vyzkoušení trochy té automagiky můžeš zkusit třeba https://www.openshift.com/


Re:Co je to cloud a k čemu to je?
« Odpověď #16 kdy: 17. 05. 2014, 08:44:34 »
důvody PROČ vyvíjet cloudové aplikace atd... ?

Já osobně v tom nevidím zatím důvod proč bych měl sednout na zadek a začít vyvíjet aplikace určené pro nasazení do cloudu... A nebo jsem fakt tak už blbý ? :)
Mirek Prýmek dobře odpověděl na to, co je to cloud, já ještě doplním odpověď na tuhle část dotazu.

A jak už to tak bývá, ta otázka "proč začít vyvíjet cloudové aplikace" je špatná :-) Neřeknete si, že teď budete vyvíjet nějakou cloudovou aplikaci, a teprve pak nezačnete vymýšlet, co to vlastně bude. Je to přesně naopak, chcete udělat nějakou aplikaci, kterou bude najednou používat hodně lidí, bude se používat vzdáleně - takže si dáte nějaké požadavky na technickou infrastrukturu. Že aplikace musí běžet na clusteru serverů, že má být škálovatelná (když přibydou uživatelé, prostě aplikaci jen spustíte na větším množství serverů). A pak si řeknete, že se o tu technickou infrastrukturu vlastně vůbec nechcete starat, že ji nakoupíte jako službu - a to je cloud.

Sten

Re: Co je to cloud a k čemu to je?
« Odpověď #17 kdy: 17. 05. 2014, 15:09:33 »
Protože ten pool dostupných prostředků je obrovský, je tam pěkný cvrkot - neustále někdo servery ruší a někdo jiný spouští, takže průměrné využití prostředků by mělo být lepší než když si každá firma bude budovat vlastní servery dimenzované na nejvyšší očekávanou zátěž, které většinu času budou jenom zevlovat.

Jen bych doplnil, že jedna ze zajímavých věcí, co většina cloudů umí dělat, je, že při malém provozu sestěhuje instance na pár fyzických serverů a zbytek uspí. Při nárůstu provozu je probudí a instance opět rozhází. Tyhle výkyvy bývají pravidelné (špička bývá večer, když všichni přijdou z práce, naopak po půlnoci už bývá klid). S vlastním serverem však musíte dimenzovat na tu špičku a většinu dne se pak fláká. Výsledkem této (pro cloud celkem drobné) optimalizace je skutečně obrovská úspora energií.

Re:Co je to cloud a k čemu to je?
« Odpověď #18 kdy: 17. 05. 2014, 15:39:54 »
Mě by zajímalo o jaké aplikace se jedná. Jednak z pohledu počtu požadavků /s a také z pohledu objemu dat. Protože, pokud zůstaneme v realitě, tak časem jde výkon serverů neustále nahoru, tudíž aplikací, které reálně potřebují více než jeden server je stále méně. Jak řekl jeden vyznamý vývojář jistého serverového softu, neznám žádnou aplikaci v ČR, kterou by reálně neutahal jeden server. Dnes také není problém mít veškerá podstatná data v paměti (a když už to nestačí, tak na ssd). Ostatně reklamy na servery s 40tis tps jsem četl někdy v roce 1998, dnes není nejmenší problém webserver s 80tis rq/s na komoditním železe. Vážně by mě zajímal příklad aplikace, pro kterou je to málo (příklady typu Twitter apod slyšet nechci, tohle ty startupy plné keců o cloudu apod fakt nejsou).

Re:Co je to cloud a k čemu to je?
« Odpověď #19 kdy: 17. 05. 2014, 15:57:07 »
Vážně by mě zajímal příklad aplikace, pro kterou je to málo (příklady typu Twitter apod slyšet nechci, tohle ty startupy plné keců o cloudu apod fakt nejsou).
Podceňuješ ten marketingový rozměr. Když přijdeš za investorem a řekneš "jsme příští Instagram - a jsme připravení růst donekonečna, běží nám to fklaudu. Teď máme sto pilotních uživatelů, ale infrastruktura je připravená na milion," tak to hned zní líp než "máme sto uživatelů a zvládá to stará 486ka, kterou máme v kanclu pod stolem" :)

Každý si myslí, že je příští Instagram a devět z deseti programátorů trpí nemocí zvanou premature eja optimalization. Výsledkem jsou nesmyslně přebujelé aplikace, které lidi nasazují na naprosto triviální problémy. Viz momentálně populární kombo logstash/elasticsearch, to by se jeden zblil ;)


Re:Co je to cloud a k čemu to je?
« Odpověď #20 kdy: 17. 05. 2014, 16:18:00 »
Podceňuješ ten marketingový rozměr. Když přijdeš za investorem a řekneš "jsme příští Instagram - a jsme připravení růst donekonečna, běží nám to fklaudu. Teď máme sto pilotních uživatelů, ale infrastruktura je připravená na milion," tak to hned zní líp než "máme sto uživatelů a zvládá to stará 486ka, kterou máme v kanclu pod stolem" :)

Každý si myslí, že je příští Instagram a devět z deseti programátorů trpí nemocí zvanou premature eja optimalization. Výsledkem jsou nesmyslně přebujelé aplikace, které lidi nasazují na naprosto triviální problémy. Viz momentálně populární kombo logstash/elasticsearch, to by se jeden zblil ;)

 :D Jo, dobrá odpověď, to se mi líbí.

Jinak k té 486, byla jedna ne úplně malá firma a měla veškerou poštu na jednom ne úplně novém serveru (který toho dělal víc, než jen toto). 486 to nebyla ;-), ale zvládalo to levou zadní (nevím co má server levého zadního; tam jsou buď zdroje nebo karty). Potom šel jeden z vedení na jednu marketingovou akci a nasadila se Zimbra. Za šílené peníze, nasazená za šílené režie na cca 16x výkonnější želežo (vyhrazeno jen pro toto). No a všichni jsou happy.  :D Ono je to sice funkčně totéž, ale utratila se hromada peněz za licence i hw, takže je to vlastně mnohem lepší.  ;)

Re:Co je to cloud a k čemu to je?
« Odpověď #21 kdy: 17. 05. 2014, 16:31:37 »
Jinak ještě k té předčasné optimalizaci. Já bych to optimalizací ani nenazýval. Je to prostě další hype v řadě (tako před lety nosql) a technologie, které každý musí používat jinak není dostatečně cool. Jako nic proti těmto technologiím, ale člověk, který ani neví o příkazu explain (natož, aby ten plán uměl číst), tak stejně věci jako elasticsearch také nepoužije úplně správně (pokud to řeknu slušně), takže výsledkem tohoto snažení bude o to pomalejší bastl s o to více závislostmi a místy, kde se to může pokakat.

Re:Co je to cloud a k čemu to je?
« Odpověď #22 kdy: 17. 05. 2014, 16:33:19 »
Mimochodem, ještě tam určitě hraje roli druhé magické slůvko: inovace!

Pokud napíšeš suprově vytuněnou aplikaci ve funkcionálním jazyce, která suprově škáluje a spolehlivě funguje i na té 486ce, tak máš co? Zaprášenou 486ku.

Zatímco když vezmeš tisíce předpřipravených služeb, blikátek, klikátek, webový rozhranní i k ls a jelikož to neustále padá, propojíš to s IM na mobil, jabber a ještě do nějaké supercool enterprise commucation píčoviny a celej ten cirkus ti jede na třiceti serverech, tak máš co? INOVACI!

Re:Co je to cloud a k čemu to je?
« Odpověď #23 kdy: 17. 05. 2014, 16:39:53 »
takže výsledkem tohoto snažení bude o to pomalejší bastl s o to více závislostmi a místy, kde se to může pokakat.
Jistě. Ono to k tomu totiž svádí. Už je to všechno vyřešeno! Jenom to použijem, dyť je to ízy! Celej ten cloudovej hype je z velké části založenej na vytváření představy, že to všechno bude nějak automagicky fungovat samo od sebe.

Věnujte se jenom vaší aplikaci a nenechte se rozptylovat starostí o infrastrukturu! Chcete bezpečnost? Přidejte modul SEC. Chcete aby škálovalo? Klikněte na tlačítko SHKAL.

A v praxi to vypadá spíš tak, že pořád řešíš, proč SHKAL neškáluje a ROCKSOLID spadl zrovna půl hodiny před prezentací investorovi a jestli tohle a tamto nefunguje protože to máš blbě udělaný ty, nebo to prostě kleká dodavateli SaaS, do kterýho vůbec nevidíš a můžeš se jenom modlit, aby to dali do pořádku co nejrychleji ;)

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Co je to cloud a k čemu to je?
« Odpověď #24 kdy: 17. 05. 2014, 21:20:33 »
TO je hodně drsný nekro ;D Po třech letech ;D

x

Re:Co je to cloud a k čemu to je?
« Odpověď #25 kdy: 18. 05. 2014, 08:39:08 »
Zdravím Vás, mám otázečku ohledně Cloudů... asi jsem zaspal dobu jeho "boomu" proto bych se chtěl zeptat ostatních lidí jak by jste stručně popsali jeho princip a využití případně důvody PROČ vyvíjet cloudové aplikace atd... ?

Já osobně v tom nevidím zatím důvod proč bych měl sednout na zadek a začít vyvíjet aplikace určené pro nasazení do cloudu... A nebo jsem fakt tak už blbý ? :)

Díky moc, rozhodně by mne zajímalo co si o Cloudech myslíte i Vy :)

Staci jedina veta - Management thinks it is needed.

podlesh

Re:Co je to cloud a k čemu to je?
« Odpověď #26 kdy: 18. 05. 2014, 12:59:57 »
TO je hodně drsný nekro ;D Po třech letech ;D
No jo, ale podívej se jak si tady krásně všichni uleví...

Re:Co je to cloud a k čemu to je?
« Odpověď #27 kdy: 19. 05. 2014, 20:28:37 »
Jak řekl jeden vyznamý vývojář jistého serverového softu, neznám žádnou aplikaci v ČR, kterou by reálně neutahal jeden server.
Můžeš říct, kdo a kdy to řekl? Je to docela vtipný bonmot a docela by se mi i někdy hodil jako citace ;)

Anebo jestli je to tajný :) tak aspoň, kdo to byl a já slíbím, že ho nikde citovat nebudu.

txt

Re:Co je to cloud a k čemu to je?
« Odpověď #28 kdy: 19. 05. 2014, 22:37:08 »
Mimochodem, ještě tam určitě hraje roli druhé magické slůvko: inovace!

Pokud napíšeš suprově vytuněnou aplikaci ve funkcionálním jazyce, která suprově škáluje a spolehlivě funguje i na té 486ce, tak máš co? Zaprášenou 486ku.

Zatímco když vezmeš tisíce předpřipravených služeb, blikátek, klikátek, webový rozhranní i k ls a jelikož to neustále padá, propojíš to s IM na mobil, jabber a ještě do nějaké supercool enterprise commucation píčoviny a celej ten cirkus ti jede na třiceti serverech, tak máš co? INOVACI!
Chybně stanovený metriky.

K původní otázce cloud je nějaká forma outsourcingu.

Krysa1

Re:Co je to cloud a k čemu to je?
« Odpověď #29 kdy: 20. 05. 2014, 02:30:30 »
Super tema k odkazovani pro lidi, kteri chteji vedet neco vic, nez jen vysku vystriku pri presentaci na projektoru. Serverovymi aplikacemi se zabyvam celkem dlouho a dovolim si tvrdit, ze takove, co jedno samotne zelezo neutahne jsem pripravoval. V Cesku bych s tim bonmotem +- souhlasil.

Cloud je jeste vetsi "necro" nez tento thread. V dnesni dobe se vracime k "thin client" z dob pred mnoha lety, zminim tu dnes jiz skoro legendarni plan9. Cesta je stejna, lisi se duvody - zatimco drive k tomuto navrhu vedla cena hw, tudiz se vyplatilo mit stanice skoro jemom, klavesnice + monitor + sitovka (v nadsazce) kvuli porizovaci cene, tak v soucasnosti je pricinou spise degenerace kadru a chut mit vsechno "co nejdrive z krku", vubec nicemu v zasade (se ani nesnazit) rozumet - a inkasovat kvartalni premie.  Tim netvrdim, ze uplne vsechno je spatne, ale motivace je spatna, tudiz omylu a preslapu je vice nez tech prinosnych efektu.

- cloud je v podstate outsourcing hw a dostupnosti

- ma tedy smysl:

-- pro aplikace, kde je vysoky vykyv zatizeni (radove vice nez jeden rad) - marketing, reklama v televizi, 250k ovci klikne na web pak zas tejden mrtvo. to je dobry priklad. Zaroven neni rozumne vyuziti pro hw mimo spicku (ach!), jako treba pocitani statistik, generovani dat pdf tech prijatych objednavek, prevod nahranych encoding nahranych wav hovoru, urdeba, vacuum, defrag synchro nekritickych dat, backup blablabla.

-- jenomze. vsechno ma svoje limity a kdyz vam 250k ovci klikne na web, tak neznamena, ze to ono cloudove reseni zvladne. ono taky nemusi, zvlaste pokud se o prostredky delite s dalsimy podobnymi hraci, kteri streli tv reklamu v hlavnim case. A zase jsme u toho, omluva. Kdyz bude "jardovi" lagovat server, tak to je tragedie, kdyz spadne google nebo amazon, nebo forpsi (i treba pod nejakym utokem), tak uz je udalost a nikdo to vlastne neresi, vsichni o tom vedi a jen si vypraveji drby o tom, kdo "vi" vic. To je podobne, jako kdyz omlouvate pozdni prichod tim, ze se vytekla pracka v porovnani s celostatni povodni, ktera ma "PR" v celovecernich zpravach. ale dost prirovnani a anekdot

- pro svetove firmy

-- pokud mate firmu, ktera operuje, v zargonu relevatnim, "wolrdwide", tak se cloud vyplati kvuli dobremu pripojeni odkudkoli na svete, pokud ma poskytovatel vsude rozsazene servery. myslim si, ze v ramci stredni a zapadni evropy je to celkem jedno. z vychodniho pobrezi usa na zapadni uz to muze byt potiz, a extremni scenare si jiste kazdy dokaze predstavit.

-- a zase je otazka kolik ralnych aplikaci to vyuzije, spis je to tak, ze se kazdy snazi "bejt svetovej"

Na teto situaci me nejvic fascinuje kdyz se "reditel" firmy "Honza&Jarda s.r.o" zajima o "vsechny ty cloudy" a jak usetrit na svem serveru na mail, web, sambu a vpn pro +- 15 lidi. To je jako kdyz si jde vohnout koupit "francouzke" vino do aholdu s kilem v kapse. bude rad kdyz dostane apon vino. Co udelame? - to co udelat musime, doba a management si to zada, vytahneme flasku, nalejeme do ni cervenou tekutinu, flusnem do ni a nalepime fajnovou etiketu, prebereme zakose, nebo prihodime % navic. hotovo smytec, vydelano, neresit.