{"id":55881,"date":"2020-01-31T00:00:00","date_gmt":"2020-01-30T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij"},"modified":"2020-02-18T14:04:02","modified_gmt":"2020-02-18T11:04:02","slug":"sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","title":{"rendered":"Tipy a zdroje inform\u00e1ci\u00ed na vytvorenie bezserverov\u00fdch aplik\u00e1ci\u00ed","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Tipy a zdroje inform\u00e1ci\u00ed na vytvorenie bezserverov\u00fdch aplik\u00e1ci\u00ed\" src=\"\/wp-content\/uploads\/2020\/01\/a29ca83a52a809d148aebbd6821d4ef9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAj ke\u010f bezserverov\u00e9 technol\u00f3gie v posledn\u00fdch rokoch r\u00fdchlo z\u00edskavaj\u00fa popularitu, st\u00e1le je s nimi spojen\u00fdch mnoho omylov a ob\u00e1v. Z\u00e1vislos\u0165 od dod\u00e1vate\u013ea, n\u00e1stroje, spr\u00e1va n\u00e1kladov, studen\u00e9 \u0161tarty, monitoring a \u017eivotn\u00fd cyklus v\u00fdvoja \u2014 tieto t\u00e9my sa akt\u00edvne diskutuj\u00fa, ke\u010f sa hovor\u00ed o bezserverov\u00fdch technol\u00f3gi\u00e1ch. V tomto \u010dl\u00e1nku sa pozrieme na niektor\u00e9 z uveden\u00fdch t\u00e9m a podel\u00edme sa o rady a odkazy na u\u017eito\u010dn\u00e9 zdroje inform\u00e1ci\u00ed, ktor\u00e9 pom\u00f4\u017eu nov\u00e1\u010dikom vytvori\u0165 siln\u00e9, flexibiln\u00e9 a cenovo efekt\u00edvne bezserverov\u00e9 aplik\u00e1cie.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Omyl o bezserverov\u00fdch technol\u00f3gi\u00e1ch<\/h2>\n<p>\nMnoh\u00ed si myslia, \u017ee bezserverov\u00e9 a bezserverov\u00e9 spracovanie \u00fadajov (<noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/serverless.html#unpacking-faas\">Functions as a Service<\/a><\/noindex>, FaaS) s\u00fa takmer to ist\u00e9. To znamen\u00e1, \u017ee rozdiely nie s\u00fa pr\u00edli\u0161 ve\u013ek\u00e9 a zavies\u0165 novinku m\u00e1 zmysel. Aj ke\u010f AWS Lambda bola jednou z \"hviezd\" rozkvetu bezserverov\u00fdch technol\u00f3gi\u00ed a jedn\u00fdm z najpopul\u00e1rnej\u0161\u00edch prvkov bezserverovej architekt\u00fary, t\u00e1to architekt\u00fara predstavuje nie\u010do viac ne\u017e len FaaS.<\/p>\n<p>Hlavn\u00fd princ\u00edp bezserverov\u00fdch technol\u00f3gi\u00ed spo\u010d\u00edva v tom, \u017ee sa nemus\u00edte stara\u0165 o spr\u00e1vu a \u0161k\u00e1lovanie infra\u0161trukt\u00fary, plat\u00edte iba za to, \u010do pou\u017e\u00edvate. Pod tieto krit\u00e9ri\u00e1 patr\u00ed mno\u017estvo slu\u017eieb \u2014 AWS DynamoDB, S3, SNS alebo SQS, Graphcool, Auth0, Now, Netlify, Firebase a mnoho \u010fal\u0161\u00edch. V\u0161eobecne plat\u00ed, \u017ee bezserverovos\u0165 znamen\u00e1 vyu\u017e\u00edvanie v\u0161etk\u00fdch mo\u017enost\u00ed cloud computingu bez nutnosti spr\u00e1vy infra\u0161trukt\u00fary a jej optimaliz\u00e1cie na \u00fa\u010dely \u0161k\u00e1lovania. Taktie\u017e to znamen\u00e1, \u017ee bezpe\u010dnos\u0165 na \u00farovni infra\u0161trukt\u00fary u\u017e nie je va\u0161ou staros\u0165ou, \u010do je obrovskou v\u00fdhodou, vzh\u013eadom na zlo\u017eitosti dodr\u017eiavania bezpe\u010dnostn\u00fdch \u0161tandardov. Nakoniec nemus\u00edte nakupova\u0165 infra\u0161trukt\u00faru, ktor\u00e1 v\u00e1m je poskytovan\u00e1 na u\u017e\u00edvanie.<\/p>\n<p>Bezserverovos\u0165 sa d\u00e1 pova\u017eova\u0165 za \"stav mysle\": ur\u010dit\u00fa ment\u00e1lnos\u0165 pri navrhovan\u00ed rie\u0161en\u00ed. Vyhnite sa pr\u00edstupom, ktor\u00e9 vy\u017eaduj\u00fa \u00fadr\u017ebu akejko\u013evek infra\u0161trukt\u00fary. Pri bezserverovom pr\u00edstupe tr\u00e1vime \u010das rie\u0161en\u00edm \u00faloh, ktor\u00e9 priamo ovplyv\u0148uj\u00fa projekt a prin\u00e1\u0161aj\u00fa v\u00fdhody pre na\u0161ich pou\u017e\u00edvate\u013eov: vytv\u00e1rame robustn\u00fa obchodn\u00fa logiku, rozv\u00edjame pou\u017e\u00edvate\u013esk\u00e9 rozhrania a vyv\u00edjame adaptabiln\u00e9 a spo\u013eahliv\u00e9 API.<\/p>\n<p>Napr\u00edklad, ak je mo\u017en\u00e9 vyhn\u00fa\u0165 sa spr\u00e1ve a \u00fadr\u017ebe platformy pre vyh\u013ead\u00e1vanie vo vo\u013enom texte, presne tak aj urob\u00edme. Tento pr\u00edstup k zostavovaniu aplik\u00e1ci\u00ed m\u00f4\u017ee v\u00fdrazne ur\u00fdchli\u0165 uvedenie produktu na trh, preto\u017ee u\u017e nemus\u00edte myslie\u0165 na spr\u00e1vu zlo\u017eitej infra\u0161trukt\u00fary. Zbavte sa povinnost\u00ed a n\u00e1kladov na spr\u00e1vu infra\u0161trukt\u00fary a s\u00fastre\u010fte sa na vytv\u00e1ranie aplik\u00e1ci\u00ed a slu\u017eieb, ktor\u00e9 va\u0161i z\u00e1kazn\u00edci potrebuj\u00fa. Patrick Debois nazval tento pr\u00edstup <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/jedi4ever\/from-serverless-to-service-full-how-the-role-of-devops-is-evolving?ref=https:\/\/twitter.com\/i\/cards\/tfw\/v1\/736144044112384000?cardname=player&amp;earned=true&amp;lang=en&amp;card_height=130\">\u2018servicefull\u2019<\/a><\/noindex>, tento pojem je prijat\u00fd v bezserverovej komunite. Funkcie by sa mali pova\u017eova\u0165 za spojovac\u00ed \u010dl\u00e1nok pre slu\u017eby vo forme nasadite\u013en\u00fdch modulov (namiesto nasadenia celej kni\u017enice alebo webovej aplik\u00e1cie). To zabezpe\u010duje neuverite\u013en\u00fa granularitu riadenia nasadenia a zmien v aplik\u00e1cii. Ak nem\u00f4\u017eete takto nasadzova\u0165 funkcie, m\u00f4\u017ee to nazna\u010dova\u0165, \u017ee funkcie vykon\u00e1vaj\u00fa pr\u00edli\u0161 ve\u013ea \u00faloh a mali by by\u0165 refaktorizovan\u00e9.<\/p>\n<p>Niektor\u00fdch znepokojuje z\u00e1vislos\u0165 od dod\u00e1vate\u013ea pri v\u00fdvoji cloudov\u00fdch aplik\u00e1ci\u00ed. To ist\u00e9 plat\u00ed aj pre bezserverov\u00e9 technol\u00f3gie, a \u0165a\u017eko poveda\u0165, \u017ee to je v\u00fdsledkom myln\u00fdch predst\u00e1v. Pod\u013ea na\u0161ich sk\u00fasenost\u00ed je vytv\u00e1ranie bezserverov\u00fdch aplik\u00e1ci\u00ed na AWS v kombin\u00e1cii s mo\u017enos\u0165ami AWS Lambda sp\u00e1ja\u0165 in\u00e9 slu\u017eby AWS \u2014 to v\u0161etko do zna\u010dnej miery formuje v\u00fdhody bezserverov\u00fdch architekt\u00far. Je to dobr\u00fd pr\u00edklad synergie, kde v\u00fdsledok spojenia je v\u00e4\u010d\u0161\u00ed ako iba s\u00fa\u010det jeho \u010dast\u00ed. Pritom, aby ste sa vyhli z\u00e1vislosti od dod\u00e1vate\u013ea, m\u00f4\u017eete narazi\u0165 na e\u0161te v\u00e4\u010d\u0161ie probl\u00e9my. Pri pr\u00e1ci s kontajnermi je \u013eah\u0161ie spravova\u0165 svoju \u00farove\u0148 abstrakcie medzi cloudov\u00fdmi poskytovate\u013emi. No ke\u010f pr\u00edde na bezserverov\u00e9 rie\u0161enia, \u00fasilie sa nevr\u00e1ti, najm\u00e4 ak od za\u010diatku zoh\u013eadn\u00edte ekonomick\u00fa efekt\u00edvnos\u0165. Ur\u010dite zistite, ako dod\u00e1vatelia zabezpe\u010duj\u00fa poskytovanie slu\u017eieb. Niektor\u00e9 \u0161pecializovan\u00e9 slu\u017eby z\u00e1visia od integra\u010dn\u00fdch bodov s in\u00fdmi dod\u00e1vate\u013emi a zvy\u010dajne poskytuj\u00fa mo\u017enos\u0165 pripojenia typu plug-and-play. Je jednoduch\u0161ie zabezpe\u010di\u0165 volanie Lambda z koncov\u00e9ho bodu API br\u00e1ny, ako proxy po\u017eiadavku do nejak\u00e9ho kontajnera alebo in\u0161tancie EC2. Graphcool zabezpe\u010duje jednoduch\u00fa konfigur\u00e1ciu pomocou Auth0, \u010do je jednoduch\u0161ie, ne\u017e pou\u017e\u00edva\u0165 extern\u00e9 prostriedky na autentiz\u00e1ciu.<\/p>\n<p>V\u00fdber spr\u00e1vneho dod\u00e1vate\u013ea pre va\u0161u bezserverov\u00fa aplik\u00e1ciu je rozhodnut\u00edm architektonickej \u00farovne. Pri vytv\u00e1ran\u00ed aplik\u00e1cie nepredpoklad\u00e1te, \u017ee sa niekedy vr\u00e1tite k spr\u00e1ve serverov. V\u00fdber cloudov\u00e9ho dod\u00e1vate\u013ea nie je odli\u0161n\u00fd od rozhodovania sa o pou\u017e\u00edvan\u00ed kontajnerov alebo datab\u00e1z, alebo dokonca programovacieho jazyka. <\/p>\n<p>Premyslite si:<\/p>\n<ul>\n<li>Ak\u00e9 slu\u017eby potrebujete a pre\u010do. \n<\/li>\n<li>Ak\u00e9 slu\u017eby poskytuj\u00fa cloudov\u00ed poskytovatelia a ako ich m\u00f4\u017eete kombinova\u0165 pomocou vybran\u00e9ho FaaS rie\u0161enia. \n<\/li>\n<li>Ak\u00e9 programovacie jazyky s\u00fa podporovan\u00e9 (s dynamicky alebo staticky typovan\u00fdmi, kompilovan\u00fdmi alebo interpretovan\u00fdmi, ak\u00e9 s\u00fa benchmarky, ak\u00fd je v\u00fdkon pri studenom \u0161tarte, ak\u00e1 je open source ekosyst\u00e9m a podobne).\n<\/li>\n<li>Ak\u00e9 s\u00fa va\u0161e po\u017eiadavky na bezpe\u010dnos\u0165 (SLA, 2FA, OAuth, HTTPS, SSL a pod.).\n<\/li>\n<li>Ako spravova\u0165 v\u00e1\u0161 CI\/CD a cykly v\u00fdvoja softv\u00e9ru.\n<\/li>\n<li>Na ak\u00e9 v\u00fdhody z rie\u0161en\u00ed typu infrastructure-as-code m\u00f4\u017eete vyu\u017ei\u0165.\n<\/li>\n<\/ul>\n<p>\nAk roz\u0161irujete existuj\u00facu aplik\u00e1ciu a postupne prid\u00e1vate bezserverov\u00e9 funkcie, m\u00f4\u017ee to trochu obmedzi\u0165 dostupn\u00e9 mo\u017enosti. Av\u0161ak takmer v\u0161etky bezserverov\u00e9 technol\u00f3gie poskytuj\u00fa nejak\u00e9 API (cez REST alebo spr\u00e1vy), ktor\u00e9 umo\u017e\u0148uj\u00fa vytv\u00e1ra\u0165 roz\u0161\u00edrenia nez\u00e1visle od jadra aplik\u00e1cie a s jednoduchou integr\u00e1ciou. H\u013eadajte slu\u017eby s preh\u013eadn\u00fdmi API, dobrou dokument\u00e1ciou a silnou komunitou a ur\u010dite nesklamete. Jednoduchos\u0165 integr\u00e1cie m\u00f4\u017ee by\u0165 \u010dasto k\u013e\u00fa\u010dov\u00fdm ukazovate\u013eom a pravdepodobne to je jeden z hlavn\u00fdch d\u00f4vodov \u00faspechu AWS od vydania Lambda v roku 2015.<\/p>\n<h2>Kedy je bezserverovos\u0165 u\u017eito\u010dn\u00e1<\/h2>\n<p>\nBezserverov\u00e9 technol\u00f3gie sa daj\u00fa aplikova\u0165 prakticky v\u0161ade. Av\u0161ak ich v\u00fdhody sa neobmedzuj\u00fa len na sp\u00f4soby aplik\u00e1cie. Pr\u00e1h vstupu do cloud computingu je dnes tak n\u00edzky pr\u00e1ve v\u010faka bezserverov\u00fdm technol\u00f3gi\u00e1m. Ak maj\u00fa v\u00fdvoj\u00e1ri n\u00e1pad, ale nevedia, ako spravova\u0165 cloudov\u00fa infra\u0161trukt\u00faru a optimalizova\u0165 n\u00e1klady, nemusia h\u013eada\u0165 nejak\u00e9ho in\u017einiera na to. Ak startup chce vybudova\u0165 platformu, ale ob\u00e1va sa, \u017ee n\u00e1klady m\u00f4\u017eu unikn\u00fa\u0165 spod kontroly, \u013eahko sa m\u00f4\u017ee obr\u00e1ti\u0165 na bezserverov\u00e9 rie\u0161enia.<\/p>\n<p>V\u010faka \u00faspor\u00e1m n\u00e1kladov a jednoduchej \u0161k\u00e1lovate\u013enosti s\u00fa bezserverov\u00e9 rie\u0161enia rovnako aplikovate\u013en\u00e9 pre intern\u00e9 syst\u00e9my, ako aj pre extern\u00e9, a\u017e po webov\u00fa aplik\u00e1ciu s mili\u00f3nmi pou\u017e\u00edvate\u013eov. \u00da\u010dty s\u00fa sk\u00f4r v centoch ako v eur\u00e1ch. Pren\u00e1jom najjednoduch\u0161ej verzie AWS EC2 (t1.micro) na mesiac v\u00e1s vyjde na 15 \u20ac, aj ke\u010f s \u0148ou ni\u010d nerob\u00edte (kto by si niekedy nezabudol vypn\u00fa\u0165?!). Pre porovnanie, aby ste dosiahli tak\u00fa \u00farove\u0148 v\u00fddavkov za rovnak\u00e9 \u010dasov\u00e9 obdobie, mus\u00edte spusti\u0165 Lambda s ve\u013ekos\u0165ou 512 MB na 1 sekundu pribli\u017ene 3 mili\u00f3ny kr\u00e1t. A ak t\u00fato funkciu nepou\u017e\u00edvate, ni\u010d neplat\u00edte.<\/p>\n<p>Ke\u010f\u017ee bezserverov\u00e1 technol\u00f3gia z\u00e1vis\u00ed preva\u017ene od udalost\u00ed, je mo\u017en\u00e9 pomerne \u013eahko prida\u0165 do star\u00fdch syst\u00e9mov bezserverov\u00fa infra\u0161trukt\u00faru. Napr\u00edklad pomocou AWS S3, Lambda a Kinesis m\u00f4\u017eete vytvori\u0165 analytick\u00fa slu\u017ebu pre star\u00fd maloobchodn\u00fd syst\u00e9m, ktor\u00fd bude schopn\u00fd prij\u00edma\u0165 d\u00e1ta cez API.<\/p>\n<p>V\u00e4\u010d\u0161ina serverless platforiem podporuje r\u00f4zne jazyky. Naj\u010dastej\u0161ie s\u00fa to Python, JavaScript, C#, Java a Go. Zvy\u010dajne nie s\u00fa v \u017eiadnom z jazykov obmedzenia na pou\u017e\u00edvanie kni\u017en\u00edc, tak\u017ee m\u00f4\u017eete aplikova\u0165 svoje ob\u013e\u00faben\u00e9 open source kni\u017enice. Odpor\u00fa\u010da sa v\u0161ak nehromadi\u0165 z\u00e1vislosti, aby sa va\u0161e funkcie vykon\u00e1vali optim\u00e1lne a nezni\u017eovali v\u00fdhody obrovskej \u0161k\u00e1lovate\u013enosti va\u0161ich serverless aplik\u00e1ci\u00ed. \u010c\u00edm viac bal\u00edkov je potrebn\u00e9 na\u010d\u00edta\u0165 do kontajnera, t\u00fdm dlh\u0161ie bude trva\u0165 studen\u00fd \u0161tart.<\/p>\n<p>Studen\u00fd \u0161tart je, ke\u010f je najprv potrebn\u00e9 inicializova\u0165 kontajner, prostredie vykon\u00e1vania a spracovate\u013ea ch\u00fdb, sk\u00f4r ne\u017e ich za\u010dnete pou\u017e\u00edva\u0165. Z tohto d\u00f4vodu m\u00f4\u017ee oneskorenie vykon\u00e1vania funkci\u00ed dosiahnu\u0165 3 sekundy, \u010do nie je najlep\u0161ia vo\u013eba pre netrpezliv\u00fdch pou\u017e\u00edvate\u013eov. Studen\u00e9 \u0161tarty sa v\u0161ak vyskytuj\u00fa pri prvom pr\u00edstupe po nieko\u013ek\u00fdch min\u00fatach ne\u010dinnosti funkcie. Mnoh\u00ed preto pova\u017euj\u00fa toto za drobn\u00e9 nepr\u00edjemnosti, ktor\u00fdm sa d\u00e1 vyhn\u00fa\u0165 pravideln\u00fdm pingovan\u00edm funkcie, aby sa udr\u017eala v pohotovostnom re\u017eime. Alebo tento aspekt \u00faplne ignoruj\u00fa.<\/p>\n<p>Aj ke\u010f AWS vydal<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/rds\/aurora\/serverless\/\"> serverless SQL datab\u00e1zu Serverless Aurora<\/a><\/noindex>, SQL datab\u00e1zy nie s\u00fa ide\u00e1lne na tak\u00fato aplik\u00e1ciu, preto\u017ee pri transakci\u00e1ch z\u00e1visia od pripojen\u00ed, ktor\u00e9 sa m\u00f4\u017eu r\u00fdchlo sta\u0165 u\u017e\u0161\u00edm miestom pri vysokom prenosovom za\u0165a\u017een\u00ed na AWS Lambda. \u00c1no, v\u00fdvoj\u00e1ri neust\u00e1le zlep\u0161uj\u00fa Serverless Aurora a mali by ste si s \u0148ou sk\u00fasi\u0165 experimentova\u0165, av\u0161ak dnes s\u00fa pre serverless syst\u00e9my ove\u013ea vhodnej\u0161ie NoSQL rie\u0161enia ako<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/dynamodb\/\"> DynamoDB<\/a><\/noindex>. Napriek tomu je nepochybn\u00e9, \u017ee sa t\u00e1to situ\u00e1cia ve\u013emi skoro zmen\u00ed.<\/p>\n<p>N\u00e1stroje tie\u017e ukladaj\u00fa mno\u017estvo obmedzen\u00ed, najm\u00e4 v oblasti lok\u00e1lneho testovania. Hoci existuj\u00fa rie\u0161enia ako Docker-Lambda, DynamoDB Local a LocalStack, tieto si v\u0161ak vy\u017eaduj\u00fa zna\u010dn\u00fa pr\u00e1cu a \u00fasilie pri konfigur\u00e1cii. Napriek tomu sa v\u0161etky tieto projekty akt\u00edvne vyv\u00edjaj\u00fa, tak\u017ee je to len ot\u00e1zka \u010dasu, kedy n\u00e1stroje dosiahnu po\u017eadovan\u00fa \u00farove\u0148.<\/p>\n<h2>Vplyv serverless technol\u00f3gi\u00ed na v\u00fdvojov\u00fd cyklus<\/h2>\n<p>\nKe\u010f\u017ee va\u0161a infra\u0161trukt\u00fara predstavuje len konfigur\u00e1ciu, m\u00f4\u017eete definova\u0165 a nasadi\u0165 k\u00f3d pomocou skriptov, ako napr\u00edklad shell skriptov. Alebo m\u00f4\u017eete pou\u017ei\u0165 rie\u0161enia triedy configuration-as-code ako <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/cloudformation\/\">AWS CloudFormation<\/a><\/noindex>. Aj ke\u010f tento servis nenab\u00edzaj\u00fa konfigur\u00e1ciu pre v\u0161etky oblasti, umo\u017e\u0148uje definova\u0165 konkr\u00e9tne zdroje na pou\u017eitie ako Lambda funkcie. To znamen\u00e1, \u017ee tam, kde v\u00e1s CloudFormation sklam\u00e1, m\u00f4\u017eete nap\u00edsa\u0165 vlastn\u00fd zdroj (Lambda funkcia), ktor\u00fd t\u00fato medzeru vypln\u00ed. T\u00fdmto sp\u00f4sobom m\u00f4\u017eete robi\u0165 \u010doko\u013evek, dokonca konfigurova\u0165 z\u00e1vislosti mimo v\u00e1\u0161ho AWS prostredia.<\/p>\n<p>Ke\u010f\u017ee ide len o konfigur\u00e1ciu, m\u00f4\u017eete parameterizova\u0165 va\u0161e nasadzovacie skripty pre konkr\u00e9tne prostredia, regi\u00f3ny a pou\u017e\u00edvate\u013eov, najm\u00e4 ak pou\u017e\u00edvate rie\u0161enia typu infrastructure-as-code ako CloudFormation. Napr\u00edklad m\u00f4\u017eete nasadi\u0165 k\u00f3piu infra\u0161trukt\u00fary pre ka\u017ed\u00fa vetvu v repozit\u00e1ri, aby ste ich mohli plne izolovane testova\u0165 po\u010das v\u00fdvoja. To radik\u00e1lne ur\u00fdch\u013euje z\u00edskavanie sp\u00e4tnej v\u00e4zby od v\u00fdvoj\u00e1rov, ke\u010f chc\u00fa pochopi\u0165, \u010di ich k\u00f3d spr\u00e1vne funguje v \u017eivom prostred\u00ed. Mana\u017e\u00e9rom sa u\u017e netreba ob\u00e1va\u0165 n\u00e1kladov na nasadenie mnoh\u00fdch prostred\u00ed, preto\u017ee plat\u00ed sa len za skuto\u010dn\u00e9 vyu\u017eitie.<\/p>\n<p>DevOps sa st\u00e1va menej stresuj\u00facim, preto\u017ee potrebuj\u00fa len zabezpe\u010di\u0165, aby mali v\u00fdvoj\u00e1ri spr\u00e1vnu konfigur\u00e1ciu. U\u017e nie je potrebn\u00e9 spravova\u0165 in\u0161tancie, vyrovn\u00e1va\u010de z\u00e1\u0165a\u017ee alebo bezpe\u010dnostn\u00e9 skupiny. Preto je \u010doraz \u010dastej\u0161ie pou\u017e\u00edvan\u00fd term\u00edn NoOps, hoci st\u00e1le je d\u00f4le\u017eit\u00e9 vedie\u0165 konfigurova\u0165 infra\u0161trukt\u00faru, najm\u00e4 pokia\u013e ide o konfigura\u010dn\u00e9 IAM a optimaliz\u00e1ciu cloudov\u00fdch zdrojov.<\/p>\n<p>Existuj\u00fa ve\u013emi mocn\u00e9 n\u00e1stroje na monitoring a vizualiz\u00e1ciu ako Epsagon, Thundra, Dashbird a IOPipe. Umo\u017e\u0148uj\u00fa sledova\u0165 aktu\u00e1lny stav serverless aplik\u00e1ci\u00ed, poskytuj\u00fa z\u00e1znamy a trasovanie, registruj\u00fa metriky v\u00fdkonnosti a \u00fazke miesta architekt\u00fary, vykon\u00e1vaj\u00fa anal\u00fdzy a predpovedanie n\u00e1kladov a mnoh\u00e9 \u010fal\u0161ie. Nielen\u017ee poskytuj\u00fa DevOps in\u017einierom, v\u00fdvoj\u00e1rom a architektom komplexn\u00fd preh\u013ead o v\u00fdkone aplik\u00e1ci\u00ed, ale aj umo\u017e\u0148uj\u00fa mana\u017e\u00e9rom sledova\u0165 situ\u00e1ciu v re\u00e1lnom \u010dase, s presn\u00fdmi sekundov\u00fdmi n\u00e1kladmi na zdroje a predpovedan\u00edm n\u00e1kladov. Organizova\u0165 tak\u00fato infra\u0161trukt\u00faru s riadenou obsluhou je ove\u013ea \u0165a\u017e\u0161ie.<\/p>\n<p>Navrhovanie serverless aplik\u00e1ci\u00ed je omnoho jednoduch\u0161ie, preto\u017ee nemus\u00edte nasadzova\u0165 webov\u00e9 servery, spravova\u0165 virtu\u00e1lne stroje alebo kontajnery, opravova\u0165 servery, opera\u010dn\u00e9 syst\u00e9my, internetov\u00e9 br\u00e1ny a podobne. Abstrakcia od v\u0161etk\u00fdch t\u00fdchto povinnost\u00ed umo\u017e\u0148uje serverless architekt\u00fare zamera\u0165 sa na hlavn\u00e9 - na uspokojenie potrieb podnikania a z\u00e1kazn\u00edkov.<\/p>\n<p>Aj ke\u010f n\u00e1stroje mohli by\u0165 lep\u0161ie (neust\u00e1le sa zlep\u0161uj\u00fa), v\u00fdvoj\u00e1ri sa m\u00f4\u017eu s\u00fastredi\u0165 na implement\u00e1ciu biznis logiky a najlep\u0161ie rozlo\u017eenie zlo\u017eitosti aplik\u00e1cie medzi r\u00f4znymi slu\u017ebami v r\u00e1mci architekt\u00fary. Spr\u00e1va serverless aplik\u00e1ci\u00ed prebieha na z\u00e1klade udalost\u00ed a je abstrahovan\u00e1 cloudov\u00fdm poskytovate\u013eom (napr\u00edklad SQS, S3 udalosti alebo DynamoDB pr\u00fady). Preto sta\u010d\u00ed, ak v\u00fdvoj\u00e1ri nap\u00ed\u0161u biznis logiku na reagovanie na ur\u010dit\u00e9 udalosti, a nemusia sa ob\u00e1va\u0165, ako najlep\u0161ie spravova\u0165 datab\u00e1zy a spr\u00e1vy, alebo ako optim\u00e1lne pracova\u0165 s d\u00e1tami v konkr\u00e9tnych hardv\u00e9rov\u00fdch \u00falo\u017eisk\u00e1ch.<\/p>\n<p>K\u00f3d m\u00f4\u017eete sp\u00fa\u0161\u0165a\u0165 a laden\u00edm lok\u00e1lne, ako pri akomko\u013evek procese v\u00fdvoja. Modul\u00e1rne testovanie zost\u00e1va rovnak\u00e9. Mo\u017enos\u0165 nasadi\u0165 cel\u00fa infra\u0161trukt\u00faru aplik\u00e1cie pomocou prisp\u00f4sobenej konfigur\u00e1cie stacku umo\u017e\u0148uje v\u00fdvoj\u00e1rom r\u00fdchlo z\u00edska\u0165 d\u00f4le\u017eit\u00fa sp\u00e4tn\u00fa v\u00e4zbu, bez toho, aby museli prem\u00fd\u0161\u013ea\u0165 o n\u00e1kladoch na testovanie alebo o vplyve na drah\u00e9 spravovan\u00e9 prostredia.<\/p>\n<h2>N\u00e1stroje a metodiky na budovanie serverless aplik\u00e1ci\u00ed<\/h2>\n<p>\nNeexistuje konkr\u00e9tny sp\u00f4sob v\u00fdstavby serverless aplik\u00e1ci\u00ed. Rovnako tak ani s\u00fabor slu\u017eieb pre t\u00fato \u00falohu. Vodcom medzi siln\u00fdmi serverless rie\u0161eniami je dnes AWS, av\u0161ak dbajte aj na <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/gcp\">Google Cloud<\/a><\/noindex>,<noindex><a rel=\"nofollow\" href=\"https:\/\/zeit.co\/\"> Zeit<\/a><\/noindex> a <noindex><a rel=\"nofollow\" href=\"https:\/\/firebase.google.com\/\">Firebase<\/a><\/noindex>. Ak pou\u017e\u00edvate AWS, odpor\u00fa\u010da sa ako pr\u00edstup k budovaniu aplik\u00e1ci\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/serverless\/sam\/\">Serverless Application Model<\/a><\/noindex> (SAM), najm\u00e4 pri pou\u017e\u00edvan\u00ed C#, preto\u017ee vo Visual Studio je vynikaj\u00faci n\u00e1stroj. SAM CLI m\u00f4\u017ee robi\u0165 to ist\u00e9, \u010do aj Visual Studio, tak\u017ee ni\u010d nestrat\u00edte, ak prejdete na in\u00e9 IDE alebo textov\u00fd editor. Samozrejme, SAM funguje aj s in\u00fdmi jazykmi.<\/p>\n<p>Ak p\u00ed\u0161ete v in\u00fdch jazykoch, Serverless Framework je vynikaj\u00faci open source n\u00e1stroj, ktor\u00fd umo\u017e\u0148uje konfigurova\u0165 \u010doko\u013evek pomocou ve\u013emi siln\u00fdch konfigura\u010dn\u00fdch YAML s\u00faborov. Serverless Framework tie\u017e podporuje r\u00f4zne cloudov\u00e9 slu\u017eby, preto ho odpor\u00fa\u010dame t\u00fdm, ktor\u00ed h\u013eadaj\u00fa multicloudov\u00e9 rie\u0161enie. M\u00e1 obrovsk\u00e9 spolo\u010denstvo, ktor\u00e9 vytvorilo mno\u017estvo pluginov pre ak\u00e9ko\u013evek potreby. <\/p>\n<p>Na lok\u00e1lne testovanie s\u00fa ide\u00e1lne open source n\u00e1stroje Docker-Lambda, Serverless Local, DynamoDB Local a LocalStack. Serverless technol\u00f3gie s\u00fa zatia\u013e v po\u010diato\u010dnej f\u00e1ze v\u00fdvoja, rovnako ako n\u00e1stroje pre ne, tak\u017ee pri nastavovan\u00ed zlo\u017eit\u00fdch testovac\u00edch scen\u00e1rov sa budete musie\u0165 poriadne zapoti\u0165. Av\u0161ak jednoducho nasadi\u0165 stack v prostred\u00ed a testova\u0165 tam sa ukazuje by\u0165 neuverite\u013ene lacn\u00e9. A nemus\u00edte robi\u0165 presn\u00fa lok\u00e1lnu k\u00f3piu cloudov\u00fdch prostred\u00ed.<\/p>\n<p>Na zmen\u0161enie ve\u013ekost\u00ed nasaden\u00fdch bal\u00edkov a ur\u00fdchlenie na\u010d\u00edtania pou\u017e\u00edvajte AWS Lambda Layers. <\/p>\n<p>Na konkr\u00e9tne \u00falohy pou\u017e\u00edvajte spr\u00e1vne programovacie jazyky. R\u00f4zne jazyky maj\u00fa svoje v\u00fdhody a nev\u00fdhody. Existuje mno\u017estvo benchmarkov, ale JavaScript, Python a C# (.NET Core 2.1+) s\u00fa l\u00eddrami z poh\u013eadu v\u00fdkonu AWS Lambda. Ned\u00e1vno sa v AWS Lambda objavil Runtime API, ktor\u00fd umo\u017e\u0148uje uvies\u0165 po\u017eadovan\u00fd jazyk a prostredie na vykon\u00e1vanie, tak\u017ee experimentujte.<\/p>\n<p>Udr\u017eiavajte mal\u00e9 ve\u013ekosti bal\u00edkov na nasadenie. \u010c\u00edm s\u00fa men\u0161ie, t\u00fdm r\u00fdchlej\u0161ie sa na\u010d\u00edtaj\u00fa. Vyhnite sa pou\u017e\u00edvaniu ve\u013ek\u00fdch kni\u017en\u00edc, najm\u00e4 ak pou\u017e\u00edvate len nieko\u013eko funkci\u00ed. Ak programujete v JavaScripte, pou\u017e\u00edvajte n\u00e1stroje na zostavovanie ako Webpack, aby ste optimalizovali zostavenie a zahrnuli len to, \u010do skuto\u010dne potrebujete. V .NET Core 3.0 s\u00fa QuickJit a Tiered Compilation, ktor\u00e9 zlep\u0161uj\u00fa v\u00fdkon a ve\u013emi pom\u00e1haj\u00fa pri studen\u00fdch spusteniach.<\/p>\n<p>Z\u00e1vislos\u0165 serverless funkci\u00ed na udalostiach m\u00f4\u017ee spo\u010diatku s\u0165a\u017eova\u0165 koordin\u00e1ciu obchodnej logiky. V tejto s\u00favislosti m\u00f4\u017eu by\u0165 neuverite\u013ene u\u017eito\u010dn\u00e9 fronty spr\u00e1v a kone\u010dn\u00e9 automaty. Lambda funkcie m\u00f4\u017eu vyvol\u00e1va\u0165 jedna druh\u00fa, ale robte to len v pr\u00edpade, \u017ee neo\u010dak\u00e1vate odpove\u010f (\"vystrelil a zabudol\") \u2014 nechcete plati\u0165 za \u010dakanie na dokon\u010denie inej funkcie. Fronty spr\u00e1v s\u00fa u\u017eito\u010dn\u00e9 na oddelenie \u010dast\u00ed obchodnej logiky, riadenie \u00fazkych miest aplik\u00e1ci\u00ed a spracovanie transakci\u00ed (pomocou FIFO frontov). Funkcie AWS Lambda m\u00f4\u017eu by\u0165 priraden\u00e9 k SQS frontom ako fronty \"visiacich\" spr\u00e1v, ktor\u00e9 sleduj\u00fa zlyhan\u00e9 spr\u00e1vy na n\u00e1sledn\u00fa anal\u00fdzu. Funkcie AWS Step Functions (kone\u010dn\u00e9 automaty) s\u00fa ve\u013emi u\u017eito\u010dn\u00e9 na riadenie zlo\u017eit\u00fdch procesov, ktor\u00e9 si vy\u017eaduj\u00fa vytv\u00e1ranie re\u0165azcov funkci\u00ed. Namiesto toho, aby Lambda funkcia vyvol\u00e1vala in\u00fa funkciu, Step funkcie m\u00f4\u017eu koordinova\u0165 prechody stavov, pren\u00e1\u0161a\u0165 d\u00e1ta medzi funkciami a riadi\u0165 glob\u00e1lny stav funkci\u00ed. To umo\u017e\u0148uje definova\u0165 podmienky op\u00e4tovn\u00fdch pokusov alebo \u010do robi\u0165 pri v\u00fdskyte konkr\u00e9tnej chyby \u2014 za ur\u010dit\u00fdch okolnost\u00ed ve\u013emi mocn\u00fd n\u00e1stroj.<\/p>\n<h2>Z\u00e1ver<\/h2>\n<p>\nV posledn\u00fdch rokoch sa serverless technol\u00f3gie vyv\u00edjaj\u00fa nev\u00eddan\u00fdmi r\u00fdchlos\u0165ami. S touto zmenou paradigmy s\u00fa spojen\u00e9 ur\u010dit\u00e9 nepochopenia. V\u010faka abstrahovaniu infra\u0161trukt\u00fary a riadeniu \u0161k\u00e1lovania serverless rie\u0161enia pon\u00fakaj\u00fa zna\u010dn\u00e9 v\u00fdhody: od zjednodu\u0161enia v\u00fdvoja a DevOps procesov a\u017e po v\u00fdrazn\u00e9 zn\u00ed\u017eenie prev\u00e1dzkov\u00fdch n\u00e1kladov.<br \/>\nA hoci serverless pr\u00edstup nie je bez nedostatkov, existuj\u00fa spo\u013eahliv\u00e9 met\u00f3dy a n\u00e1vrhov\u00e9 vzory, pomocou ktor\u00fdch je mo\u017en\u00e9 vytvori\u0165 odoln\u00e9 serverless aplik\u00e1cie alebo integrova\u0165 serverless prvky do existuj\u00facich architekt\u00far.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/nix\/blog\/486180\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0425\u043e\u0442\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u0431\u0438\u0440\u0430\u044e\u0442 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c, \u0441 \u043d\u0438\u043c\u0438 \u0432\u0441\u0451 \u0435\u0449\u0451 \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u0439 \u0438 \u043e\u043f\u0430\u0441\u0435\u043d\u0438\u0439. \u0417\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u0430, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u0430\u043c\u0438, \u0445\u043e\u043b\u043e\u0434\u043d\u044b\u0439 \u0441\u0442\u0430\u0440\u0442, \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0438 \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u2014 \u0432\u0441\u0435 \u044d\u0442\u0438 \u0442\u0435\u043c\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u044e\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0437\u0430\u0445\u043e\u0434\u0438\u0442 \u043e \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0445. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0445 \u0442\u0435\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u043c\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":55882,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-55881","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0425\u043e\u0442\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043e\u0432\u0435\u0442\u044b \u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0425\u043e\u0442\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-30T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:04:02+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Tipy a zdroje inform\u00e1ci\u00ed na vytv\u00e1ranie serverless aplik\u00e1ci\u00ed | ProHoster","description":"Aj ke\u010f serverless.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043e\u0432\u0435\u0442\u044b \u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 | ProHoster","og:description":"\u0425\u043e\u0442\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-30T21:00:00+00:00","article:modified_time":"2020-02-18T11:04:02+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55881","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:35:40","updated":"2022-10-07 20:58:46","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/55881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=55881"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/55881\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/55882"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=55881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=55881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=55881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}