Hajde da Fn kodiramo: Vodič za početnike

Fotografiju Luca Bravo na Unsplash

Pisanje koda nije lako. Čini se da ni jedno nije drugo što bi trebalo biti posljednja stvar koja pada na pamet bilo kojem programeru kad sjednu za stvaranje rješenja.

Tamo je puno alata za razvojne programere, ali uvijek je teško provući se kroz buku i naći nešto jednostavno za početak.

Kao netko tko neprestano uči oblačnu tehnologiju, često se zapitam kako svi drugi nešto razumiju, a ipak sam i dalje zaglavljen u virtualnom zidu iznova i iznova, kao kad bih u toj Goldeneye igri odlučio da budem Oddjob. .? "(FYI da je analogija izvučena iz osobnog iskustva).

Zato sam odlučio pokrenuti ovaj vodič - kako bih pomogao ostalim početnicima poput mene da steknu bolje razumijevanje o tome koje su programere za programere tu i kako ih mogu isprobati.

serverless

To je ono što me jako zanima. Ako ste iskusni programer i znate svoje stvari, možda ćete čuti riječ Serverless i reći da je koncept već godinama. Pa da, sad je, međutim, sada kada je arhitektura mikroservisa postala sve korisnija za tvrtke koje žele prekinuti svoje poslovanje, te uslugama poput funkcija Azure, Oracle Functions i Google cloud funkcija koje automatizaciju navedenih poslovnih procesa olakšavaju - možda je došlo vrijeme da nova generacija naprednih programera počne lijepo učiti o arhitekturi bez servera i to rano u karijeri.

Ovaj će vam vodič dati pregled izvorne platforme spremnika - Oracle-ov Fnproject i omogućiti vam da pozovete svoju prvu HelloWorld funkciju pomoću WSL (Windows Sub Linux).

Fn platforma pomoći će vam lokalno razvijati, ali također će vam omogućiti korištenje bilo kojeg jezika koji želite i isprobati pristup bez poslužitelja s tonama različitih softverskih aplikacija nizvodno - Oh, i to je open-source.

Nakon dovršetka ovog koraka, preći ću na učenje i dijeljenje kako koristiti Fn platformu u javnom oblaku - kako bismo se mogli razvijati bilo gdje (izvrsno za buduće razvojne projekte).

Možete koristiti ove besplatne kreditne oblake da biste se navikli prije našeg sljedećeg koraka.

Zašto Fn?

  • Nije vezan ni za jednog dobavljača oblaka
  • Može ga ugostiti u bilo kojem oblaku koji podržava Docker
  • Možete pokrenuti platformu na svom lokalnom razvojnom sustavu ili razvijati svoje funkcije u potpunosti oblačno-agnostičke
  • Zatim ih testirate na vašem lokalnom sustavu, a ako se pokrenu tamo, pokrenut će se na bilo kojem sustavu
  • Podržava svaki programski jezik

Početak

  1. Instaliranje

Instalirajte najnoviju verziju Dockera na svoj Windows uređaj. To možete učiniti ovdje.

Zatim je vrijeme za instaliranje Fn-a

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

2. Fn CLI

Ako želite ovo pogledati, Fn naredbe samo upišite fn. Također, ako za Fn koristite druge datirane udžbenike, otkrit ćete da neke naredbe ne rade - to je zato što je CLI nedavno ažuriran. Ako vam se prikaže poruka o pogrešci dok pratite različite vodiče, pogledajte ovaj vodič o tome što se promijenilo.

Fn CLI

3. Funkcije

Fn platforma omogućuje vam izvršavanje funkcija na bilo kojem jeziku, a ovaj se članak fokusira na funkcije Java. Alat Fn CLI omogućava vam jednostavno generiranje zadane funkcije, a zadana konfiguracijska datoteka pod nazivom fn initwich koja uzrokuje stvaranje nove funkcije rada Java

vrijeme izvođenja Java određuje Java predložak koji se koristi i generira se projekt Maven.

pom.xml

Vidjet ćete i func.yamlfile koji sadrži meta informacije.

func.yaml

func.yaml sadrži podatke potrebne za Fn platformu za stvaranje slike Docker koja drži vašu funkciju. Najvažniji unos u datoteku vidi se u nastavku.

handleRequest

Ovaj unos kaže da će se, kada se funkcija poziva, pozvati metoda handleRequest (u klasi com.example.fn.HelloFunction). Naredba fn init stvorila je ovu klasu već u zadanom predlošku. Ako idete u / javafn / src / main / java / com / example / fn, a zatim otvorite HelloWorld.java datoteku nano, možete vidjeti klasu Java.

HelloWorld.java

4. Izvođenje funkcije

Sad kad su predloške postavljene, pokrenimo prvu funkciju s Fn.

  • Otvori drugi prozor
  • Unesite fn start - izlaz na zaslonu ispod pokazuje da se Fn poslužitelj sada pokreće
fn start
  • Zatim provjerite izlaz cat func.yaml da biste bili sigurni da prilikom pozivanja funkcije imate ispravno ime.
  • Vratite se na izvorni prozor i upišite demo javafn

Ovo bi trebao biti vaš izlaz

fn prizivati

Izvoli! Upravo ste se pozvali na prvu funkciju pomoću Fn. Vrlo jednostavan početak našeg putovanja, učenje o alatima za razvojne programere.

Neki dodaci

Problem s kojim sam se susreo

Ne mogu se povezati s Docker demonom na unixu: ///var/run/docker.sock. Je li pokrenut demon dacker?

Ako koristite WSL, a gornja poruka pogreške stalno se pojavljuje, provjerite je li Docker instaliran na vašem Windows sustavu, idite na postavke Docker, pa General, i morate biti sigurni da je ovaj okvir označen: "Expose daemon on tcp: // localhost: 2375 bez TLS-a ”

Vratite se na terminal i trydocker run-hello svijetu. To bi trebalo vidjeti.

Docker demon popraviti

Da ovo učinim trajnim - izvršite korak ispod kojeg sam ovdje pronašao. Izvozite varijablu okruženja koja upućuje Dockera da pronađe glavni motor.

echo "izvoz DOCKER_HOST = 'tcp: //0.0.0.0: 2375'" >> ~ / .bashrc
izvor ~ / .bashrcReferences

Pridružite se našoj zajednici Slack i čitajte naše tjedne Faun teme ⬇

Ako je ovaj post bio od pomoći, molimo kliknite gumb pp nekoliko puta ispod da pokažete autoru svoju podršku! ⬇