Serverloos computergebruik 101

Schrijver: Roger Morrison
Datum Van Creatie: 22 September 2021
Updatedatum: 1 Juli- 2024
Anonim
Serverless Computing in 100 Seconds
Video: Serverless Computing in 100 Seconds

Inhoud


Bron: Wavebreakmediamicro / Dreamstime.com

Afhaal:

Serverloos computergebruik is eigenlijk een beetje een verkeerde benaming - servers zijn inderdaad betrokken, ze zijn gewoon in de cloud.

Voor niet-ingewijden lijkt het idee van serverloos computergebruik ongelooflijk omdat servers in de geschiedenis van softwareontwikkeling onmisbaar zijn geweest. Nou, dat zijn ze nog steeds. Serverloos computergebruik hoeft niet letterlijk te worden genomen, omdat het servers niet overbodig maakt. In het serverloze computerschema van dingen blijven servers een belangrijke rol spelen, maar met bepaalde verschillen.

Softwareontwikkelaars hoeven niet langer na te denken over servers of de codering aan te passen op basis van servers. Ze kunnen zich volledig richten op codering, terwijl de servers, gehost in de cloud, zorgen voor de codeverwerking. Het is niet nodig om de capaciteit van de servers te plannen, omdat ze in de cloud op en neer kunnen schalen op basis van vereisten. De hele server blijft niet altijd actief. Op basis van de vereisten worden delen ervan actief, doen hun werk en worden dan slapend.


Velen menen dat serverloos computergebruik de computerefficiëntie kan verbeteren en de operationele kosten kan verlagen; ze zien het als een revolutionaire manier van computergebruik. Maar niet iedereen is het daarmee eens. Aan de andere kant van het argument wordt tegengesproken dat serverloos computergebruik de complexiteit zal vergroten, en er zijn niet veel manieren om complexiteit te beheren.

Wat is serverloos computergebruik?

Zoals reeds gezegd, betekent serverloos computergebruik niet dat computer- of softwareontwikkeling zonder servers kan plaatsvinden. In feite worden de servers eenvoudig in de cloud gehost door een externe leverancier. Daarom hoeven de softwareontwikkelaars zich alleen maar te concentreren op hun code en hoeven ze niet na te denken over servers, capaciteit, implementatie of iets dergelijks. De servers bevatten verschillende onderdelen, de zogenaamde functies, die de code verwerken. Anders dan bij traditioneel computergebruik blijft de hele server niet altijd actief. De functies voeren specifieke taken uit - bijvoorbeeld validatie en zoeken - en worden alleen geactiveerd wanneer dat nodig is. De functies kunnen op basis van vereisten worden opgeschaald of verlaagd. Net als andere cloudservices zoals software as a service (SaaS) of platform as a service (PaaS), worden de functies ook aangeboden op basis van een abonnement. De klant wordt alleen in rekening gebracht voor de tijd dat een functie actief blijft.


Geschiedenis

Serverloos computergebruik is een vrij nieuw concept in softwareontwikkeling en kan worden teruggevoerd op 2006. In 2006 bood een service genaamd Zimki een oplossing waarmee softwareontwikkelaars code konden schrijven en uploaden naar de Zimkis-server. De code-uitvoering werd uitgevoerd door functies aangeboden in de vorm van applicatie-programmeerinterfaces (API's).

De volgende belangrijke ontwikkeling vond plaats in 2014, toen Amazon het systeem van pay-as-you-go introduceerde voor een code-uitvoeringsplatform in de vorm van AWS Lambda. Het is echter interessant om op te merken dat het zo lang heeft geduurd voordat een dergelijk nieuw concept tractie vond (2006 tot 2014). Om de een of andere reden waren de ontwikkelingen op het gebied van serverloze computing niet zo groot als andere ideeën zoals cloud computing of the internet of things (IoT). Niettemin was AWS Lambda het eerste serverloze aanbod van een grote onderneming, en een hele reeks andere aanbiedingen volgden, waaronder het aanbod van Google, bekend als Google Cloud Functions. In 2016 zijn zowel IBM als Microsoft op de bandloze server zonder computer gesprongen door respectievelijk OpenWhisk en Azure Functions te onthullen.

Dieper duiken

Een goed punt om serverless computing op een dieper niveau te begrijpen, is een vergelijking tussen serverless computing en PaaS. Hoewel ze als concepten verschillen, was PaaS eigenlijk de eerste stap naar serverloze aanbiedingen. Hoewel PaaS een platform en omgeving biedt waarmee ontwikkelaars softwaretoepassingen via internet kunnen bouwen, is er nog steeds behoefte aan het plannen van de benodigde capaciteit voor de software in de cloud. Het is echter niet nodig om op welke manier dan ook aan servers te denken wanneer u met serverless computing werkt. Softwareontwikkelaars coderen en uploaden de code naar de cloud, waarna de servers het overnemen.

Serverloos computergebruik wordt ook functies as a service (FaaS) genoemd omdat kleine functies worden aangeboden op een pay-as-you-go bedrijfsmodel. Dergelijke functies voeren kleine taken uit, bijvoorbeeld het valideren van gebruikersreferenties. De functies worden aangeboden in de vorm van API's. Er kunnen verschillende functies vereist zijn voor een softwareapplicatie, maar niet alle functies worden tegelijkertijd actief; ze zijn alleen actief wanneer ze nodig zijn. Als een functie bijvoorbeeld veel verkeer heeft ontvangen en overbelast is, kan deze worden geschaald en de capaciteit worden verhoogd. U hoeft dus niet de hele toepassing te schalen.

Geen bugs, geen stress - Uw stapsgewijze handleiding voor het creëren van levensveranderende software zonder uw leven te vernietigen

U kunt uw programmeervaardigheden niet verbeteren als niemand om softwarekwaliteit geeft.

Waarom is serverloos computergebruik belangrijk?

Het belang van serverloos computergebruik ligt in het verschil met traditioneel computergebruik. Traditioneel computergebruik heeft bedrijven goed gediend, maar brengt een aantal uitdagingen met zich mee: kosten, tijdrovend, geen gerichte codering en moeilijkheden bij het opschalen of verlagen. Bedrijven hebben naar een oplossing voor deze problemen gezocht. De unieke voordelen van serverloos computergebruik zijn onder meer:

  • Focus op codering
    In de traditionele informatica moesten ontwikkelaars nadenken over servers en de codering dienovereenkomstig aanpassen. Bij serverloos computergebruik hoeven ze zich alleen te concentreren op codering en de rest wordt verzorgd door servers die in de cloud worden gehost. Deze verhoogde focus leidt tot betere codekwaliteit.
  • Codering is mogelijk eenvoudiger
    Als uw codes serverloos computergeoriënteerd zijn, hoeft u alleen kleinere stukjes code te schrijven die door specifieke, respectieve functies worden verwerkt en ervoor te zorgen dat de code goed met andere stukjes code kan worden geïntegreerd.
  • Gemakkelijker omhoog of omlaag te schalen
    Omdat de hele serverloze computerinfrastructuur over kleine functies gaat, is het niet nodig om de hele infrastructuur op of af te schalen - schaal gewoon de vereiste functie. Op die manier gebeurt het verwerken en schalen ook veel sneller.
  • Minder duur
    Doorgaans betaalt een onderneming die serverloze computerservices gebruikt, het abonnement en vervolgens het functiegebruik. Het betaalt echter alleen voor de tijd dat een functie actief is en in gebruik wordt genomen. Met andere woorden, ondernemingen betalen alleen voor wat ze consumeren.

Een voorbeeld van serverloos computergebruik

AWS Lambda is een van de meest prominente voorbeelden van serverloze aanbiedingen. Hiermee kunnen ondernemingen de code gewoon schrijven en uploaden naar Lambda. Indien nodig kan Lambda de toepassing automatisch schalen door de codes uit te voeren als reactie op de trigger. Wanneer de werklast van een functie of API toeneemt, wordt de functie geschaald. De client wordt gefactureerd op basis van een meting van minder dan een seconde, wat betekent dat de client elke 100 ms de code uitvoert die wordt uitgevoerd en het aantal keren dat de code wordt geactiveerd. Op die manier is het niet nodig om te betalen als de code niet wordt uitgevoerd.

Gevolgtrekking

Ondanks al zijn uniekheid, zijn de serverloze aanbiedingen niet zonder hun beperkingen. Verschillende kleine functies kunnen mogelijk een uiterst complex systeem vormen, meer nog als de softwareapplicatie enorm is. De situatie wordt ook verergerd door de beperkte beschikbaarheid van hulpmiddelen om dergelijke complexiteiten te beheren. Toch zal serverloos computergebruik worden gezien als een oplossing voor de monolithische systemen waarmee bedrijven te maken hebben. Het bevindt zich nog steeds in een prille staat en organisaties vinden nog steeds manieren om het voor hen te laten werken, omdat het meer acceptatie krijgt bij ondernemingen.