Lad os finde det: En begynderguide

Foto af Luca Bravo på Unsplash

Det er ikke let at skrive kode. Det er tilsyneladende ikke at implementere det, hvilket burde være den sidste ting i enhver udvikleres sind, når de sætter sig ned for at skabe en løsning.

Der er masser af udviklerværktøjer derude, men det er altid svært at sile igennem støjen og finde noget let at starte med.

Som nogen, der konstant lærer om skyteknologi, spørger jeg mig selv, hvordan alle andre forstår noget, og alligevel sidder jeg stadig fast i en virtuel mur igen og igen, som da jeg valgte at være Oddjob i det Goldeneye-spil. .? ”(FYI, at analogien blev trukket ud fra personlig erfaring).

Derfor besluttede jeg at starte denne guide - for at hjælpe andre begyndere som mig selv med at få en bedre forståelse af, hvad udviklerteknologier er derude, og hvordan de kan prøve dem.

Serverless

Det er det, jeg er virkelig interesseret i. Hvis du er en erfaren udvikler og kender dine ting, så hører du måske ordet Serverløst og siger, at konceptet har været omkring år. Nå ja, det har dog nu, hvor mikroservicearkitekturen er blevet mere og mere nyttig for virksomheder, der ønsker at nedbryde deres forretningsdrift, og med tjenester som Azure-funktioner, Oracle-funktioner og Google-skyfunktioner, der gør automatiseringen af ​​nævnte forretningsdrift lettere - måske er det tid for den nye generation af spirende udviklere at begynde at lære om serverløs arkitektur dejlig og tidligt i deres karriere.

Denne tutorial giver dig et kig på en container-oprindelig platform - Oracle's Fnproject og giver dig mulighed for at påkalde din første HelloWorld-funktion ved hjælp af WSL (Windows Sub Linux).

Fn-platformen hjælper dig med at udvikle dig lokalt, men giver dig også mulighed for at bruge ethvert sprog, du kan lide, og afprøve en serverløs tilgang med tonsvis af forskellige softwareapplikationer nede på linjen - Åh, og det er open source.

Efter at have gennemført denne gennemgang går jeg videre til at lære og dele, hvordan man bruger Fn-platformen i den offentlige sky - så vi kan udvikle sig overalt (fantastisk til fremtidige udviklingsprojekter).

Du kan bruge disse gratis skykreditter til at vænne dig til det, inden vores næste gennemgang.

Hvorfor Fn?

  • Det er ikke bundet til nogen sky-leverandør
  • Det kan hostes i ethvert skymiljø, der understøtter Docker
  • Du kan køre platformen på dit lokale udviklingssystem eller udvikle dine funktioner fuldstændigt sky-agnostisk
  • Derefter tester du dem på dit lokale system, og hvis de kører der, vil de køre på ethvert system
  • Det understøtter ethvert programmeringssprog

Kom godt i gang

  1. Installation

Installer den nyeste version af Docker på din Windows-maskine. Du kan gøre dette her.

Dernæst er det tid til at installere Fn.

curl - LSs https://raw.githubusercontent.com/fnproject/cli/master/install | sh

2. Fn CLI

Hvis du vil se på dette, skriv Fn-kommandoerne bare fn. Hvis du bruger andre mere daterede tutorials til Fn, kan du muligvis opleve, at nogle kommandoer ikke fungerer - dette skyldes, at CLI blev opdateret for nylig. Hvis du får fejlmeddelelser, mens du følger forskellige tutorials, kan du kigge gennem denne vejledning om, hvad der er ændret.

Fn CLI

3. Funktioner

Fn-platform giver dig mulighed for at udføre funktioner på ethvert sprog, og denne artikel fokuserer på Java-funktioner. Fn CLI-værktøjet giver dig mulighed for nemt at generere en standardfunktion og en standardkonfigurationsfil kaldet fn initwhich forårsager oprettelsen af ​​en ny funktions runtime java

runtime java specificerer en Java-skabelon, der skal bruges, og et Maven-projekt genereres.

pom.xml

Du vil også se en func.yamlfile er oprettet, der indeholder meta-oplysninger.

func.yaml

func.yaml har oplysninger, som er nødvendige for Fn-platformen for at oprette et Docker-billede, der holder din funktion. Den vigtigste post i filen ses nedenfor.

handleRequest

Denne post angiver, at når funktionen kaldes, vil metoden handleRequest (i com.example.fn.HelloFunction-klassen) blive aktiveret. Fn init-kommandoen har oprettet denne klasse allerede i standardskabelonen. Hvis du går til / javafn / src / main / java / com / eksempel / fn, skal du åbne HelloWorld.java-filen i nano, kan du se Java-klassen.

HelloWorld.java

4. Kørsel af en funktion

Nu hvor skabeloner er konfigureret, lad os køre vores første funktion med Fn.

  • Åbn et andet vindue
  • Skriv fn start - Outputet på skærmen herunder viser os, at Fn-serveren nu kører
fn start
  • Kontroller derefter output fra cat func.yaml for at sikre dig, at når du påkalder funktion, har du det rigtige navn.
  • Gå tilbage til det originale vindue, og indtast typefn til at demonstrere javafn

Dette skal være din output

fn påberåbe sig

Værsgo! Du har lige påberåbt din første funktion med Fn. En meget enkel start i vores rejse med at lære om udviklerværktøjer.

Nogle ekstramateriale

Et problem jeg stødte på

Kan ikke oprette forbindelse til Docker-dæmonen ved unix: ///var/run/docker.sock. Kører docker-dæmonen?

Hvis du bruger WSL, og fejlmeddelelsen ovenfor dukker fortsat op, skal du sørge for at have Docker installeret på dit Windows-system, derefter gå til Docker-indstillinger, derefter Generelt, og du skal sørge for, at dette felt er markeret: “Udsæt daemon på tcp: // localhost: 2375 uden TLS ”

Gå nu tilbage til terminalen og trydocker køre-hej verden. Dette skal du se.

Docker-dæmon fix

For at gøre dette permanent - udfør trinnet nedenfor, som jeg fandt her. Eksporter en miljøvariabel, der instruerer Docker, hvor den finder værtsmotoren.

ekko "eksport DOCKER_HOST = 'tcp: //0.0.0.0: 2375'" >> ~ / .bashrc
kilde ~ / .bashrcReferences

Deltag i vores community Slack og læs vores ugentlige Faun-emner ⬇

Hvis dette indlæg var nyttigt, skal du klikke på klappen knappen nedenfor et par gange for at vise din støtte til forfatteren! ⬇