{"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\/et\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","title":{"rendered":"N\u00f5uanded ja teabeallikad serverivabade rakenduste loomiseks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"N\u00f5uanded ja teabeallikad serverivabade rakenduste loomiseks\" src=\"\/wp-content\/uploads\/2020\/01\/a29ca83a52a809d148aebbd6821d4ef9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nKuigi serverita tehnoloogiad on viimastel aastatel kiiresti populaarsust kogunud, on nendega seotud endiselt palju m\u00fc\u00fcte ja muresid. Muidugi r\u00e4\u00e4gitakse serverivabadest tehnoloogiatest, kui teemad nagu s\u00f5ltuvus tarnijast, t\u00f6\u00f6riistakast, kuluhaldus, k\u00fclm k\u00e4ivitus, j\u00e4lgimine ja arendusprotsessi eluts\u00fckkel. Selles artiklis k\u00e4sitleme m\u00f5ningaid selliseid teemasid ning jagame n\u00e4pun\u00e4iteid ja linke kasulikele allikatele, mis aitavad algajatel luua v\u00f5imsaid, paindlikke ja kulut\u00f5husaid serverita rakendusi.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>M\u00fc\u00fcdid serverita tehnoloogiate kohta<\/h2>\n<p>\nPaljud arvavad, et serveritus ja serveriv\u00e4line andmet\u00f6\u00f6tlus (<noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/serverless.html#unpacking-faas\">Functions as a Service<\/a><\/noindex>, FaaS) on peaaegu sama asi. Tundub, et erinevus ei ole liiga suur ja see tasub end \u00e4ra. Kuigi AWS Lambda on olnud \u00fcks serverita tehnoloogiate t\u00f5usu 't\u00e4htedest' ja \u00fcks populaarsemaid komponente serverita arhitektuuris, esindab see arhitektuur siiski midagi enamat kui FaaS.<\/p>\n<p>Serverita tehnoloogiate p\u00f5him\u00f5te seisneb selles, et te ei pea muretsema infrastruktuuri haldamise ja skaleerimise p\u00e4rast, maksate vaid selle eest, mida kasutate. Sellistele kriteeriumidele vastab palju teenuseid - AWS DynamoDB, S3, SNS v\u00f5i SQS, Graphcool, Auth0, Now, Netlify, Firebase ja paljud teised. \u00dcldiselt t\u00e4hendab serveritus k\u00f5ikide pilvandmet\u00f6\u00f6tluse v\u00f5imaluste kasutamist ilma infrastruktuuri haldamise ja selle optimeerimise vajaduseta skaleerimise nimel. See t\u00e4hendab ka, et infrastruktuuri tasemel turvalisus ei ole enam teie probleem, mis on tohutu eelis, arvestades turvastandardite j\u00e4rgimise raskusi ja keerukust. L\u00f5puks ei pea te ostma teile kasutamiseks pakutavat infrastruktuuri.<\/p>\n<p>Serveritust v\u00f5ib pidada 'meeleoluks': teatud m\u00f5tteviisiks lahenduste kavandamisel. V\u00e4ltige l\u00e4henemisviise, mis n\u00f5uavad infrastruktuuri hooldamist. Serverita l\u00e4henemisviisi puhul investeerime aega \u00fclesannete lahendamisse, mis m\u00f5jutavad otseselt projekti ja toovad kasu meie kasutajatele: loome j\u00e4tkusuutlikku \u00e4ri loogikat, arendame kasutajaliidesi ja t\u00f6\u00f6tame v\u00e4lja kohandatavaid ning usaldusv\u00e4\u00e4rseid API-sid.<\/p>\n<p>N\u00e4iteks, kui on v\u00f5imalik v\u00e4ltida avatud tekstip\u00f5hise otsinguplatvormi haldamist ja hooldamist, siis just nii me tegutseme. Selline rakenduste kokkupanemise l\u00e4henemine v\u00f5ib oluliselt kiirendada toote turule toomist, kuna te ei pea enam muretsema keeruka infrastruktuuri haldamise p\u00e4rast. Vabanege infrastruktuuri haldamise kohustustest ja kuludest ning keskenduge rakenduste ja teenuste loomisele, mis on teie klientide jaoks vajalikud. Patrick Debua nimetas sellist l\u00e4henemist <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\">'servicefull'<\/a><\/noindex>, see termin on aktsepteeritud serverita kogukonnas. Funktsioone tuleks k\u00e4sitleda kui siduvaid elemente teenuste, mis on disainitud kui juurutatavad moodulid (mitte kogu teegi v\u00f5i veebirakenduse juurutamine). See tagab h\u00e4mmastava juurutamise ja muudatuste haldamise granulaarsuse. Kui te ei saa funktsioone selliselt juurutada, v\u00f5ib see viidata sellele, et funktsioonid teevad liiga palju \u00fclesandeid ja need tuleks refaktoreerida.<\/p>\n<p>M\u00f5ned inimesed on segaduses tarnijast s\u00f5ltuvuse p\u00e4rast pilvandmet\u00f6\u00f6tluse rakenduste arendamisel. Sama kehtib serverita tehnoloogiate kohta, ja see ei tundu olevat m\u00fc\u00fct. Meie kogemuse kohaselt on serverita rakenduste loomine AWS-is koos AWS Lambda v\u00f5imekusega \u00fchendada teisi AWS teenuseid - k\u00f5ik see osalt loob serverita arhitektuuride voorused. See on hea n\u00e4ide s\u00fcnergiast, kus tulemuse kogusumma on suurem kui lihtsalt komponentide summa. Kui \u00fcritate v\u00e4ltida s\u00f5ltuvust tarnijast, v\u00f5ite silmitsi seista veelgi suuremate probleemidega. Mahutitega t\u00f6\u00f6tades on lihtsam hallata oma abstraktsioonitaset pilvandmeteenuste pakkujate vahel. Kuid serverita lahenduste puhul ei tasu pingutused end \u00e4ra, eriti kui arvestada majanduslikku efektiivsust algusest peale. Uurige kindlasti, kuidas tarnijad teenuseid osutavad. m\u00f5ned spetsialiseerunud teenused s\u00f5ltuvad integratsioonipunktidest teiste tarnijatega ja v\u00f5ivad vaikimisi pakkuda plug-and-play stiilis \u00fchendamise v\u00f5imalust. Lambda kutsumise tagamine API v\u00e4rava l\u00f5pp-punktist on lihtsam kui m\u00f5ne konteineri v\u00f5i EC2 instantsi kaudu p\u00e4ringu suunamine. Graphcool pakub lihtsat konfigureerimist koos Auth0-ga, mis on lihtsam kui kasutada kolmandate osapoolte autentimisvahendeid.<\/p>\n<p>\u00d5ige teenusepakkuja valimine teie serverivaba rakenduse jaoks on arhitektuuri taseme otsus. Rakendust luues ei arvestata, et kunagi naased hallatavatele serveritele. Pilveteenuse pakkuja valimine ei erine konteinerite v\u00f5i andmebaaside kasutamise valimisest ega ka programmeerimiskeele valimisest. <\/p>\n<p>M\u00f5elge:<\/p>\n<ul>\n<li>Milliseid teenuseid vajate ja miks. \n<\/li>\n<li>Milliseid teenuseid pakuvad pilveteenuse pakkujad ja kuidas saate neid kombineerida valitud FaaS-lahendusega. \n<\/li>\n<li>Milliseid programmeerimiskeeli toetatakse (kas d\u00fcnaamilise v\u00f5i staatilise t\u00fc\u00fcbistamisega, kompileeritavad v\u00f5i t\u00f5lgitavad, millised on j\u00f5udluse piirangud, mis on k\u00fclma k\u00e4ivituse puhul, milline on avatud l\u00e4htekoodiga \u00f6kos\u00fcsteem jne).\n<\/li>\n<li>Millised on teie turvan\u00f5uded (SLA, 2FA, OAuth, HTTPS, SSL jne).\n<\/li>\n<li>Kuidas hallata teie CI\/CD ja tarkvaraarenduse ts\u00fckleid.\n<\/li>\n<li>Milliseid infrastruktuuri kui koodi lahendusi saate kasutada.\n<\/li>\n<\/ul>\n<p>\nKui laiendate olemasolevat rakendust ja lisate j\u00e4rk-j\u00e4rgult serverivabu funktsioone, v\u00f5ivad need piirata saadaolevaid v\u00f5imalusi. Siiski pakuvad peaaegu k\u00f5ik serverivabad tehnoloogiad mingeid API-sid (RESTi v\u00f5i s\u00f5numij\u00f5u kaudu), mis v\u00f5imaldavad laiendusi luua rakenduse tuumast s\u00f5ltumatult ja kergesti integreerida. Otsige teenuseid, millel on selged API-d, hea dokumentatsioon ja tugev kogukond, ja te ei eksi. Integreerimise lihtsus v\u00f5ib olla sageli v\u00f5tme m\u00f5\u00f5dik, ja see on t\u00f5en\u00e4oliselt \u00fcks peamisi p\u00f5hjusi, miks AWS on alates 2015. aastast Lambda turule tulnud.<\/p>\n<h2>Kuna serverivabadus on kasulik<\/h2>\n<p>\nServerivabasid tehnoloogiaid saab rakendada praktiliselt igas valdkonnas. Kuid nende eelised ei piirdu vaid rakendusaladega. T\u00e4nap\u00e4eval on pilvandmet\u00f6\u00f6tluse sisenemisk\u00fcnnis nii madal just serverivabade tehnoloogiate t\u00f5ttu. Kui arendajatel on idee, kuid nad ei tea, kuidas pilveinfrastruktuuri hallata ja kulusid optimeerida, ei pea nad selleks inseneri otsima. Kui idufirma soovib luua platvormi, kuid kardab, et kulud v\u00f5ivad minna kontrolli alt v\u00e4lja, saavad nad h\u00f5lpsasti kasutada serverivabu lahendusi.<\/p>\n<p>Kulude kokkuhoiu ja lihtsa skaleeritavuse t\u00f5ttu on serverivabad lahendused v\u00f5rdselt rakendatavad nii sise- kui ka v\u00e4listes\u00fcsteemides, sealhulgas veebirakendustes, millel on miljoneid kasutajaid. Arved ei m\u00f5\u00f5deta pigem eurodes, vaid sentides. K\u00f5ige lihtsama AWS EC2 (t1.micro) instantsi rentimise hind kuu jooksul on \u20ac15, isegi kui te seda ei kasuta (kes pole kunagi unustanud seda v\u00e4lja l\u00fclitada?!). V\u00f5rdluseks, et saavutada sellisel tasemel kulusid sama aja jooksul, peate k\u00e4ivitama Lambda suurusega 512 MB umbes 3 miljonit korda \u00fche sekundi jooksul. Ja kui te seda funktsiooni ei kasuta, siis te ei maksa midagi.<\/p>\n<p>Kuna serverivabad tehnoloogiad s\u00f5ltuvad peamiselt s\u00fcndmustest, saab serverivaba infrastruktuuri suhteliselt h\u00f5lpsasti vanadesse s\u00fcsteemidesse lisada. N\u00e4iteks saate AWS S3, Lambda ja Kinesis abil luua anal\u00fc\u00fctikateenuse vanale jaem\u00fc\u00fcgis\u00fcsteemile, mis suudab andmeid API kaudu hankida.<\/p>\n<p>Enamik serverivabu platvorme toetab erinevaid programmeerimiskeeli. K\u00f5ige sagedamini on need Python, JavaScript, C#, Java ja Go. \u00dcldiselt ei ole k\u00f5ikide keelte puhul mingeid piiranguid teekide kasutamiseks, seega v\u00f5ite kasutada oma lemmikuid avatud l\u00e4htekoodiga teeke. Kuid on soovitatav mitte liialdada s\u00f5ltuvustega, et teie funktsioonid t\u00f6\u00f6taksid optimaalselt ja ei kaotaks teie serverivabade rakenduste hiiglasliku skaleeritavuse eeliseid. Mida rohkem pakette on vaja konteinerisse laadida, seda kauem kulub k\u00fclma k\u00e4ivituse ajaks.<\/p>\n<p>K\u00fclm k\u00e4ivitamine on siis, kui tuleb k\u00f5igepealt initsialiseerida konteiner, t\u00e4itmisvahemik ja vigade t\u00f6\u00f6tleja enne nende kasutamist. Seet\u00f5ttu v\u00f5ib funktsioonide t\u00f6\u00f6katkestus kesta kuni 3 sekundit, mis pole parim variant k\u00e4rsitutele kasutajatele. K\u00fclmad k\u00e4ivitamised toimuvad sageli esmakordsel taotlemisel p\u00e4rast m\u00f5nda minutist pausifunktsiooni. Nii et paljud inimesed peavad seda t\u00fchiseks ebamugavuseks, mida saab v\u00e4ltida regulaarsete funktsioonide pinge kaudu, et hoida neid nagu mootori t\u00fchik\u00e4igul. V\u00f5i ignoreerivad nad seda aspekti t\u00e4iesti.<\/p>\n<p>Kuigi AWS on v\u00e4lja andnud<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/rds\/aurora\/serverless\/\"> serverivaba SQL-andmebaasi Serverless Aurora<\/a><\/noindex>, kuid SQL-andmebaasid ei sobi selliseks kasutamiseks h\u00e4sti, kuna tehingute tegemine s\u00f5ltub \u00fchendustest, mis v\u00f5ivad suure liikluse korral AWS Lambdal kiiresti kitsaskohaks muutuda. Jah, arendajad parendavad pidevalt Serverless Aurora't, ja tasub seda proovida, kuid t\u00e4na sobivad serverivabad s\u00fcsteemid palju paremini NoSQL-lahendustele nagu<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/dynamodb\/\"> DynamoDB<\/a><\/noindex>. Siiski on selge, et see olukord muutub peagi.<\/p>\n<p>T\u00f6\u00f6riistade osas on samuti mitmeid piiranguid, eriti kohaliku testimise vallas. Kuigi on olemas lahendusi nagu Docker-Lambda, DynamoDB Local ja LocalStack, n\u00f5uavad need siiski palju t\u00f6\u00f6d ja m\u00e4rkimisv\u00e4\u00e4rset seadistamist. Kuid k\u00f5ik need projektid arenevad aktiivselt, seega on lihtsalt ajak\u00fcsimus, millal t\u00f6\u00f6riistade tase ulatub vajalikule tasemele.<\/p>\n<h2>Serverivabade tehnoloogiate m\u00f5ju arendusprotsessile<\/h2>\n<p>\nKuna teie infrastruktuur on lihtsalt konfiguratsioon, on v\u00f5imalik koodi seadistada ja k\u00e4itada skriptide, n\u00e4iteks shell-skriptide abil. V\u00f5i v\u00f5ite kasutada konfiguratsioonina koodi lahendusi nagu <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/cloudformation\/\">AWS CloudFormation<\/a><\/noindex>. Kuigi see teenus ei paku konfiguratsiooni k\u00f5igis valdkondades, v\u00f5imaldab see siiski m\u00e4\u00e4rata konkreetsed ressursid, mida kasutada Lambda-funktsioonidena. See t\u00e4hendab, et seal, kus CloudFormation teid petab, saate kirjutada oma ressursi (Lambda-funktsiooni), mis katab selle puuduj\u00e4\u00e4gi. Seega saate teha peaaegu k\u00f5ike, sealhulgas konfigureerida s\u00f5ltuvusi v\u00e4ljaspool oma AWS-\u00fcmbrust.<\/p>\n<p>Kuna see on k\u00f5ik lihtsalt konfiguratsioon, saate parametriseerida oma juurutusskriptid konkreetsete keskkondade, piirkondade ja kasutajate j\u00e4rgi, eriti kui kasutate infrastruktuuridena koodi lahendusi nagu CloudFormation. N\u00e4iteks saate juurutada iga haru jaoks, et t\u00e4ielikult isoleeritud need arenduse k\u00e4igus testida. See kiirendab radikaalselt tagasiside saamist arendajatelt, kui nad soovivad m\u00f5ista, kas nende kood t\u00f6\u00f6tab elukeskkonnas adekvaatselt. Juhtidel ei pea olema muret selle \u00fcle, kui palju erinevate keskkondade juurutamine maksab, kuna tasustatakse ainult tegelikku kasutamist.<\/p>\n<p>DevOps-il on v\u00e4hem muresid, kuna nad peavad vaid veenduma, et arendajatel on \u00f5ige konfiguratsioon. Enam ei pea haldama instantsse, tasakaalustajaid v\u00f5i turbegruppe. Seet\u00f5ttu kasutatakse \u00fcha sagedamini m\u00f5istet NoOps, kuigi on endiselt oluline osata konfigureerida infrastruktuuri, eriti kui on juttu IAM-konfiguratsioonist ja pilveteenuste optimeerimisest.<\/p>\n<p>On v\u00e4ga v\u00f5imsaid t\u00f6\u00f6riistu j\u00e4lgimiseks ja visualiseerimiseks, nagu Epsagon, Thundra, Dashbird ja IOPipe. Need v\u00f5imaldavad j\u00e4lgida serverivabade rakenduste hetkeseisu, pakuvad logisid ja j\u00e4lgimist, registreerivad j\u00f5udlusn\u00e4itajaid ja arhitektuuri kitsaskohti, teevad kulude anal\u00fc\u00fcsi ja prognoositavust ning palju muud. Need mitte ainult ei anna DevOps-inseneridele, arendajatele ja arhitektidele p\u00f5hjalikku \u00fclevaadet rakenduste t\u00f6\u00f6st, vaid v\u00f5imaldavad ka juhtidel j\u00e4lgida olukorda reaalajas, sekundisi kulude ressursside ja kulude prognoosimisega. Sellise s\u00fcsteemi haldamine on hallatavast infrastruktuurist oluliselt keerulisem.<\/p>\n<p>Serverivabade rakenduste projekteerimine on oluliselt lihtsam, kuna teil ei ole vaja juurutada veebiservereid, hallata virtuaalmasinaid v\u00f5i konteinerite, patcheerida servereid, operatsioonis\u00fcsteeme, interneti v\u00e4ravaid jne. K\u00f5igist neist kohustustest abstraheerimine v\u00f5imaldab serverivabal arhitektuuril keskenduda peamisele \u2014 ettev\u00f5tte ja klientide vajaduste rahuldamisele.<\/p>\n<p>Kuigi t\u00f6\u00f6riistad v\u00f5ivad olla paremad (need paranevad iga p\u00e4ev), saavad arendajad keskenduda \u00e4ri loogika rakendamisele ja rakenduse keerukuse optimaalsetele jaotustele erinevate teenuste vahel kogu arhitektuuri ulatuses. Serverivabade rakenduste haldamine p\u00f5hineb s\u00fcndmustel ja on pilveteenuse pakkuja poolt abstraktne (nt SQS, S3 s\u00fcndmused v\u00f5i DynamoDB vood). Seega peavad arendajad lihtsalt kirjutama \u00e4ri loogika kindlatele s\u00fcndmustele reageerimiseks ja nad ei pea muretsema selle \u00fcle, kuidas parimal viisil andmebaase ja s\u00f5numij\u00e4rjekordi teostada, ega selle \u00fcle, kuidas korraldada optimaalset andmet\u00f6\u00f6tlust konkreetsetes riistvarahoidlates.<\/p>\n<p>Koodi saab kohapeal k\u00e4ivitada ja siluda, nagu iga arendusprotsessi puhul. Moodulitestimine j\u00e4\u00e4b samaks. Rakenduse infrastruktuuri t\u00e4ieliku juurutamise v\u00f5imalus konfigureeritava tehnoloogia abil v\u00f5imaldab arendajatel kiiresti olulist tagasisidet saada, m\u00f5tlemata testimise kuludele v\u00f5i kallite haldusalade m\u00f5jule.<\/p>\n<h2>Bessarveliste rakenduste koostamise t\u00f6\u00f6riistad ja meetodid<\/h2>\n<p>\nBessarveliste rakenduste koostamiseks ei ole kindlat meetodit. Nagu ka teenuste kogumit selle \u00fclesande jaoks. T\u00e4na on AWS juhtiv j\u00f5ud tugevate bessarveliste lahenduste seas, kuid tasub t\u00e4hele panna ka <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> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/firebase.google.com\/\">Firebase<\/a><\/noindex>. Kui kasutate AWS-i, siis v\u00f5ib rakenduste koostamiseks soovitada <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/serverless\/sam\/\">Serverless Application Model<\/a><\/noindex> (SAM), eriti C#-iga, kuna Visual Studio pakub suurep\u00e4raseid t\u00f6\u00f6riistu. SAM CLI suudab teha k\u00f5ike seda, mida ka Visual Studio, seega ei kaota te midagi, kui l\u00e4hete teise IDE v\u00f5i tekstiredaktori juurde. Loomulikult t\u00f6\u00f6tab SAM ka teiste keeltest.<\/p>\n<p>Kui kirjutate teistes keeltes, siis Serverless Framework on suurep\u00e4rane avatud l\u00e4htekoodiga t\u00f6\u00f6riist, mis v\u00f5imaldab konfigureerida k\u00f5ike v\u00e4ga v\u00f5imsate YAML-failide abil. Samuti toetab Serverless Framework erinevaid pilveteenuseid, seega soovitame seda neile, kes otsivad mitme pilve lahendust. Sellel on suur kogukond, kes on loonud palju pluginaid igasuguste vajaduste jaoks. <\/p>\n<p>Kohapealseks testimiseks sobivad suurep\u00e4raselt avatud l\u00e4htekoodiga t\u00f6\u00f6riistad nagu Docker-Lambda, Serverless Local, DynamoDB Local ja LocalStack. Bessarvelised tehnoloogiad on endiselt arengu algstaadiumis, nagu ka nendele m\u00f5eldud t\u00f6\u00f6riistade komplekt, seega v\u00f5ib keeruliste testimistsenaariumide seadistamine olla v\u00e4ljakutse. Kuid steki juurutamine keskkonnas ja seal testimine osutub uskumatult odavaks. Ja te ei vaja t\u00e4pset kohapealset koopiat pilves\u00fcsteemidest.<\/p>\n<p>Juhtige arendatud pakettide suurust ja kiirendage laadimist, kasutades AWS Lambda Layers. <\/p>\n<p>Kasutage konkreetsete \u00fclesannete jaoks \u00f5igeid programmeerimiskeeli. Erinevatel keeladel on omad eelised ja puudused. Palju on benchamrke, kuid JavaScript, Python ja C# (.NET Core 2.1+) on AWS Lambda j\u00f5udluse osas liidrid. Hiljuti ilmus AWS Lambda-s Runtime API, mis v\u00f5imaldab m\u00e4\u00e4rata soovitud keele ja keskkonna, seega katsetage.<\/p>\n<p>Hoia juurutamiseks paketid v\u00e4iksed. Mida v\u00e4iksemad nad on, seda kiiremini laaditakse. V\u00e4ltige suurte teekide kasutamist, eriti kui kasutate neist ainult m\u00f5nda funktsiooni. Kui programmeerite JavaScriptis, siis kasutage koostamisvahendeid nagu Webpack, et optimeerida koostamist ja lisada ainult seda, mis t\u00f5eliselt vajalik on. .NET Core 3.0-l on QuickJit ja Tiered Compilation, mis parendavad j\u00f5udlust ja aitavad v\u00e4ga h\u00e4sti k\u00fclmade k\u00e4ivituste korral.<\/p>\n<p>Bessarveliste funktsioonide s\u00f5ltuvus s\u00fcndmustest v\u00f5ib alguses keerukaks muuta \u00e4riloogika koordineerimist. Seet\u00f5ttu v\u00f5ivad s\u00f5numij\u00e4rjekorrad ja l\u00f5ppautomaatide s\u00fcsteemid olla \u00e4\u00e4rmiselt kasulikud. Lambda funktsioonid saavad \u00fcksteist kutsuda, kuid tehke seda ainult juhul, kui te ei oota vastust (\"laskisid ja unustasid\") \u2014 ei tasu maksta selle eest, et oodata teise funktsiooni l\u00f5ppu. S\u00f5numij\u00e4rjekorrad on kasulikud \u00e4riloogika osade isoleerimiseks, rakenduse kitsaste kohtade haldamiseks ja tehingute t\u00f6\u00f6tlemiseks (FIFO j\u00e4rjekordade kaudu). AWS Lambda funktsioonid v\u00f5ivad olla seotud SQS j\u00e4rjekordadega kui \"seiskunud\" s\u00f5numite j\u00e4rjekordadega, mis j\u00e4lgivad eba\u00f5nnestunud s\u00f5numeid edasise anal\u00fc\u00fcsi jaoks. AWS Step Functions (l\u00f5ppautomaatide s\u00fcsteemid) on v\u00e4ga kasulikud keeruliste protsesside haldamiseks, mis vajavad funktsioonide ketide loomist. Selle asemel, et Lambda funktsioon kutsuks teise funktsiooni, saavad Step-funktsioonid koordineerida olekute \u00fcleminekuid, edastada andmeid funktsioonide vahel ja juhtida funktsioonide globaalset olekut. See v\u00f5imaldab m\u00e4\u00e4rata \u00fcmberkatsete tingimusi v\u00f5i mida teha, kui esineb konkreetne viga \u2014 teatud tingimustes on see v\u00e4ga v\u00f5imas t\u00f6\u00f6riist.<\/p>\n<h2>Kokkuv\u00f5te<\/h2>\n<p>\nViimastel aastatel on bessarvelised tehnoloogiad arenenud enneolematult kiiresti. Sellise paradigmap\u00f6\u00f6rdega on seotud teatud v\u00e4\u00e4rarusaamad. T\u00e4nu infrastruktuuri ja skaleerimise haldamise abstraktsioonile pakuvad bessarvelised lahendused m\u00e4rkimisv\u00e4\u00e4rseid eeliseid: alates arendamise ja DevOpsi protsesside lihtsustamisest kuni suuremate opereerimiskulude v\u00e4hendamiseni.<br \/>\nKuigi serveriteta l\u00e4henemisel on puudusi, on olemas usaldusv\u00e4\u00e4rsed disainimustrid, millega saab luua vastupidavaid serveriteta rakendusi v\u00f5i integreerida serveriteta komponente olemasolevatesse arhitektuuridesse.<br \/>\n<br \/>Allikas: <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.0.1 - 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\/et\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47N\u00f5uanded ja teabeallikad serveriteta rakenduste loomiseks | ProHoster","description":"Kuigi serverita.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/55881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=55881"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/55881\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/55882"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=55881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=55881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=55881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}