{"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\u00e4pun\u00e4ited ja teabeallikad serverita rakenduste loomiseks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"N\u00e4pun\u00e4ited ja teabeallikad serverita 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 endiselt seotud palju v\u00e4\u00e4rarusaamu ja muresid. Tarnija s\u00f5ltuvus, t\u00f6\u00f6riistade komplekt, kulude juhtimine, k\u00fclm k\u00e4ivitus, monitooring ja arenduse eluts\u00fckkel \u2014 need teemad on aktiivselt arutluse all serverita tehnoloogiate kontekstis. Selles artiklis k\u00e4sitleme m\u00f5ningaid mainitud teemasid ning jagame n\u00e4pun\u00e4iteid ja viiteid kasulikele teabeallikatele, 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>Serverita tehnoloogiate v\u00e4\u00e4rarusaamad<\/h2>\n<p>\nPaljud arvavad, et serverituks tegemine 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 \u00fcks ja sama. See t\u00e4hendab, et erinevus pole kuigi suur ja uuenduse kasutuselev\u00f5tt on \u00f5igustatud. Kuigi AWS Lambda on olnud \u00fcks serverita tehnoloogiate t\u00f5usu \"t\u00e4hti\" ja \u00fcks populaarsemaid komponente serverita arhitektuuris, representa see arhitektuur rohkem kui FaaS.<\/p>\n<p>Serverita tehnoloogiate peamine p\u00f5him\u00f5te on see, et te ei pea muretsema infrastruktuuri haldamise ja skaleerimise p\u00e4rast, maksate ainult selle eest, mida kasutate. Need kriteeriumid sobivad paljudele teenustele \u2014 AWS DynamoDB, S3, SNS v\u00f5i SQS, Graphcool, Auth0, Now, Netlify, Firebase ja paljud teised. \u00dcldiselt t\u00e4hendab serveritus, et saate kasutada k\u00f5iki pilvearvutuste v\u00f5imalusi, ilma et peaksite haldama infrastruktuuri ja optimeerima seda skaleerimise nimel. Samuti t\u00e4hendab see, et infrastruktuuri taseme turvalisus ei ole enam teie probleem, mis on suur eelis, arvestades turvastandardite j\u00e4rgimise keerukust ja raskust. L\u00f5puks ei pea te ostma teile kasutamiseks antud infrastruktuuri.<\/p>\n<p>Serveritust saab pidada \"meeleoluks\": teatud m\u00f5tteviisiks lahenduste projekteerimisel. V\u00e4ltige l\u00e4henemisi, mis n\u00f5uavad igasuguse infrastruktuuri hooldust. Serverita l\u00e4henemise korral kulutame aega probleemide lahendamisele, mis m\u00f5jutavad otse projekti ja toovad kasu meie kasutajatele: loome vastupidava \u00e4riloogika, arendame kasutajaliideseid ning loome paindlikke ja usaldusv\u00e4\u00e4rseid API-sid.<\/p>\n<p>N\u00e4iteks, kui on v\u00f5imalik v\u00e4ltida vaba tekstiotsingu platvormi haldamist ja hooldamist, siis me just nii teeme. Selline l\u00e4henemine rakenduste kogumisele v\u00f5ib toote turule toomise aega oluliselt kiirendada, kuna teil ei ole enam vaja m\u00f5elda keeruka infrastruktuuri haldamisele. Vabanege haldamise ja infrastruktuuri kulude kohustustest ning keskenduge rakenduste ja teenuste loomisele, mis on teie klientidele vajalikud. Patrick Debois 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\">\u2018servicefull\u2019<\/a><\/noindex>, see termin on aktsepteeritud serverita kogukonnas. Funktsioone tuleks k\u00e4sitleda kui seoselemente teenustele, mida esitatakse looditava moodulina (selle asemel, et rakendada kogu raamatukogu v\u00f5i veebirakendust). See tagab erakordse granulaarsuse rakenduse juurutamise ja muudatuste haldamisel. Kui te ei saa sel moel funktsioone juurutada, v\u00f5ib see viidata sellele, et funktsioonid t\u00e4idavad liiga palju \u00fclesandeid ja neid tuleks refaktoreerida.<\/p>\n<p>M\u00f5ned inimesed tunnevad muret teenusepakkuja s\u00f5ltuvuse \u00fcle pilve rakenduste arendamisel. Sama kehtib ka serverivaba tehnoloogia kohta ning see ei n\u00e4i olema valearusaama tulemus. Meie kogemuse p\u00f5hjal on AWS-is serverivabade rakenduste loomine koos AWS Lambda v\u00f5imega siduda teisi AWS-teenuseid osaliselt need t\u00f5endid, mis toetavad serverivaba arhitektuuri eeliseid. See on hea n\u00e4ide s\u00fcnergiast, kus tulemuse kogusumma \u00fcletab lihtsalt koostisosade summa. P\u00fc\u00fcdes v\u00e4ltida teenusepakkuja s\u00f5ltuvust, v\u00f5ite kokku puutuda veelgi suuremate probleemidega. Konteinerite kasutamisel on kergem hallata oma abstraktsiooni taset erinevate pilveteenuse pakkujate vahel. Kuid kui jutt on serverivabadest lahendustest, siis ei tasu pingutused end \u00e4ra, eriti kui arvestada algusest peale majanduslikku efektiivsust. Uurige kindlasti, kuidas teenusepakkujad teenuseid tarnivad. M\u00f5ned spetsialiseeritud teenused s\u00f5ltuvad teiste teenusepakkujate integratsioonipunktidest ja v\u00f5ivad pakuda plug-and-play \u00fchenduvust kohe v\u00e4lja pakkuda. Lambda kutsumise tagamine API gateway l\u00f5pupunktist on lihtsam kui p\u00e4ringu edastamine m\u00f5nes konteineris v\u00f5i EC2 instantsis. Graphcool pakub lihtsat seadistamist Auth0 kaudu, mis on lihtsam kui kolmandate osapoolte autentimisvahendite kasutamine.<\/p>\n<p>\u00d5ige teenusepakkuja valimine teie serverivaba rakenduse jaoks on arhitektuuritase otsus. Rakendust luues ei looda te, et \u00fchel p\u00e4eval naasete serverite haldamise juurde. Pilveteenuse pakkuja valik ei erine konteinerite, andmebaaside v\u00f5i isegi programmeerimiskeele valikust. <\/p>\n<p>M\u00f5elge j\u00e4rgnevatele k\u00fcsimustele:<\/p>\n<ul>\n<li>Milliseid teenuseid te 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 (d\u00fcnaamilise v\u00f5i staatilise t\u00fc\u00fcbiga, kompileeritud v\u00f5i t\u00f5lgitud, millised on bench-markid, milline on j\u00f5udlus k\u00fclma k\u00e4ivitamise korral, 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 CI\/CD ja tarkvaraarenduse ts\u00fckleid.\n<\/li>\n<li>Milliseid infrastruktuuri kui koodi lahenduste eeliseid saate kasutada.\n<\/li>\n<\/ul>\n<p>\nKui laiendate olemasolevat rakendust ja lisate j\u00e4rk-j\u00e4rgult serverivabu funktsioone, v\u00f5ib see veidi piirata saadaval olevate v\u00f5imaluste arvu. Siiski pakuvad peaaegu k\u00f5ik serverivabad tehnoloogiad mingisuguseid API-sid (kas REST v\u00f5i s\u00f5numij\u00e4rjekordade kaudu), mis v\u00f5imaldavad luua laiendusi s\u00f5ltumatult rakenduse tuumast ja lihtsa integreerimisega. Otsige teenuseid, millel on selged API-d, hea dokumentatsioon ja tugev kogukond, ning te ei eksi. Integreerimise lihtsus v\u00f5ib sageli olla v\u00f5tme m\u00f5\u00f5dik, ja see on t\u00f5en\u00e4oliselt \u00fcks peamisi p\u00f5hjuseid, miks AWS on alates 2015. aastast Lambda turule tulnud.<\/p>\n<h2>Kuidas serverivabadus on kasulik<\/h2>\n<p>\nServerivabu tehnoloogiaid saab rakendada praktiliselt igal pool. Siiski ei piirdu nende eelised vaid rakendamisviisidega. T\u00e4na on pilvcomputing\u2019u sisenemisk\u00fcnnis nii madal just t\u00e4nu serverivabadele tehnoloogiatele. Kui arendajatel on idee, kuid nad ei tea, kuidas juhtida pilvinfra ja optimeerida kulusid, ei pea nad otsima inseneri. Kui idufirma soovib luua platvormi, kuid kardab, et kulud v\u00f5ivad uncontrolled\u2018iks minna, saavad nad h\u00f5lpsasti kasutada serverivabu lahendusi.<\/p>\n<p>Kuna kulude kokkuhoid ja skaleeritavuse lihtsus, on serverivabad lahendused v\u00f5rdselt rakendatavad nii sise- kui v\u00e4liss\u00fcsteemides, sealhulgas veebirakendustes, millel on miljoneid kasutajaid. Arved m\u00f5\u00f5detakse pigem euros, mitte sendina. Lihtsaim AWS EC2 (t1.micro) hinna rent kuus on \u20ac15, isegi kui te ei tee sellega midagi (kes pole kunagi unustanud sellest v\u00e4lja l\u00fclitada?!). V\u00f5rdluseks, et sama kulu tasemele j\u00f5uda sama aja jooksul, peate kutsuma Lambda 512 MB ulatuses 1 sekundiks umbes 3 miljonit korda. Ja kui te ei kasuta seda funktsiooni, siis teile ei tule midagi maksma.<\/p>\n<p>Kuna serverivaba tehnoloogia s\u00f5ltub peamiselt s\u00fcndmustest, on vanadesse s\u00fcsteemidesse serverivaba infrastruktuuri \u00fcsna lihtne lisada. N\u00e4iteks AWS S3, Lambda ja Kinesis abil saate luua anal\u00fc\u00fcsiteenuse vanale jae s\u00fcsteemile, mis suudab saada andmeid API kaudu.<\/p>\n<p>Enamik serverivabu platvorme toetab erinevaid programmeerimiskeeli. Sageli on need Python, JavaScript, C#, Java ja Go. \u00dcldiselt ei ole k\u00f5igis keeltes raamatukogude kasutamise osas mingeid piiranguid, seega v\u00f5ite kasutada oma lemmikuid avatud l\u00e4htekoodiga raamatukogusid. Siiski on soovitatav mitte kuritarvitada s\u00f5ltuvusi, et teie funktsioonid t\u00f6\u00f6taksid optimaalselt ja ei h\u00e4vitaks teie serverivabade rakenduste suurt skaleeritavuse eelist. Mida rohkem pakette tuleb konteinerisse laadida, seda kauem kulub k\u00fclma k\u00e4ivitamise teostamiseks.<\/p>\n<p>K\u00fclm k\u00e4ivitamine t\u00e4hendab, et konteiner, t\u00e4itmisv\u00f5ime ja veahaldur tuleb k\u00f5igepealt algatada, enne kui neid kasutama hakatakse. Selle t\u00f5ttu v\u00f5ib funktsioonide teostamise viivitus ulatuda 3 sekundini, mis ei ole parim variant kannatamatutele kasutajatele. Kuid k\u00fclmad k\u00e4ivitamised esinevad esmakordsel p\u00e4ringul p\u00e4rast m\u00f5ne minuti pikkust seisaku l\u00f5ppu. Seet\u00f5ttu peetakse seda paljude arvates t\u00fchiseks ebamugavuseks, mida saab v\u00e4ltida funktsiooni regulaarsel pingil hoidmisega, et seda t\u00fchik\u00e4igul hoida. V\u00f5i j\u00e4etakse see aspekt sootuks t\u00e4helepanuta.<\/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>, ei ole SQL-andmebaasid sellise kasutuse jaoks ideaalsed, kuna tehingute teostamisel s\u00f5ltuvad nad \u00fchendustest, mis v\u00f5ivad kiiresti saada kitsaskohaks suure liikluse korral AWS Lambdas. Jah, arendajad parendavad pidevalt Serverless Aurorat ja teil tasub sellega eksperimenteerida, kuid t\u00e4na sobivad serverivabade s\u00fcsteemide jaoks palju paremini NoSQL-lahendused 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\u00f6riist komplekt kehtestab samuti palju piiranguid, eriti kohaliku testimise valdkonnas. Kuigi olemas on lahendused nagu Docker-Lambda, DynamoDB Local ja LocalStack, n\u00f5uavad need siiski p\u00f5hjalikku t\u00f6\u00f6d ja m\u00e4rkimisv\u00e4\u00e4rset konfigureerimist. Siiski arendavad k\u00f5ik need projektid aktiivselt, seega on see vaid ajak\u00fcsimus, kuni t\u00f6\u00f6riistade komplekt saavutab vajaliku taseme.<\/p>\n<h2>Serverivabade tehnoloogiate m\u00f5ju arendusprotsessile<\/h2>\n<p>\nKuna teie infrastruktuur on lihtsalt konfiguratsioon, saab koodi seadistada ja juurutada skriptide abil, n\u00e4iteks shell-skriptide kaudu. V\u00f5i saab kasutada konfiguratsiooni kui koodi lahendusi nagu <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/cloudformation\/\">AWS CloudFormation<\/a><\/noindex>. Kuigi see teenus ei paku konfiguratsiooni k\u00f5igile valdkondadele, v\u00f5imaldab see siiski m\u00e4\u00e4ratleda spetsiifilised ressursid, mida kasutada Lambda-funktsioonidena. See t\u00e4hendab, et seal, kus CloudFormation ei suuda, saate kirjutada oma ressursi (Lambda-funktsiooni), mis katab selle puuduj\u00e4\u00e4gi. Nii saate teha mida iganes, isegi konfigureerida s\u00f5ltuvusi v\u00e4ljaspool teie AWS-\u00fcmbrust.<\/p>\n<p>Kuna k\u00f5ik need on lihtsalt konfiguratsioonid, saate parametriseerida oma juurutusskripte spetsiifiliste keskkondade, piirkondade ja kasutajate jaoks, eriti kui kasutate infrastruktuuri klastri lahendusi nagu CloudFormation. N\u00e4iteks v\u00f5ite juurutada iga haru jaoks oma infrastruktuuri koopia, et neid t\u00e4ielikult eraldatult arendamise k\u00e4igus testida. See kiirendab radikaalselt tagasiside saamist arendajatel, kui nad soovivad m\u00f5ista, kas nende kood t\u00f6\u00f6tab \u00f5igesti reaalajas keskkonnas. Juhtidel ei pea muretsema mitmete keskkondade juurutamise kulude \u00fcle, sest makstakse ainult tegeliku kasutamise eest.<\/p>\n<p>DevOps'il on v\u00e4hem muresid, kuna nad peavad vaid kinnitama, et arendajatel on \u00f5ige konfiguratsioon. Ei pea enam haldama instantside, koormuse tasakaalustajate v\u00f5i turvagruppide haldust. Seet\u00f5ttu kasutatakse \u00fcha sagedamini terminit NoOps, kuigi on endiselt oluline osata infrastruktuuri konfigureerida, eriti IAM-konfiguratsiooni ja pilveressursside optimeerimise osas.<\/p>\n<p>On v\u00e4ga v\u00f5imsaid t\u00f6\u00f6riistu j\u00e4lgimiseks ja visuaalse esituse tegemiseks, nagu Epsagon, Thundra, Dashbird ja IOPipe. Need v\u00f5imaldavad j\u00e4lgida serverita rakenduste hetkeseisundit, pakkuda logisid ja j\u00e4lgida, registreerida j\u00f5udluse m\u00f5\u00f5dikuid ja arhitektuuri kitsaskohti, teostada kulude anal\u00fc\u00fcsi ja prognoosimist ning palju muud. Need mitte ainult ei anna DevOps-inseneridele, arendajatele ja arhitektidele p\u00f5hjalikku \u00fclevaadet rakenduste toimimisest, vaid v\u00f5imaldavad ka juhtidel j\u00e4lgida olukorda reaalajas, sekundi t\u00e4psusega kuludest ressursside ja prognoositud kuludega. Sellise korraldamine hallatava infrastruktuuri puhul on palju keerulisem.<\/p>\n<p>Serverless rakenduste kujundamine on palju lihtsam, kuna te ei pea juurutama veebiservereid, haldama virtuaalmasinaid ega konteinerite, plaasima servereid, t\u00f6\u00f6tluss\u00fcsteeme, Interneti-l\u00fclsse jne. K\u00f5igist neist kohustustest vabastamine v\u00f5imaldab serverless arhitektuuril keskenduda peamisele \u2014 \u00e4riliste ja klientide vajaduste rahuldamisele.<\/p>\n<p>Kuigi t\u00f6\u00f6riistade arsenal v\u00f5iks olla parem (see paraneb iga p\u00e4ev), saavad arendajad keskenduda ettev\u00f5tte loogika rakendamisele ja rakenduse keerukuse parimale jaotamisele erinevate teenuste vahel arhitektuuri piires. Serverless rakenduste haldamine toimub s\u00fcndmuste p\u00f5hjal ja on abstrakteeritud pilveteenuse pakkuja poolt (nt SQS, S3 s\u00fcndmused v\u00f5i DynamoDB vood). Seet\u00f5ttu piisab arendajatelt ainult \u00e4riloogika m\u00e4\u00e4ramisest teatud s\u00fcndmustele reageerimiseks, ilma et muretseks optimaalse andmebaasi ning s\u00f5numij\u00e4rjekordade rakendamise v\u00f5i andmete t\u00f5hususe kohta konkreetsetes riistvaralao \u00fclesseadetes.<\/p>\n<p>Koodi saab k\u00e4itada ja siluda kohapeal, nagu iga arenduse puhul. Moodulite testimine j\u00e4\u00e4b endiseks. Rakenduse kogu infrastruktuuri juurutamise v\u00f5imalus konfigureeritava steki abil v\u00f5imaldab arendajatel kiiresti olulisi tagasiside saada, muretsemata testimise kulude v\u00f5i kulukate hallatavate keskkondade m\u00f5ju \u00fcle.<\/p>\n<h2>Serverless rakenduste koostamise t\u00f6\u00f6riistad ja meetodid<\/h2>\n<p>\nEi ole \u00fchtegi kindlat viisi serverless rakenduste koostamiseks. Samuti ei ole kindlat teenuste komplekti selle \u00fclesande t\u00e4itmiseks. T\u00e4na on AWS juhtiv j\u00f5ud v\u00f5imsates serverless lahendustes, kuid tasub t\u00e4helepanu p\u00f6\u00f6rata 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 rakenduste koostamise l\u00e4henemisviisina v\u00f5ib soovitada <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/serverless\/sam\/\">Serverless Application Model<\/a><\/noindex> (SAM), eriti C# kasutamisel, kuna Visual Studio pakub suurep\u00e4rast t\u00f6\u00f6riistade komplekti. SAM CLI suudab teha k\u00f5ike seda, mida ka Visual Studio, seega ei kaota te midagi, kui liigute teise IDE v\u00f5i tekstiredaktori juurde. Loomulikult t\u00f6\u00f6tab SAM ka teiste keeltega.<\/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 konfiguratsioonifailide abil. Serverless Framework toetab ka erinevaid pilveteenuseid, seet\u00f5ttu soovitame seda neile, kes otsivad mitme pilve lahendust. Sellel on suur kogukond, mis on loonud hulga pluginaid igasuguste vajaduste jaoks. <\/p>\n<p>Kohalikuks testimiseks sobivad h\u00e4sti avatud l\u00e4htekoodiga t\u00f6\u00f6riistad nagu Docker-Lambda, Serverless Local, DynamoDB Local ja LocalStack. Serverless tehnoloogiad on endiselt arengu algusj\u00e4rgus, nagu ka nende t\u00f6\u00f6riistakomplekt, nii et keeruliste testimisstsenaariumide seadistamine v\u00f5ib olla v\u00e4ljakutsuv. Siiski on steigi k\u00e4ivitamine ja seal testimine uskumatult odav. Ja teil ei ole vaja teha t\u00e4pset kohaliku versiooni koopia pilves\u00fcsteemidest.<\/p>\n<p>Pakettide suuruse v\u00e4hendamiseks ja laadimise kiirusestamiseks kasutage AWS Lambda kihte. <\/p>\n<p>Kasutage konkreetsete \u00fclesannete jaoks \u00f5igeid programmeerimiskeeli. Erinevatel keeltele on omad eelised ja puudused. Palju on benchmarke, kuid JavaScript, Python ja C# (.NET Core 2.1+) on AWS Lambda j\u00f5udluse osas liidrid. Hiljuti lisandus AWS Lambda-sse Runtime API, mis v\u00f5imaldab m\u00e4\u00e4rata soovitud keele ja t\u00e4itmisplatvormi, nii et katsetage.<\/p>\n<p>Hoidke pakettide suurus v\u00f5imalikult v\u00e4ike. Mida v\u00e4iksemad nad on, seda kiiremini nad laaditakse. V\u00e4ltige suurte raamatukogude kasutamist, eriti kui kasutasite neist vaid paari funktsiooni. Kui programmeerite JavaScriptis, siis kasutage selliseid kogumise t\u00f6\u00f6riistu nagu Webpack, et optimeerida kogumist ja lisada ainult seda, mis teil t\u00f5eliselt vajalik on. .NET Core 3.0-s on QuickJit ja Tiered Compilation, mis parandavad j\u00f5udlust ja aitavad oluliselt k\u00fclmade k\u00e4ivituste korral.<\/p>\n<p>Serverless funktsioonide s\u00f5ltuvus s\u00fcndmustest v\u00f5ib alguses keeruliseks muuta \u00e4riloogika koordineerimise. Seet\u00f5ttu v\u00f5ivad s\u00f5numij\u00e4rjekorrad ja l\u00f5pm\u00f5isted olla \u00e4\u00e4rmiselt kasulikud. Lambda-funktsioonid saavad \u00fcksteist kutsuda, kuid tehke seda vaid siis, kui te ei oota vastust (\u201etulistasin ja unustasin\u201d) \u2014 te ei taha ju saada arvet ootamise eest, kuni teine funktsioon l\u00f5pule j\u00f5uab. S\u00f5numij\u00e4rjekorrad on kasulikud \u00e4riloogika osade eraldamiseks, rakenduste kitsaskohtade juhtimiseks ja tehingute t\u00f6\u00f6tlemiseks (kasutades FIFO j\u00e4rjekordi). AWS Lambda funktsioone saab siduda SQS j\u00e4rjekordadega kui \u201ekinni j\u00e4\u00e4nud\u201d s\u00f5numite j\u00e4rjekordadeks, mis j\u00e4lgivad eba\u00f5nnestunud s\u00f5numeid edasiseks anal\u00fc\u00fcsiks. AWS Step Functionsi funktsioonid (l\u00f5pm\u00f5isted) on v\u00e4ga kasulikud keerukate protsesside juhtimisel, mis vajavad funktsioonide kettide loomist. Selle asemel, et Lambda funktsioon kutsuks \u00fclesse teise funktsiooni, saavad Step-funktsioonid koordineerida olekute \u00fcleminekuid, edastada andmeid funktsioonide vahel ja hallata funktsioonide globaalset olekut. See v\u00f5imaldab m\u00e4\u00e4rata tingimused korduste jaoks v\u00f5i mida teha konkreetse vea ilmnemisel \u2014 teatud tingimustes \u00e4\u00e4rmiselt v\u00f5imas t\u00f6\u00f6riist.<\/p>\n<h2>Kokkuv\u00f5te<\/h2>\n<p>\nViimastel aastatel on serverless tehnoloogiad arenenud erakordse kiirusel. Selle paradigma muutusega on seotud teatud v\u00e4\u00e4rarusaamad. T\u00e4nu infrastruktuuri ja skaleerimise haldamise abstraktimisele pakuvad serverless lahendused m\u00e4rkimisv\u00e4\u00e4rseid eeliseid: alates arendamise ja DevOps-protsesside lihtsustamisest kuni operaatorite kulude m\u00e4rgise v\u00e4henemiseni.<br \/>\nJa kuigi serverless l\u00e4henemisel ei ole puudusi, on olemas usaldusv\u00e4\u00e4rsed tehnikad ja disainimustrid, mis v\u00f5imaldavad luua stabiilseid serverless rakendusi v\u00f5i integreerida serverless koostisosad 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.1.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.1.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 teabe allikad serverless rakenduste loomiseks | ProHoster","description":"Kuigi serverless.","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}]}}