{"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\/hu\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","title":{"rendered":"Tippek \u00e9s inform\u00e1ci\u00f3forr\u00e1sok szerver n\u00e9lk\u00fcli alkalmaz\u00e1sok k\u00e9sz\u00edt\u00e9s\u00e9hez","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Tippek \u00e9s inform\u00e1ci\u00f3forr\u00e1sok szerver n\u00e9lk\u00fcli alkalmaz\u00e1sok k\u00e9sz\u00edt\u00e9s\u00e9hez\" src=\"\/wp-content\/uploads\/2020\/01\/a29ca83a52a809d148aebbd6821d4ef9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nB\u00e1r a szerver n\u00e9lk\u00fcli technol\u00f3gi\u00e1k az ut\u00f3bbi \u00e9vekben gyorsan n\u00e9pszer\u0171v\u00e9 v\u00e1ltak, m\u00e9g mindig sok f\u00e9lre\u00e9rt\u00e9s \u00e9s agg\u00e1ly \u00f6vezi \u0151ket. A besz\u00e1ll\u00edt\u00f3i f\u00fcgg\u0151s\u00e9g, az eszk\u00f6zk\u00e9szlet, a k\u00f6lts\u00e9gek kezel\u00e9se, a hidegind\u00edt\u00e1s, a monitoring \u00e9s a fejleszt\u00e9si \u00e9letciklus \u2013 ezek a t\u00e9m\u00e1k akt\u00edvan napirenden vannak, amikor a szerver n\u00e9lk\u00fcli technol\u00f3gi\u00e1kr\u00f3l van sz\u00f3. Ebben a cikkben megvizsg\u00e1lunk n\u00e9h\u00e1ny eml\u00edtett t\u00e9m\u00e1t, \u00e9s megosztunk tippeket \u00e9s hasznos forr\u00e1sok linkjeit, amelyek seg\u00edts\u00e9g\u00e9vel a kezd\u0151k er\u0151teljes, rugalmas \u00e9s k\u00f6lts\u00e9ghat\u00e9kony szerver n\u00e9lk\u00fcli alkalmaz\u00e1sokat hozhatnak l\u00e9tre.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>F\u00e9lre\u00e9rt\u00e9sek a szerver n\u00e9lk\u00fcli technol\u00f3gi\u00e1kr\u00f3l<\/h2>\n<p>\nSokan azt hiszik, hogy a szerver n\u00e9lk\u00fcli m\u0171k\u00f6d\u00e9s \u00e9s az adatfeldolgoz\u00e1s (<noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/serverless.html#unpacking-faas\">Functions as a Service<\/a><\/noindex>, FaaS) szinte ugyanaz. Ez\u00e9rt a k\u00fcl\u00f6nbs\u00e9g nem t\u00fal nagy, \u00e9s \u00e9rdemes bevezetni az \u00fajdons\u00e1got. B\u00e1r az AWS Lambda volt az egyik \u201ecsillag\u201d a szerver n\u00e9lk\u00fcli technol\u00f3gi\u00e1k vir\u00e1gkor\u00e1ban, \u00e9s az egyik legn\u00e9pszer\u0171bb eleme a szerver n\u00e9lk\u00fcli architekt\u00far\u00e1nak, ez az architekt\u00fara m\u00e9g sokkal t\u00f6bbet jelent, mint a FaaS.<\/p>\n<p>A szerver n\u00e9lk\u00fcli technol\u00f3gi\u00e1k alapelve az, hogy nem kell agg\u00f3dnia az infrastrukt\u00fara kezel\u00e9s\u00e9r\u0151l \u00e9s m\u00e9retez\u00e9s\u00e9r\u0151l, csak az\u00e9rt fizet, amit haszn\u00e1l. Sz\u00e1mos szolg\u00e1ltat\u00e1s megfelel ezeknek a krit\u00e9riumoknak \u2013 AWS DynamoDB, S3, SNS vagy SQS, Graphcool, Auth0, Now, Netlify, Firebase \u00e9s m\u00e9g sok m\u00e1s. \u00d6sszess\u00e9g\u00e9ben a szerver n\u00e9lk\u00fcli m\u0171k\u00f6d\u00e9s az \u00f6sszes felh\u0151alap\u00fa sz\u00e1m\u00edt\u00e1si lehet\u0151s\u00e9g kihaszn\u00e1l\u00e1s\u00e1r\u00f3l sz\u00f3l an\u00e9lk\u00fcl, hogy az infrastrukt\u00fara kezel\u00e9s\u00e9vel \u00e9s optimaliz\u00e1l\u00e1s\u00e1val kellene foglalkozni a m\u00e9retez\u00e9s miatt. Ez azt is jelenti, hogy az infrastrukt\u00fara biztons\u00e1ga m\u00e1r nem az \u00d6n probl\u00e9m\u00e1ja, ami \u00f3ri\u00e1si el\u0151ny, figyelembe v\u00e9ve a biztons\u00e1gi standardok betart\u00e1s\u00e1nak neh\u00e9zs\u00e9g\u00e9t \u00e9s komplexit\u00e1s\u00e1t. V\u00e9g\u00fcl, nem kell megv\u00e1s\u00e1rolnia a rendelkez\u00e9s\u00e9re bocs\u00e1tott infrastrukt\u00far\u00e1t.<\/p>\n<p>A szerver n\u00e9lk\u00fcli m\u0171k\u00f6d\u00e9st \u201ement\u00e1lis \u00e1llapotnak\u201d tekinthetj\u00fck: egy bizonyos mentalit\u00e1s a megold\u00e1sok tervez\u00e9s\u00e9ben. Ker\u00fclje azokat a megk\u00f6zel\u00edt\u00e9seket, amelyek b\u00e1rmilyen infrastrukt\u00fara karbantart\u00e1s\u00e1t ig\u00e9nylik. A szerver n\u00e9lk\u00fcli megk\u00f6zel\u00edt\u00e9s eset\u00e9n az id\u0151nket olyan feladatok megold\u00e1s\u00e1ra ford\u00edtjuk, amelyek k\u00f6zvetlen hat\u00e1ssal vannak a projektre, \u00e9s el\u0151ny\u00f6ket ny\u00fajtanak felhaszn\u00e1l\u00f3ink sz\u00e1m\u00e1ra: fenntarthat\u00f3 \u00fczleti logik\u00e1t alak\u00edtunk ki, fejlesztj\u00fck a felhaszn\u00e1l\u00f3i fel\u00fcleteket \u00e9s adapt\u00edv, megb\u00edzhat\u00f3 API-kat k\u00e9sz\u00edt\u00fcnk.<\/p>\n<p>P\u00e9ld\u00e1ul, ha elker\u00fclhetj\u00fck a szabad sz\u00f6vegkeres\u00e9si platform kezel\u00e9s\u00e9t \u00e9s t\u00e1mogat\u00e1s\u00e1t, akkor \u00e9ppen \u00edgy is j\u00e1runk el. Ez a megk\u00f6zel\u00edt\u00e9s k\u00e9pes jelent\u0151sen felgyors\u00edtani a term\u00e9k piacra jut\u00e1s\u00e1t, mivel t\u00f6bb\u00e9 nem kell bonyolult infrastrukt\u00far\u00e1k kezel\u00e9s\u00e9vel foglalkoznia. Szabaduljon meg az infrastrukt\u00fara kezel\u00e9s\u00e9vel j\u00e1r\u00f3 k\u00f6telezetts\u00e9gekt\u0151l \u00e9s kiad\u00e1sokt\u00f3l, \u00e9s \u00f6sszpontos\u00edtson az olyan alkalmaz\u00e1sok \u00e9s szolg\u00e1ltat\u00e1sok l\u00e9trehoz\u00e1s\u00e1ra, amelyekre az \u00fcgyfeleinek sz\u00fcks\u00e9ge van. Patrick Debois ezt a megk\u00f6zel\u00edt\u00e9st <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>, ezt a kifejez\u00e9st a serverless k\u00f6z\u00f6ss\u00e9gben haszn\u00e1lt\u00e1k. A funkci\u00f3kat \u00f6sszek\u00f6t\u0151 elemk\u00e9nt kell kezelni a szolg\u00e1ltat\u00e1sokhoz, form\u00e1lisan telep\u00edthet\u0151 modulokk\u00e9nt (ahelyett, hogy egy eg\u00e9sz k\u00f6nyvt\u00e1rat vagy webalkalmaz\u00e1st telep\u00edten\u00e9nk). Ez elk\u00e9peszt\u0151 fok\u00fa granularit\u00e1st biztos\u00edt a telep\u00edt\u00e9si \u00e9s v\u00e1ltoztat\u00e1si folyamatok kezel\u00e9s\u00e9ben az alkalmaz\u00e1sban. Ha nem tudja \u00edgy telep\u00edteni a funkci\u00f3kat, akkor ez arra utalhat, hogy a funkci\u00f3k t\u00fal sok feladatot l\u00e1tnak el, \u00e9s refaktor\u00e1l\u00e1sra szorulnak.<\/p>\n<p>N\u00e9h\u00e1nyan agg\u00f3dnak a besz\u00e1ll\u00edt\u00f3t\u00f3l val\u00f3 f\u00fcgg\u0151s\u00e9g miatt felh\u0151s alkalmaz\u00e1sok fejleszt\u00e9sekor. Ugyanez igaz a szerver n\u00e9lk\u00fcli technol\u00f3gi\u00e1kra is, \u00e9s val\u00f3sz\u00edn\u0171leg nem csup\u00e1n f\u00e9lre\u00e9rt\u00e9s k\u00f6vetkezm\u00e9nye. Tapasztalataink szerint a szerver n\u00e9lk\u00fcli alkalmaz\u00e1sok AWS-en val\u00f3 l\u00e9trehoz\u00e1sa, az AWS Lambda k\u00e9pess\u00e9ge, hogy m\u00e1s AWS szolg\u00e1ltat\u00e1sokat hasznos\u00edtson \u2014 mindez r\u00e9szben hozz\u00e1j\u00e1rul a szerver n\u00e9lk\u00fcli architekt\u00far\u00e1k el\u0151nyeinek kialakul\u00e1s\u00e1hoz. Ez egy j\u00f3 p\u00e9lda a szinergi\u00e1ra, amikor az \u00f6sszegz\u00e9s eredm\u00e9nye nagyobb, mint a r\u00e9szek egyszer\u0171 \u00f6sszege. Ha megpr\u00f3b\u00e1lja elker\u00fclni a besz\u00e1ll\u00edt\u00f3i f\u00fcgg\u0151s\u00e9get, nagyobb probl\u00e9m\u00e1kkal is szembes\u00fclhet. Az kont\u00e9nerek kezel\u00e9se sor\u00e1n k\u00f6nnyebb ir\u00e1ny\u00edtani az absztrakci\u00f3s szintet a felh\u0151s szolg\u00e1ltat\u00f3k k\u00f6z\u00f6tt. De amikor a szerver n\u00e9lk\u00fcli megold\u00e1sokr\u00f3l van sz\u00f3, az er\u0151fesz\u00edt\u00e9sek nem t\u00e9r\u00fclnek meg, k\u00fcl\u00f6n\u00f6sen, ha a gazdas\u00e1goss\u00e1got m\u00e1r kezdetben figyelembe vessz\u00fck. Felt\u00e9tlen\u00fcl der\u00edtse ki, hogyan biztos\u00edtj\u00e1k a szolg\u00e1ltat\u00e1sok ny\u00fajt\u00e1s\u00e1t a besz\u00e1ll\u00edt\u00f3k. N\u00e9h\u00e1ny speci\u00e1lis szolg\u00e1ltat\u00e1s m\u00e1s besz\u00e1ll\u00edt\u00f3kkal val\u00f3 integr\u00e1ci\u00f3s pontokon alapul, \u00e9s dobozb\u00f3l kipr\u00f3b\u00e1lhat\u00f3 csatlakoz\u00e1si lehet\u0151s\u00e9geket k\u00edn\u00e1lhat. K\u00f6nnyebb Lambda-t h\u00edvni egy API gateway v\u00e9gpontb\u00f3l, mint egy kont\u00e9ner vagy EC2 p\u00e9ld\u00e1ny sz\u00e1m\u00e1ra proxyz\u00e1lni a k\u00e9r\u00e9st. A Graphcool egyszer\u0171 konfigur\u00e1l\u00e1st biztos\u00edt az Auth0-val, ami k\u00f6nnyebb, mint harmadik f\u00e9l hiteles\u00edt\u00e9si eszk\u00f6zeit haszn\u00e1lni.<\/p>\n<p>A megfelel\u0151 besz\u00e1ll\u00edt\u00f3 kiv\u00e1laszt\u00e1sa a szerver n\u00e9lk\u00fcli alkalmaz\u00e1s\u00e1hoz architektur\u00e1lis szint\u0171 d\u00f6nt\u00e9s. Amikor alkalmaz\u00e1st \u00e9p\u00edt, nem sz\u00e1m\u00edt arra, hogy egyszer visszat\u00e9r a szerverek kezel\u00e9s\u00e9hez. Az felh\u0151szolg\u00e1ltat\u00f3 kiv\u00e1laszt\u00e1sa nem k\u00fcl\u00f6nb\u00f6zik a kont\u00e9nerek, adatb\u00e1zisok vagy ak\u00e1r programoz\u00e1si nyelvek haszn\u00e1lat\u00e1nak megv\u00e1laszt\u00e1s\u00e1t\u00f3l. <\/p>\n<p>Fontolja meg:<\/p>\n<ul>\n<li>Milyen szolg\u00e1ltat\u00e1sokra van sz\u00fcks\u00e9ge \u00e9s mi\u00e9rt? \n<\/li>\n<li>Milyen szolg\u00e1ltat\u00e1sokat k\u00edn\u00e1lnak a felh\u0151szolg\u00e1ltat\u00f3k, \u00e9s hogyan integr\u00e1lhatja ezeket a v\u00e1lasztott FaaS megold\u00e1s\u00e1val? \n<\/li>\n<li>Milyen programoz\u00e1si nyelvek vannak t\u00e1mogatva (dinamikus vagy statikus t\u00edpusoz\u00e1s\u00fa, hordozhat\u00f3 vagy \u00e9rtelmezett, milyen benchmarkok vannak, milyen teljes\u00edtm\u00e9nyt ny\u00fajt a hideg ind\u00edt\u00e1skor, milyen az open source \u00f6kosziszt\u00e9ma \u00e9s \u00edgy tov\u00e1bb).\n<\/li>\n<li>Mik a biztons\u00e1gi k\u00f6vetelm\u00e9nyei (SLA, 2FA, OAuth, HTTPS, SSL stb.).\n<\/li>\n<li>Hogyan kezelheti a CI\/CD-t \u00e9s a szoftverfejleszt\u00e9si ciklusokat.\n<\/li>\n<li>Milyen infrastructure-as-code megold\u00e1sok el\u0151nyeit tudja kihaszn\u00e1lni.\n<\/li>\n<\/ul>\n<p>\nHa megl\u00e9v\u0151 alkalmaz\u00e1st b\u0151v\u00edt \u00e9s fokozatosan hozz\u00e1adja a serverless funkci\u00f3kat, ez korl\u00e1tozhatja a rendelkez\u00e9sre \u00e1ll\u00f3 lehet\u0151s\u00e9geket. Azonban szinte minden serverless technol\u00f3gia biztos\u00edt valamilyen API-t (REST vagy \u00fczenetsorokon kereszt\u00fcl), amely lehet\u0151v\u00e9 teszi a b\u0151v\u00edtm\u00e9nyek l\u00e9trehoz\u00e1s\u00e1t az alkalmaz\u00e1s alapj\u00e1t\u00f3l f\u00fcggetlen\u00fcl \u00e9s egyszer\u0171 integr\u00e1ci\u00f3val. Olyan szolg\u00e1ltat\u00e1sokat keressen, amelyek \u00e9rthet\u0151 API-val, j\u00f3 dokument\u00e1ci\u00f3val \u00e9s er\u0151s k\u00f6z\u00f6ss\u00e9ggel rendelkeznek, \u00e9s nem t\u00e9vedhet. Az integr\u00e1ci\u00f3 egyszer\u0171s\u00e9ge gyakran kulcsm\u00e9r\u0151sz\u00e1m lehet, \u00e9s val\u00f3sz\u00edn\u0171leg ez az AWS siker\u00e9nek egyik f\u0151 oka, mi\u00f3ta 2015-ben megjelent a Lambda.<\/p>\n<h2>Mikor hasznos a serverless megold\u00e1s<\/h2>\n<p>\nA serverless technol\u00f3gi\u00e1k szinte mindenhol alkalmazhat\u00f3k. Azonban az el\u0151nyeik nem csup\u00e1n a felhaszn\u00e1l\u00e1si m\u00f3dokra korl\u00e1toz\u00f3dnak. A felh\u0151alap\u00fa sz\u00e1m\u00edt\u00e1sok bel\u00e9p\u00e9si k\u00fcsz\u00f6be ma annyira alacsony \u00e9ppen a serverless technol\u00f3gi\u00e1knak k\u00f6sz\u00f6nhet\u0151en. Ha a fejleszt\u0151knek van egy \u00f6tlet\u00fck, de nem tudj\u00e1k, hogyan kezelj\u00e9k a felh\u0151infrastrukt\u00far\u00e1t \u00e9s optimaliz\u00e1lj\u00e1k a k\u00f6lts\u00e9geket, akkor nem sz\u00fcks\u00e9ges m\u00e9rn\u00f6k\u00f6t keresni\u00fck. Ha egy startup platformot szeretne l\u00e9trehozni, de att\u00f3l tart, hogy a k\u00f6lts\u00e9gek ellen\u0151rizhetetlenn\u00e9 v\u00e1lhatnak, akkor k\u00f6nnyen fordulhat serverless megold\u00e1sokhoz.<\/p>\n<p>A k\u00f6lts\u00e9gmegtakar\u00edt\u00e1s \u00e9s a sk\u00e1l\u00e1zhat\u00f3s\u00e1g egyszer\u0171s\u00e9ge miatt a serverless megold\u00e1sok egyar\u00e1nt alkalmazhat\u00f3k bels\u0151 rendszerekre \u00e9s k\u00fcls\u0151kre, eg\u00e9szen a t\u00f6bbmilli\u00f3s k\u00f6z\u00f6ns\u00e9ggel rendelkez\u0151 webalkalmaz\u00e1sokig. A sz\u00e1ml\u00e1k ink\u00e1bb centekben m\u00e9rhet\u0151k, mint eur\u00f3kban. A legbasicabb AWS EC2 p\u00e9ld\u00e1ny (t1.micro) havi b\u00e9rl\u00e9se 15 \u20ac-ba ker\u00fcl, m\u00e9g akkor is, ha semmit sem csin\u00e1l vele (kinek nem volt m\u00e1r olyan, hogy elfelejtette kikapcsolni?!). \u00d6sszehasonl\u00edt\u00e1sk\u00e9ppen, hogy ugyanazt a k\u00f6lts\u00e9gszintet el\u00e9rje ugyanebben az id\u0151szakban, k\u00f6r\u00fclbel\u00fcl 3 milli\u00f3 alkalommal kell m\u0171k\u00f6dtetnie egy 512 MB-os Lamd\u00e1t 1 m\u00e1sodpercre. Ha pedig nem haszn\u00e1lja ezt a funkci\u00f3t, akkor nem fizet semmit.<\/p>\n<p>Mivel a serverless technol\u00f3gia f\u0151k\u00e9nt az esem\u00e9nyekt\u0151l f\u00fcgg, viszonylag k\u00f6nnyen hozz\u00e1adhat\u00f3 serverless infrastrukt\u00fara a r\u00e9gi rendszerekhez. P\u00e9ld\u00e1ul az AWS S3, Lambda \u00e9s Kinesis seg\u00edts\u00e9g\u00e9vel l\u00e9trehozhat egy elemz\u0151 szolg\u00e1ltat\u00e1st egy r\u00e9gi kiskereskedelmi rendszerhez, amely adatokat kaphat API-n kereszt\u00fcl.<\/p>\n<p>A legt\u00f6bb szerver n\u00e9lk\u00fcli platform t\u00e1mogatja a k\u00fcl\u00f6nb\u00f6z\u0151 programoz\u00e1si nyelveket. Leggyakrabban a Python, JavaScript, C#, Java \u00e9s Go. \u00c1ltal\u00e1ban nincs korl\u00e1toz\u00e1s a k\u00f6nyvt\u00e1rak haszn\u00e1lat\u00e1ra minden nyelvben, \u00edgy haszn\u00e1lhatod a kedvenc ny\u00edlt forr\u00e1sk\u00f3d\u00fa k\u00f6nyvt\u00e1raidat. Azonban nem tan\u00e1csos t\u00fals\u00e1gosan sok f\u00fcgg\u0151s\u00e9get haszn\u00e1lni, hogy a funkci\u00f3id optim\u00e1lisan m\u0171k\u00f6djenek \u00e9s ne semmizz\u00e9k ki a hatalmas sk\u00e1l\u00e1zhat\u00f3s\u00e1g el\u0151nyeit a szerver n\u00e9lk\u00fcli alkalmaz\u00e1said sz\u00e1m\u00e1ra. Min\u00e9l t\u00f6bb csomagot kell bet\u00f6lteni a kont\u00e9nerbe, ann\u00e1l hosszabb lesz a hideg ind\u00edt\u00e1s v\u00e9grehajt\u00e1sa.<\/p>\n<p>A hideg ind\u00edt\u00e1s az, amikor el\u0151sz\u00f6r inicializ\u00e1lni kell a kont\u00e9nert, a futtat\u00e1si k\u00f6rnyezetet \u00e9s a hibakezel\u0151t, miel\u0151tt haszn\u00e1lni lehetne \u0151ket. Emiatt a funkci\u00f3k v\u00e9grehajt\u00e1si k\u00e9slelte ak\u00e1r 3 m\u00e1sodpercet is el\u00e9rhet, ami nem a legjobb megold\u00e1s a t\u00fcrelmetlen felhaszn\u00e1l\u00f3k sz\u00e1m\u00e1ra. Azonban a hideg ind\u00edt\u00e1sok el\u0151fordulnak az els\u0151 el\u00e9r\u00e9skor, miut\u00e1n a funkci\u00f3 n\u00e9h\u00e1ny percig inakt\u00edv volt. \u00cdgy sokan ezt apr\u00f3 kellemetlens\u00e9gnek tartj\u00e1k, amelyet rendszeres pingel\u00e9ssel elker\u00fclhetnek, hogy a funkci\u00f3t folyamatosan m\u0171k\u00f6d\u00e9sben tarts\u00e1k. Vagy teljesen figyelmen k\u00edv\u00fcl hagyj\u00e1k ezt a szempontot.<\/p>\n<p>B\u00e1r az AWS kiadta<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/rds\/aurora\/serverless\/\"> a Serverless Aurora szerver n\u00e9lk\u00fcli SQL-adatb\u00e1zist<\/a><\/noindex>, az SQL-adatb\u00e1zisok nem ide\u00e1lisak az ilyen alkalmaz\u00e1sokhoz, mivel a tranzakci\u00f3k v\u00e9grehajt\u00e1sa a kapcsolatokt\u00f3l f\u00fcgg, amelyek nagy forgalom eset\u00e9n gyorsan sz\u0171k keresztmetszett\u00e9 v\u00e1lhatnak az AWS Lambda-n. Igen, a fejleszt\u0151k folyamatosan jav\u00edtj\u00e1k a Serverless Aurora-t, \u00e9s \u00e9rdemes k\u00eds\u00e9rletezni vele, de ma a szerver n\u00e9lk\u00fcli rendszerekhez sokkal jobban illenek a NoSQL megold\u00e1sok, mint p\u00e9ld\u00e1ul<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/dynamodb\/\"> a DynamoDB<\/a><\/noindex>. Mindazon\u00e1ltal k\u00e9ts\u00e9gtelen, hogy ez a helyzet nagyon gyorsan megv\u00e1ltozik.<\/p>\n<p>Az eszk\u00f6z\u00f6k is sz\u00e1mos korl\u00e1toz\u00e1st imposzt\u00e1lnak, k\u00fcl\u00f6n\u00f6sen a helyi tesztel\u00e9s ter\u00e9n. B\u00e1r l\u00e9teznek megold\u00e1sok, mint a Docker-Lambda, a DynamoDB Local \u00e9s a LocalStack, ezek azonban alapos munk\u00e1t \u00e9s jelent\u0151s konfigur\u00e1l\u00e1st ig\u00e9nyelnek. Mindazon\u00e1ltal ezek a projektek akt\u00edvan fejl\u0151dnek, \u00edgy csak id\u0151 k\u00e9rd\u00e9se, hogy az eszk\u00f6v\u00e1z el\u00e9rje a sz\u00fcks\u00e9ges szintet.<\/p>\n<h2>A szerver n\u00e9lk\u00fcli technol\u00f3gi\u00e1k hat\u00e1sa a fejleszt\u00e9si ciklusra<\/h2>\n<p>\nMivel az infrastrukt\u00far\u00e1d csup\u00e1n egy konfigur\u00e1ci\u00f3, a k\u00f3dot egyszer\u0171en megadhatod \u00e9s telep\u00edtheted szkriptek seg\u00edts\u00e9g\u00e9vel, p\u00e9ld\u00e1ul shell-szkriptek seg\u00edts\u00e9g\u00e9vel. Vagy haszn\u00e1lhatsz konfigur\u00e1ci\u00f3k\u00e9nt k\u00f3d komplex megold\u00e1sokat, mint p\u00e9ld\u00e1ul <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/cloudformation\/\">az AWS CloudFormation<\/a><\/noindex>B\u00e1r ez a szolg\u00e1ltat\u00e1s nem k\u00edn\u00e1l konfigur\u00e1ci\u00f3t minden ter\u00fcletre, lehet\u0151v\u00e9 teszi a konkr\u00e9t er\u0151forr\u00e1sok meghat\u00e1roz\u00e1s\u00e1t Lambda-funkci\u00f3k haszn\u00e1lat\u00e1ra. Teh\u00e1t ahol a CloudFormation megcsalna, \u00edrhat egy saj\u00e1t er\u0151forr\u00e1st (Lambda-funkci\u00f3t), amely bet\u00f6mi ezt a r\u00e9s. \u00cdgy b\u00e1rmit megtehet, ak\u00e1r a f\u00fcgg\u0151s\u00e9gek konfigur\u00e1l\u00e1s\u00e1t is az AWS k\u00f6rnyezet\u00e9n k\u00edv\u00fcl.<\/p>\n<p>Mivel mindez csup\u00e1n konfigur\u00e1ci\u00f3, a telep\u00edt\u00e9si szkripteket param\u00e9terezheti a konkr\u00e9t k\u00f6rnyezetek, r\u00e9gi\u00f3k \u00e9s felhaszn\u00e1l\u00f3k sz\u00e1m\u00e1ra, k\u00fcl\u00f6n\u00f6sen, ha infrastrukt\u00fara-k\u00f3d t\u00edpus\u00fa megold\u00e1sokat, mint p\u00e9ld\u00e1ul a CloudFormation-t alkalmazza. P\u00e9ld\u00e1ul l\u00e9trehozhat egy infrastrukt\u00farak\u00f3p\u00e1t minden \u00e1gra a t\u00e1rol\u00f3ban, hogy teljesen elszigetelten tesztelje azokat a fejleszt\u00e9s sor\u00e1n. Ez radik\u00e1lisan felgyors\u00edtja a fejleszt\u0151k visszajelz\u00e9shez jut\u00e1s\u00e1t, amikor meg akarj\u00e1k \u00e9rteni, hogyan m\u0171k\u00f6dik a k\u00f3djuk az \u00e9l\u0151 k\u00f6rnyezetben. A vezet\u0151knek nem kell agg\u00f3dniuk a sz\u00e1mos k\u00f6rnyezet telep\u00edt\u00e9si k\u00f6lts\u00e9ge miatt, mivel csak a t\u00e9nyleges haszn\u00e1latot kell fizetni.<\/p>\n<p>A DevOps szakembereknek kevesebb gondjuk van, mivel csak arr\u00f3l kell megbizonyosodniuk, hogy a fejleszt\u0151k helyes konfigur\u00e1ci\u00f3t haszn\u00e1lnak. M\u00e1r nincs sz\u00fcks\u00e9g az instance-ok, terhel\u00e9seloszt\u00f3k vagy biztons\u00e1gi csoportok kezel\u00e9s\u00e9re. Ez\u00e9rt egyre gyakrabban haszn\u00e1lj\u00e1k a NoOps kifejez\u00e9st, b\u00e1r tov\u00e1bbra is fontos a infrastrukt\u00fara konfigur\u00e1l\u00e1s\u00e1nak ismerete, k\u00fcl\u00f6n\u00f6sen az IAM konfigur\u00e1ci\u00f3 \u00e9s a felh\u0151er\u0151forr\u00e1sok optimaliz\u00e1l\u00e1sa ter\u00e9n.<\/p>\n<p>Nagyon er\u0151teljes eszk\u00f6z\u00f6k \u00e1llnak rendelkez\u00e9sre, mint p\u00e9ld\u00e1ul az Epsagon, Thundra, Dashbird \u00e9s IOPipe, amelyek lehet\u0151v\u00e9 teszik a serverless alkalmaz\u00e1sok aktu\u00e1lis \u00e1llapot\u00e1nak nyomon k\u00f6vet\u00e9s\u00e9t, napl\u00f3kat \u00e9s nyomk\u00f6vet\u00e9st biztos\u00edtanak, teljes\u00edtm\u00e9nym\u00e9r\u0151 metrik\u00e1kat \u00e9s architektur\u00e1lis sz\u0171k keresztmetszeteket regisztr\u00e1lnak, valamint k\u00f6lts\u00e9gelemz\u00e9st \u00e9s el\u0151rejelz\u00e9st v\u00e9geznek, \u00e9s m\u00e9g sok m\u00e1s. Ezek nemcsak \u00e1tfog\u00f3 k\u00e9pet adnak a DevOps m\u00e9rn\u00f6k\u00f6k, fejleszt\u0151k \u00e9s architectek sz\u00e1m\u00e1ra az alkalmaz\u00e1sok m\u0171k\u00f6d\u00e9s\u00e9r\u0151l, hanem lehet\u0151v\u00e9 teszik a vezet\u0151k sz\u00e1m\u00e1ra, hogy val\u00f3s id\u0151ben k\u00f6vethess\u00e9k a helyzetet, m\u00e1sodpercre pontosan a forr\u00e1sk\u00f6lts\u00e9gekkel \u00e9s k\u00f6lts\u00e9gel\u0151rejelz\u00e9ssel. Ilyen k\u00f6rnyezetekben a fel\u00fcgyelt infrastrukt\u00fara szervez\u00e9se sokkal nehezebb.<\/p>\n<p>Szerver n\u00e9lk\u00fcli alkalmaz\u00e1sok tervez\u00e9se jelent\u0151sen egyszer\u0171bb, mivel nem kell webkiszolg\u00e1l\u00f3kat telep\u00edteni, virtu\u00e1lis g\u00e9peket vagy kont\u00e9nereket kezelni, szervereket, oper\u00e1ci\u00f3s rendszereket, internetkapukat jav\u00edtani stb. Az \u00f6sszes ilyen k\u00f6telezetts\u00e9g al\u00f3l val\u00f3 felold\u00e1s lehet\u0151v\u00e9 teszi a szerver n\u00e9lk\u00fcli architekt\u00fara sz\u00e1m\u00e1ra, hogy a f\u0151 feladat\u00e1ra \u00f6sszpontos\u00edtson \u2014 az \u00fczleti \u00e9s \u00fcgyf\u00e9lig\u00e9nyek kiel\u00e9g\u00edt\u00e9s\u00e9re.<\/p>\n<p>B\u00e1r az eszk\u00f6zk\u00e9szlet lehetne jobb (napr\u00f3l napra fejl\u0151dik), a fejleszt\u0151k a v\u00e1llalati logika megval\u00f3s\u00edt\u00e1s\u00e1ra \u00e9s az alkalmaz\u00e1s \u00f6sszetetts\u00e9g\u00e9nek legjobb eloszt\u00e1s\u00e1ra \u00f6sszpontos\u00edthatnak a k\u00fcl\u00f6nb\u00f6z\u0151 szolg\u00e1ltat\u00e1sok k\u00f6z\u00f6tt az architekt\u00far\u00e1ban. A szerver n\u00e9lk\u00fcli alkalmaz\u00e1sok kezel\u00e9se esem\u00e9nyalap\u00fa, \u00e9s a felh\u0151szolg\u00e1ltat\u00f3 (p\u00e9ld\u00e1ul SQS, S3-esem\u00e9nyek vagy DynamoDB-\u00e1ramok) \u00e1ltal van absztrah\u00e1lva. Ez\u00e9rt a fejleszt\u0151knek csak annyit kell tenni\u00fck, hogy meghat\u00e1rozz\u00e1k a v\u00e1llalati logik\u00e1t a konkr\u00e9t esem\u00e9nyekre val\u00f3 reag\u00e1l\u00e1shoz, \u00e9s nem kell agg\u00f3dniuk a legjobb adatb\u00e1zis- \u00e9s \u00fczenetk\u00fcld\u00e9si megold\u00e1sok, valamint az adott hardver t\u00e1rol\u00f3k optim\u00e1lis adatkezel\u00e9se tekintet\u00e9ben.<\/p>\n<p>A k\u00f3dot helyben is futtathatjuk \u00e9s hibakereshetj\u00fck, mint b\u00e1rmely fejleszt\u00e9si folyamat sor\u00e1n. A modul\u00e1ris tesztel\u00e9s v\u00e1ltozatlan marad. Az alkalmaz\u00e1s teljes infrastrukt\u00far\u00e1j\u00e1nak telep\u00edt\u00e9si lehet\u0151s\u00e9ge egy testreszabhat\u00f3 stack konfigur\u00e1ci\u00f3n kereszt\u00fcl lehet\u0151v\u00e9 teszi a fejleszt\u0151k sz\u00e1m\u00e1ra, hogy gyorsan fontos visszajelz\u00e9st kapjanak an\u00e9lk\u00fcl, hogy a tesztel\u00e9s k\u00f6lts\u00e9geivel vagy a dr\u00e1ga kezelhet\u0151 k\u00f6rnyezetekre gyakorolt hat\u00e1ssal kellene foglalkozniuk.<\/p>\n<h2>Szerver n\u00e9lk\u00fcli alkalmaz\u00e1sok \u00e9p\u00edt\u00e9si eszk\u00f6zei \u00e9s m\u00f3dszerei<\/h2>\n<p>\nNincs konkr\u00e9t m\u00f3dszer a szerver n\u00e9lk\u00fcli alkalmaz\u00e1sok fel\u00e9p\u00edt\u00e9s\u00e9re. Ugyanez igaz a feladatra sz\u00e1nt szolg\u00e1ltat\u00e1sokra is. Az AWS ma a legn\u00e9pszer\u0171bb er\u0151teljes szerver n\u00e9lk\u00fcli megold\u00e1s, de \u00e9rdemes figyelembe venni a <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> \u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/firebase.google.com\/\">Firebase<\/a><\/noindex>. Ha az AWS-t haszn\u00e1lja, a javasolt megk\u00f6zel\u00edt\u00e9s az alkalmaz\u00e1sok \u00e9p\u00edt\u00e9s\u00e9re a <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/serverless\/sam\/\">Szerver n\u00e9lk\u00fcli Alkalmaz\u00e1smodel<\/a><\/noindex> (SAM), k\u00fcl\u00f6n\u00f6sen a C# eset\u00e9ben, mivel a Visual Studio nagyszer\u0171 eszk\u00f6zk\u00e9szlettel rendelkezik. A SAM CLI mindent meg tud csin\u00e1lni, amit a Visual Studio, \u00edgy semmit sem vesz\u00edt, ha m\u00e1s IDE-re vagy sz\u00f6vegszerkeszt\u0151re v\u00e1lt. Term\u00e9szetesen a SAM m\u00e1s nyelvekkel is m\u0171k\u00f6dik.<\/p>\n<p>Ha m\u00e1s nyelveken \u00edrsz, a Serverless Framework egy nagyszer\u0171 ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z, amely lehet\u0151v\u00e9 teszi, hogy b\u00e1rmit konfigur\u00e1lj nagyon er\u0151teljes YAML konfigur\u00e1ci\u00f3s f\u00e1jlok seg\u00edts\u00e9g\u00e9vel. A Serverless Framework k\u00fcl\u00f6nb\u00f6z\u0151 felh\u0151szolg\u00e1ltat\u00e1sokat is t\u00e1mogat, ez\u00e9rt aj\u00e1nljuk azoknak, akik t\u00f6bbfelh\u0151s megold\u00e1st keresnek. \u00d3ri\u00e1si k\u00f6z\u00f6ss\u00e9g \u00e1ll m\u00f6g\u00f6tte, amely rengeteg plugint k\u00e9sz\u00edtett a k\u00fcl\u00f6nb\u00f6z\u0151 ig\u00e9nyekhez. <\/p>\n<p>Helyi tesztel\u00e9shez j\u00f3l alkalmazhat\u00f3 ny\u00edlt forr\u00e1sk\u00f3d\u00fa eszk\u00f6z\u00f6k a Docker-Lambda, Serverless Local, DynamoDB Local \u00e9s LocalStack. A serverless technol\u00f3gi\u00e1k m\u00e9g mindig fejl\u0151d\u0151ben vannak, csak\u00fagy, mint az azokhoz sz\u00fcks\u00e9ges eszk\u00f6z\u00f6k, \u00edgy a bonyolult tesztel\u00e9si forgat\u00f3k\u00f6nyvek be\u00e1ll\u00edt\u00e1sakor ig\u00e9nybe kell venni a munk\u00e1t. A stack k\u00f6rnyezetben t\u00f6rt\u00e9n\u0151 telep\u00edt\u00e9se \u00e9s tesztel\u00e9se azonban hihetetlen\u00fcl olcs\u00f3n megval\u00f3s\u00edthat\u00f3. Nincs sz\u00fcks\u00e9ged pontos helyi m\u00e1solatokra a felh\u0151i k\u00f6rnyezetekb\u0151l.<\/p>\n<p>A telep\u00edtett csomagok m\u00e9ret\u00e9nek cs\u00f6kkent\u00e9s\u00e9hez \u00e9s a bet\u00f6lt\u00e9si id\u0151 felgyors\u00edt\u00e1s\u00e1hoz haszn\u00e1lj AWS Lambda Layers-t. <\/p>\n<p>Haszn\u00e1lj a konkr\u00e9t feladatokhoz megfelel\u0151 programoz\u00e1si nyelveket. A k\u00fcl\u00f6nb\u00f6z\u0151 nyelveknek saj\u00e1t er\u0151ss\u00e9geik \u00e9s gyenges\u00e9geik vannak. Sz\u00e1mos benchmark l\u00e9tezik, de a JavaScript, a Python \u00e9s a C# (.NET Core 2.1+) a teljes\u00edtm\u00e9ny tekintet\u00e9ben vezet\u0151k az AWS Lambda eset\u00e9ben. Nemr\u00e9giben megjelent az AWS Lambda-ban a Runtime API, amely lehet\u0151v\u00e9 teszi a k\u00edv\u00e1nt nyelv \u00e9s futtat\u00e1si k\u00f6rnyezet megad\u00e1s\u00e1t, \u00edgy k\u00eds\u00e9rletezz.<\/p>\n<p>Tartsd kicsi a telep\u00edt\u00e9si csomagok m\u00e9ret\u00e9t. Min\u00e9l kisebbek, ann\u00e1l gyorsabban t\u00f6lt\u0151dnek be. Ker\u00fcld a nagy k\u00f6nyvt\u00e1rak haszn\u00e1lat\u00e1t, k\u00fcl\u00f6n\u00f6sen, ha csak n\u00e9h\u00e1ny funkci\u00f3t haszn\u00e1lsz bel\u0151l\u00fck. Ha JavaScriptben programozol, haszn\u00e1lj olyan csomagol\u00f3 eszk\u00f6z\u00f6ket, mint a Webpack, hogy optimaliz\u00e1ld a buildet \u00e9s csak azt a r\u00e9szt tartalmazd, amire val\u00f3ban sz\u00fcks\u00e9ged van. A .NET Core 3.0-ban l\u00e9tezik a QuickJit \u00e9s a Tiered Compilation, amelyek jav\u00edtj\u00e1k a teljes\u00edtm\u00e9nyt \u00e9s nagyban seg\u00edtenek a hideg ind\u00edt\u00e1sok sor\u00e1n.<\/p>\n<p>A szerver n\u00e9lk\u00fcli funkci\u00f3k esem\u00e9nyekt\u0151l val\u00f3 f\u00fcgg\u0151s\u00e9ge kezdetben megnehez\u00edtheti az \u00fczleti logika koordin\u00e1l\u00e1s\u00e1t. Ez\u00e9rt rendk\u00edv\u00fcl hasznosak lehetnek az \u00fczenetsorok \u00e9s az \u00e1llapotautomat\u00e1k. A Lambda-funkci\u00f3k k\u00e9pesek egym\u00e1st h\u00edvni, de ezt csak akkor tegye, ha nem v\u00e1r v\u00e1laszt (\u00abl\u0151j \u00e9s felejtsd el\u00bb) \u2014 hiszen nem szeretne v\u00e1rakoz\u00e1si d\u00edjat fizetni egy m\u00e1sik funkci\u00f3 befejez\u00e9s\u00e9re. Az \u00fczenetsorok hasznosak az \u00fczleti logika r\u00e9szeinek sz\u00e9tv\u00e1laszt\u00e1s\u00e1ra, az alkalmaz\u00e1sok sz\u0171k keresztmetszeteinek kezel\u00e9s\u00e9re \u00e9s a tranzakci\u00f3k feldolgoz\u00e1s\u00e1ra (FIFO sorok haszn\u00e1lat\u00e1val). Az AWS Lambda funkci\u00f3k SQS sorokhoz rendelhet\u0151k \u201eholt\u201d \u00fczenetek sorak\u00e9nt, amelyek a hib\u00e1s \u00fczeneteket nyomon k\u00f6vetik a k\u00e9s\u0151bbi elemz\u00e9shez. Az AWS Step Functions (\u00e1llapotautomat\u00e1k) nagyon hasznosak bonyolult folyamatok kezel\u00e9s\u00e9ben, amelyek funkci\u00f3l\u00e1ncok l\u00e9trehoz\u00e1s\u00e1t ig\u00e9nylik. Ahelyett, hogy egy Lambda-funkci\u00f3 h\u00edvna meg egy m\u00e1sik funkci\u00f3t, a Step Functions koordin\u00e1lhatj\u00e1k az \u00e1llapot\u00e1tmeneteket, adatokat adhattak \u00e1t funkci\u00f3k k\u00f6z\u00f6tt, \u00e9s kezelhetik a funkci\u00f3k glob\u00e1lis \u00e1llapot\u00e1t. Ez lehet\u0151v\u00e9 teszi a pr\u00f3b\u00e1lkoz\u00e1sok felt\u00e9teleinek meghat\u00e1roz\u00e1s\u00e1t, vagy hogy mit kell tenni egy adott hiba eset\u00e9n \u2014 meghat\u00e1rozott k\u00f6r\u00fclm\u00e9nyek k\u00f6z\u00f6tt rendk\u00edv\u00fcl hat\u00e9kony eszk\u00f6z.<\/p>\n<h2>Z\u00e1r\u00e1s<\/h2>\n<p>\nAz ut\u00f3bbi \u00e9vekben a szerver n\u00e9lk\u00fcli technol\u00f3gi\u00e1k p\u00e1ratlan \u00fctemben fejl\u0151dnek. Ezzel a paradigmav\u00e1lt\u00e1ssal kapcsolatban azonban bizonyos t\u00e9vhitek is felmer\u00fcltek. Az infrastrukt\u00fara \u00e9s a sk\u00e1l\u00e1z\u00e1s ir\u00e1ny\u00edt\u00e1s\u00e1nak absztrakci\u00f3j\u00e1nak k\u00f6sz\u00f6nhet\u0151en a szerver n\u00e9lk\u00fcli megold\u00e1sok jelent\u0151s el\u0151ny\u00f6ket k\u00edn\u00e1lnak: a fejleszt\u00e9s \u00e9s a DevOps folyamatok egyszer\u0171s\u00edt\u00e9s\u00e9t\u0151l kezdve a m\u0171k\u00f6d\u00e9si k\u00f6lts\u00e9gek dr\u00e1mai cs\u00f6kkent\u00e9s\u00e9ig.<br \/>\nHab\u00e1r a szerver n\u00e9lk\u00fcli megk\u00f6zel\u00edt\u00e9snek megvannak a h\u00e1tr\u00e1nyai, l\u00e9teznek megb\u00edzhat\u00f3 m\u00f3dszerek \u00e9s tervez\u00e9si mint\u00e1k, amelyek seg\u00edts\u00e9g\u00e9vel robusztus szerver n\u00e9lk\u00fcli alkalmaz\u00e1sokat lehet l\u00e9trehozni, vagy integr\u00e1lni a szerver n\u00e9lk\u00fcli elemeket a megl\u00e9v\u0151 architekt\u00far\u00e1kba.<br \/>\n<br \/>Forr\u00e1s: <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.3 - 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\/hu\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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\/hu\/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\udd47Tippek \u00e9s inform\u00e1ci\u00f3s forr\u00e1sok szerver n\u00e9lk\u00fcli alkalmaz\u00e1sok l\u00e9trehoz\u00e1s\u00e1hoz | ProHoster","description":"B\u00e1r a szerver n\u00e9lk\u00fcli.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\/hu\/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\/hu\/wp-json\/wp\/v2\/posts\/55881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=55881"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/55881\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/55882"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=55881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=55881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=55881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}