{"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\/da\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","title":{"rendered":"Tips og kilder til oprettelse af serverl\u00f8se applikationer","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Tips og kilder til oprettelse af serverl\u00f8se applikationer\" src=\"\/wp-content\/uploads\/2020\/01\/a29ca83a52a809d148aebbd6821d4ef9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nSelvom serverl\u00f8se teknologier hurtigt er blevet popul\u00e6re i de senere \u00e5r, er der stadig mange misforst\u00e5elser og bekymringer forbundet med dem. Afh\u00e6ngighed af leverand\u00f8rer, v\u00e6rkt\u00f8jer, omkostningsstyring, kold start, overv\u00e5gning og udviklingslivscyklus \u2013 disse emner diskuteres ofte, n\u00e5r det kommer til serverl\u00f8se teknologier. I denne artikel vil vi se p\u00e5 nogle af de n\u00e6vnte emner samt dele tips og links til nyttige informationskilder, som nybegyndere kan bruge til at bygge kraftfulde, fleksible og omkostningseffektive serverl\u00f8se applikationer.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Misforst\u00e5elser omkring serverl\u00f8se teknologier<\/h2>\n<p>\nMange tror, at serverl\u00f8se og serverbaserede databehandling (<noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/serverless.html#unpacking-faas\">Functions as a Service<\/a><\/noindex>, FaaS) n\u00e6sten betyder det samme. Det betyder, at forskellen ikke er s\u00e5 stor, og det er v\u00e6rd at implementere nyheden. Selvom AWS Lambda var en af 'stjernerne' i fremgangen af serverl\u00f8se teknologier og et af de mest popul\u00e6re elementer i serverless arkitekturen, er denne arkitektur dog mere end bare FaaS.<\/p>\n<p>Det grundl\u00e6ggende princip for serverl\u00f8se teknologier er, at du ikke beh\u00f8ver at bekymre dig om at administrere og skalere infrastrukturen; du betaler kun for det, du bruger. Mange services opfylder disse kriterier \u2013 AWS DynamoDB, S3, SNS eller SQS, Graphcool, Auth0, Now, Netlify, Firebase og mange andre. Generelt indeb\u00e6rer serverl\u00f8shed at udnytte alle mulighederne inden for cloud computing uden behov for at administrere infrastrukturer og optimere dem for skalering. Det betyder ogs\u00e5, at sikkerhed p\u00e5 infrastrukturelt niveau ikke l\u00e6ngere er dit problem, hvilket er en stor fordel, givet kompleksiteten og udfordringerne ved at overholde sikkerhedsstandarder. Endelig beh\u00f8ver du ikke at k\u00f8be den infrastruktur, der er stillet til r\u00e5dighed for dig.<\/p>\n<p>Serverl\u00f8shed kan betragtes som en 'tankegang': en bestemt mentalitet ved design af l\u00f8sninger. Undg\u00e5 tilgange, der kr\u00e6ver vedligeholdelse af nogen infrastruktur. Med den serverl\u00f8se tilgang bruger vi tid p\u00e5 at l\u00f8se opgaver, der direkte p\u00e5virker projektet og giver fordele for vores brugere: vi skaber robust forretningslogik, udvikler brugergr\u00e6nseflader og designer tilpassede og p\u00e5lidelige API'er.<\/p>\n<p>For example, if we can avoid managing and maintaining a free-text search platform, that's exactly what we will do. This approach to application assembly can significantly speed up the time to market since you no longer need to think about managing complex infrastructure. Get rid of the responsibilities and costs of infrastructure management and focus on creating the applications and services that your customers need. Patrick Debois referred to this approach <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>, this term is accepted in the serverless community. Functions should be viewed as a connecting link for services in the form of deployable modules (instead of deploying an entire library or web application). This provides incredible granularity in managing deployments and changes within the application. If you cannot deploy functions this way, it may indicate that the functions are taking on too many tasks and need to be refactored.<\/p>\n<p>Nogle bliver forvirrede over afh\u00e6ngigheden af leverand\u00f8ren ved udviklingen af skyapplikationer. Det samme g\u00e6lder for serverl\u00f8se teknologier, og det er n\u00e6ppe en fejltagelse. Efter vores erfaring er oprettelsen af serverl\u00f8se applikationer p\u00e5 AWS sammen med AWS Lambdas evne til at integrere andre AWS-tjenester alt sammen med til at forme fordelene ved serverl\u00f8se arkitekturer. Det er et godt eksempel p\u00e5 synergi, hvor resultatet af sammenslutningen bliver st\u00f8rre end blot summen af delene. Hvis du fors\u00f8ger at undg\u00e5 afh\u00e6ngighed af leverand\u00f8ren, kan du st\u00f8de p\u00e5 endnu st\u00f8rre problemer. N\u00e5r du arbejder med containere, er det lettere at styre dit eget abstraktionsniveau mellem skyudbydere. Men hvad ang\u00e5r serverl\u00f8se l\u00f8sninger, vil indsatsen ikke betale sig, is\u00e6r hvis man allerede fra starten tager hensyn til \u00f8konomisk effektivitet. S\u00f8rg for at finde ud af, hvordan udbyderne leverer deres tjenester. Nogle specialiserede tjenester er afh\u00e6ngige af integrationspunkter med andre leverand\u00f8rer og kan ud af boksen tilbyde plug-and-play-forbindelse. Det er lettere at kalde Lambda fra en API Gateway-endepunkt end at proxye en anmodning til en hvilken som helst container eller EC2-instans. Graphcool tilbyder nem konfiguration med Auth0, hvilket er lettere end at bruge tredjeparts autentifikation.<\/p>\n<p>Valget af den rigtige leverand\u00f8r til din serverl\u00f8se applikation er en beslutning p\u00e5 arkitekturniveau. N\u00e5r du opretter en applikation, forventer du ikke at skulle vende tilbage til serveradministration. Valget af skyudbyder adskiller sig ikke fra valget af at bruge containere eller databaser, eller endda programmeringssprog. <\/p>\n<p>Overvej:<\/p>\n<ul>\n<li>Hvilke tjenester har du brug for, og hvorfor. \n<\/li>\n<li>Hvilke tjenester tilbyder skyudbydere, og hvordan kan du kombinere dem med den valgte FaaS-l\u00f8sning. \n<\/li>\n<li>Hvilke programmeringssprog underst\u00f8ttes (med dynamisk eller statisk typning, kompil\u00e9rbare eller fortolkede, hvilke benchmarks findes, hvilken ydeevne er der ved koldstart, hvordan er open source-\u00f8kosystemet osv.).\n<\/li>\n<li>Hvad er dine sikkerhedskrav (SLA, 2FA, OAuth, HTTPS, SSL osv.).\n<\/li>\n<li>Hvordan styrer du dit CI\/CD og software udviklingscykler.\n<\/li>\n<li>Hvilke fordele kan du drage fordel af ved l\u00f8sninger i klassen infrastruktur-som-kode.\n<\/li>\n<\/ul>\n<p>\nHvis du udvider en eksisterende applikation og inkrementelt tilf\u00f8jer serverl\u00f8se funktioner, kan det begr\u00e6nse de tilg\u00e6ngelige muligheder en smule. Men n\u00e6sten alle serverl\u00f8se teknologier tilbyder API'er (via REST eller beskedk\u00f8er), der muligg\u00f8r at oprette udvidelser uafh\u00e6ngigt af applikationens kerne og med nem integration. Kig efter tjenester med klare API'er, god dokumentation og et st\u00e6rkt f\u00e6llesskab, s\u00e5 g\u00e5r du ikke galt i byen. Enkelhed i integrationen kan ofte v\u00e6re en n\u00f8glemetrik, og det er sandsynligvis en af hoved\u00e5rsagerne til, at AWS har haft s\u00e5 stor succes siden Lambda blev lanceret i 2015.<\/p>\n<h2>Hvorn\u00e5r er serverl\u00f8se l\u00f8sninger nyttige<\/h2>\n<p>\nServerl\u00f8se teknologier kan anvendes n\u00e6sten overalt. Men deres fordele er ikke kun begr\u00e6nset til anvendelsesmetoder. Indgangsbarrieren for cloud computing er i dag utrolig lav takket v\u00e6re serverl\u00f8se teknologier. Hvis udviklerne har en id\u00e9, men ikke ved, hvordan de skal h\u00e5ndtere cloud-infrastruktur og optimere omkostninger, beh\u00f8ver de ikke at finde en ingeni\u00f8r til det. Hvis en startup \u00f8nsker at opbygge en platform, men er bekymret for, at omkostningerne kan l\u00f8be l\u00f8bsk, kan de nemt tage fat i serverl\u00f8se l\u00f8sninger.<\/p>\n<p>Takket v\u00e6re besparelserne og enkeltheden i skalering er serverl\u00f8se l\u00f8sninger anvendelige b\u00e5de til interne systemer og eksterne, lige fra webapplikationer med millioner af brugere. Fakturaerne m\u00e5les snarere i cent end i euro. Lejen af den simpleste AWS EC2-forekomst (t1.micro) i en m\u00e5ned koster \u20ac15, selvom du ikke laver noget med den (Hvem har ikke glemt at slukke for den?!). Til sammenligning, for at n\u00e5 til et tilsvarende udgiftsniveau i samme tidsperiode, ville du skulle k\u00f8re en Lambda med 512 MB i 1 sekund omkring 3 millioner gange. Og hvis du ikke bruger denne funktion, betaler du ingenting.<\/p>\n<p>Da serverl\u00f8s teknologi prim\u00e6rt afh\u00e6nger af begivenheder, kan det v\u00e6re ret let at tilf\u00f8je serverl\u00f8s infrastruktur til gamle systemer. For eksempel kan du med AWS S3, Lambda og Kinesis oprette en analysetjeneste til et gammelt detail-system, der kan modtage data via API.<\/p>\n<p>De fleste serverl\u00f8se platforme underst\u00f8tter forskellige sprog. Ofte er dette Python, JavaScript, C#, Java og Go. Normalt er der ingen begr\u00e6nsninger for brugen af biblioteker i alle sprog, s\u00e5 du kan anvende dine foretrukne open source-biblioteker. Det er dog bedst ikke at overbelaste afh\u00e6ngigheder, s\u00e5 dine funktioner k\u00f8rer optimalt og ikke annullerer fordelene ved den enorme skalerbarhed af dine serverl\u00f8se applikationer. Jo flere pakker der skal indl\u00e6ses i containeren, desto l\u00e6ngere tid vil det tage at udf\u00f8re en kold start.<\/p>\n<p>Kold start er, n\u00e5r det f\u00f8rst er n\u00f8dvendigt at initialisere containeren, k\u00f8retidsmilj\u00f8et og fejlbehandleren, f\u00f8r de kan anvendes. Dette kan medf\u00f8re en forsinkelse i funktionen p\u00e5 op til 3 sekunder, hvilket ikke er ideelt for ut\u00e5lmodige brugere. Koldstarter opst\u00e5r dog ved den f\u00f8rste anmodning efter et par minutters inaktivitet i funktionen. Mange betragter derfor dette som en mindre ulempe, der kan omg\u00e5s ved regelm\u00e6ssig pingning af funktionen for at holde den i standby. Eller de ignorerer helt dette aspekt.<\/p>\n<p>Selvom AWS har udgivet<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/rds\/aurora\/serverless\/\"> den serverl\u00f8se SQL-database Serverless Aurora<\/a><\/noindex>, er SQL-databaser stadig ikke ideelle til s\u00e5dant brug, da de under udf\u00f8relse af transaktioner er afh\u00e6ngige af forbindelser, der hurtigt kan blive en flaskehals ved h\u00f8j trafik til AWS Lambda. Ja, udviklere forbedrer l\u00f8bende Serverless Aurora, og du b\u00f8r eksperimentere med den, men i dag er NoSQL-l\u00f8sninger som<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/dynamodb\/\"> DynamoDB<\/a><\/noindex>langt bedre egnet til serverl\u00f8se systemer. Det er dog uden tvivl, at denne situation snart vil \u00e6ndre sig.<\/p>\n<p>Ogs\u00e5 v\u00e6rkt\u00f8jerne p\u00e5l\u00e6gger mange begr\u00e6nsninger, is\u00e6r inden for lokal testning. Selvom der findes l\u00f8sninger som Docker-Lambda, DynamoDB Local og LocalStack, kr\u00e6ver de omhyggeligt arbejde og betydelig konfiguration. Men alle disse projekter er i aktiv udvikling, s\u00e5 det er kun et sp\u00f8rgsm\u00e5l om tid, f\u00f8r v\u00e6rkt\u00f8jerne n\u00e5r det \u00f8nskede niveau.<\/p>\n<h2>Indvirkningen af serverl\u00f8se teknologier p\u00e5 udviklingscyklussen<\/h2>\n<p>\nDa din infrastruktur blot er en konfiguration, kan du implementere og distribuere kode ved hj\u00e6lp af scripts, s\u00e5som shell-scripts. Alternativt kan du benytte configuration-as-code-l\u00f8sninger som <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/cloudformation\/\">AWS CloudFormation<\/a><\/noindex>Selvom denne tjeneste ikke tilbyder konfiguration for alle omr\u00e5der, giver den mulighed for at definere specifikke ressourcer til brug som Lambda-funktioner. Det vil sige, at der, hvor CloudFormation svigter, kan du skrive din egen ressource (Lambda-funktion), der lukker dette hul. P\u00e5 den m\u00e5de kan du g\u00f8re hvad som helst, selv konfigurere afh\u00e6ngigheder uden for dit AWS-milj\u00f8.<\/p>\n<p>Da alt dette blot er konfiguration, kan du parameterisere dine deployeringsscripts til specifikke milj\u00f8er, regioner og brugere, is\u00e6r hvis du anvender l\u00f8sninger af typen infrastructure-as-code som CloudFormation. For eksempel kan du udrulne en kopi af infrastrukturen for hver gren i depotet, for at kunne teste dem isoleret under udviklingen. Dette accelererer radikalt den feedback, udviklerne f\u00e5r, n\u00e5r de \u00f8nsker at forst\u00e5, om deres kode fungerer korrekt i et produktionsmilj\u00f8. Ledelsen beh\u00f8ver ikke at bekymre sig om omkostningerne ved at udrule flere milj\u00f8er, da der kun betales for det faktiske forbrug.<\/p>\n<p>DevOps har f\u00e6rre bekymringer, da de blot skal sikre sig, at udviklerne har den korrekte konfiguration. Det er ikke l\u00e6ngere n\u00f8dvendigt at administrere instanser, load balancere eller sikkerhedsgrupper. Derfor anvendes termen NoOps oftere, selvom det stadig er vigtigt at kunne konfigurere infrastrukturen, is\u00e6r n\u00e5r det kommer til IAM-konfiguration og optimering af cloud-ressourcer.<\/p>\n<p>Der findes meget kraftfulde v\u00e6rkt\u00f8jer til overv\u00e5gning og visuel fremstilling som Epsagon, Thundra, Dashbird og IOPipe. De giver mulighed for at spore den aktuelle status for serverl\u00f8se applikationer, leverer logs og tracing, registrerer performance metrics og flaskehalse i arkitekturen, udf\u00f8rer analyse og omkostningsprognoser, og meget mere. De giver ikke kun DevOps-ingeni\u00f8rer, udviklere og arkitekter et omfattende indblik i applikationernes drift, men tillader ogs\u00e5 ledelsen at overv\u00e5ge situationen i realtid med sekunder for sekunder ressourceomkostninger og omkostningsprognoser. At organisere dette med en administreret infrastruktur er betydeligt vanskeligere.<\/p>\n<p>At designe serverl\u00f8se applikationer er betydeligt lettere, fordi du ikke beh\u00f8ver at implementere webservere, administrere virtuelle maskiner eller containere, patching servere, operativsystemer, internet-gateways mv. Abstraktion fra alle disse opgaver g\u00f8r det muligt for serverl\u00f8s arkitektur at fokusere p\u00e5 det v\u00e6sentlige - at im\u00f8dekomme forretnings- og kundebehov.<\/p>\n<p>Selvom v\u00e6rkt\u00f8jerne kunne v\u00e6re bedre (de forbedres hver dag), kan udviklerne dog fokusere p\u00e5 implementeringen af forretningslogikken og den bedste fordeling af kompleksitet i applikationen p\u00e5 forskellige services inden for arkitekturen. Administration af serverl\u00f8se applikationer udf\u00f8res baseret p\u00e5 begivenheder og er abstraheret af skyudbyderen (f.eks. SQS, S3-begivenheder eller DynamoDB-streams). Derfor skal udviklerne blot skrive forretningslogik for at reagere p\u00e5 bestemte begivenheder, og de beh\u00f8ver ikke bekymre sig om, hvordan man bedst implementerer databaser og meddelelsesk\u00f8er, eller hvordan man organiserer optimal databehandling i specifikke hardwarelagre.<\/p>\n<p>Koden kan udf\u00f8res og fejlfinding lokalt, ligesom i enhver udviklingsproces. Modul\u00e6rt testning forbliver som f\u00f8r. Muligheden for at implementere hele applikationens infrastruktur ved hj\u00e6lp af en konfigurerbar stak tillader udviklerne hurtigt at f\u00e5 vigtig feedback uden at t\u00e6nke p\u00e5 testomkostningerne eller p\u00e5virkningen p\u00e5 dyre administrerede milj\u00f8er.<\/p>\n<h2>V\u00e6rkt\u00f8jer og metoder til at bygge serverl\u00f8se applikationer<\/h2>\n<p>\nDer findes ikke en specifik m\u00e5de at bygge serverl\u00f8se applikationer p\u00e5. Ligesom der ikke findes et s\u00e6t services til denne opgave. Lederen blandt de kraftige serverl\u00f8se l\u00f8sninger i dag er AWS, men giv ogs\u00e5 opm\u00e6rksomhed til <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> og <noindex><a rel=\"nofollow\" href=\"https:\/\/firebase.google.com\/\">Firebase<\/a><\/noindex>. Hvis du bruger AWS, kan \"Serverless Application Model\" <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/serverless\/sam\/\">(SAM) anbefales som en tilgang til at bygge applikationer, is\u00e6r n\u00e5r du bruger C#, da Visual Studio tilbyder fremragende v\u00e6rkt\u00f8jer. SAM CLI kan g\u00f8re alt det samme som Visual Studio, s\u00e5 du g\u00e5r ikke glip af noget, hvis du skifter til en anden IDE eller teksteditor. Selvf\u00f8lgelig fungerer SAM ogs\u00e5 med andre sprog.<\/a><\/noindex> (SAM), is\u00e6r ved brug af C#, da Visual Studio har fremragende v\u00e6rkt\u00f8jer. SAM CLI kan g\u00f8re alt det samme som Visual Studio, s\u00e5 du vil ikke miste noget, hvis du skifter til en anden IDE eller teksteditor. Selvf\u00f8lgelig fungerer SAM ogs\u00e5 med andre sprog.<\/p>\n<p>Hvis du skriver p\u00e5 andre sprog, er Serverless Framework et fremragende open source-v\u00e6rkt\u00f8j, der g\u00f8r det muligt at konfigurere alt ved hj\u00e6lp af meget kraftfulde YAML-konfigurationsfiler. Serverless Framework underst\u00f8tter ogs\u00e5 forskellige cloudtjenester, s\u00e5 vi anbefaler det til dem, der s\u00f8ger en multi-cloud-l\u00f8sning. Det har et stort samfund, der har skabt en masse plugins til enhver behov. <\/p>\n<p>Til lokal testning er open source-v\u00e6rkt\u00f8jer som Docker-Lambda, Serverless Local, DynamoDB Local og LocalStack rigtig gode. B\u00e6redygtige teknologier er stadig i en tidlig udviklingsfase, ligesom v\u00e6rkt\u00f8jerne til dem, s\u00e5 der kan v\u00e6re brug for meget arbejde for at konfigurere komplekse testscenarier. Men at starte en stak i et milj\u00f8 og teste der er utrolig billigt. Du beh\u00f8ver ikke lave en pr\u00e6cis lokal kopi af cloud-milj\u00f8erne.<\/p>\n<p>For at reducere st\u00f8rrelsen p\u00e5 de implementerede pakker og \u00f8ge indl\u00e6sningstiden, brug AWS Lambda Layers. <\/p>\n<p>Brug de rette programmeringssprog til specifikke opgaver. Forskellige sprog har deres egne fordele og ulemper. Der findes mange benchmarks, men JavaScript, Python og C# (.NET Core 2.1+) er f\u00f8rende i forhold til ydeevne i AWS Lambda. For nylig kom Runtime API i AWS Lambda, som giver mulighed for at angive det \u00f8nskede sprog og k\u00f8remilj\u00f8, s\u00e5 eksperimenter endelig.<\/p>\n<p>Hold pakkerne sm\u00e5 til implementering. Jo mindre de er, jo hurtigere indl\u00e6ses de. Undg\u00e5 at bruge store biblioteker, is\u00e6r hvis du kun bruger et par funktioner fra dem. Hvis du programmerer i JavaScript, s\u00e5 brug v\u00e6rkt\u00f8jer som Webpack til at optimere bygningen og inkludere kun det, du virkelig har brug for. I .NET Core 3.0 findes der QuickJit og Tiered Compilation, der forbedrer ydeevnen og hj\u00e6lper meget ved kolde starts.<\/p>\n<p>Afh\u00e6ngigheden af serverl\u00f8se funktioner fra begivenheder kan i starten g\u00f8re det sv\u00e6rt at koordinere forretningslogik. I den forbindelse kan beskedk\u00f8er og tilstandsmaskiner v\u00e6re utroligt nyttige. Lambda-funktioner kan kalde hinanden, men g\u00f8r dette kun, hvis du ikke forventer at modtage et svar (\"skudt og glemt\") \u2014 du \u00f8nsker ikke at betale for at vente p\u00e5, at en anden funktion afslutter. Beskedk\u00f8er er nyttige til at isolere dele af forretningslogikken, h\u00e5ndtere flaskehalse i applikationer og behandle transaktioner (ved hj\u00e6lp af FIFO-k\u00f8er). AWS Lambda-funktioner kan knyttes til SQS-k\u00f8er som \"h\u00e6mmende\" beskeder, der sporer mislykkede meddelelser til senere analyse. AWS Step Functions (tilstandsmaskiner) er meget nyttige til at styre komplekse processer, der kr\u00e6ver oprettelse af k\u00e6der af funktioner. I stedet for at en Lambda-funktion kalder en anden funktion, kan Step Functions koordinere tilstands\u00fcovergange, overf\u00f8re data mellem funktioner og administrere den globale tilstand af funktionerne. Dette g\u00f8r det muligt at definere betingelser for genpr\u00f8vefors\u00f8g eller hvad der skal g\u00f8res ved bestemte fejl \u2014 under bestemte omst\u00e6ndigheder et meget kraftfuldt v\u00e6rkt\u00f8j.<\/p>\n<h2>Konklusion<\/h2>\n<p>\nI de seneste \u00e5r har serverl\u00f8se teknologier udviklet sig i en hidtil uset takt. Denne paradigmeskifte er forbundet med visse misforst\u00e5elser. Takket v\u00e6re abstraktionen af infrastruktur og h\u00e5ndtering af skalerbarhed tilbyder serverl\u00f8se l\u00f8sninger betydelige fordele: fra forenkling af udvikling og DevOps-processer til en betydelig reduktion af driftsomkostninger.<br \/>\nOg selvom den serverl\u00f8se tilgang ikke er uden mangler, er der dog p\u00e5lidelige designm\u00f8nstre og metoder, hvormed man kan skabe robuste serverl\u00f8se applikationer eller integrere serverl\u00f8se elementer i eksisterende arkitekturer.<br \/>\n<br \/>Kilde: <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\/da\/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=\"da_DK\" \/>\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\/da\/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\udd47Tips og informationskilder til oprettelse af serverl\u00f8se applikationer | ProHoster","description":"Selvom serverl\u00f8se.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/55881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=55881"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/55881\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/55882"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=55881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=55881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=55881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}