AWS Lambda on sündmusepõhine serverivaba arvutusplatvorm, mida Amazon pakub Amazon Web Services'i osana.See teenus käivitab koodi vastuseks sündmustele ja haldab automaatselt kõiki vajalikke arvutiressursse. See võeti kasutusele 2014. aasta novembris.
Kõlab hästi? Rubiini arendajatele mitte. Kuni 29. novembrini 2018 ei toetatud Ruby't, et alustada serverivaba revolutsiooni. Aga siis tuli Jets ja kõik on muutunud.
Nagu ametlikul Ruby on Jets veebilehel uhkelt öeldakse:
"Ruby on Jets" võimaldab hõlpsasti luua ja juurutada serverivabu teenuseid ning liimida sujuvalt kokku AWS teenuseid koos kõige ilusama dünaamilise keelega: Ruby. See sisaldab kõike, mida on vaja API loomiseks ja selle kasutuselevõtmiseks AWS Lambda'sse. Jets kasutab Ruby võimsust, et muuta serverless kõigile rõõmsaks"
Tõepoolest, töö Jetsiga, eriti kellelegi, kes on kuidagi Railsi või Sinatra kogemustega, muutub suhteliselt lihtsaks ja meeldivaks.
Selle tõestamiseks ehitame selles artiklis lihtsa serverivaba rakenduse.
Valmis?
Ehitustaotlus
Mida me teeme, on luua väga lihtne Jets rakendus. See annab meile põhiteavet, kuidas luua marsruute, kontrollereid ja tegevusi ning kuidas AWS Lambda'sse juurutada. Et asi oleks lihtne ja lihtne, kasutame vaid ühte lõpp-punkti, mis tagastab juhusliku Chuck Norris'i nalja.
Paigaldamine
Kõigepealt paigaldame Jets gem globaalselt. Kirjutage oma konsooli:

Seejärel looge uus Jets projekt koos:

(Valikud -mode api ja -no-database ei ole vajalikud, see lihtsalt kiirendab paigaldamist veidi, kuna me ei vaja siin mingeid andmebaase ega vaateid.)
Nüüd, oma chuck-norris-jokes kataloogi jooksma:

Sisestamine localhost:8888
brauseris, peaksite nägema midagi sellist:

Kui see on see, mida sa näed - õnnitlused, sa oled kõik õigesti teinud!
Kontroller ja marsruudid
Mida me nüüd teeme, on meie esimese Jets kontrolleri loomine.
Kirjutage konsooli:

See loob meie JokesController'i, mille sees on üks tegevus - create. Vaikimisi loob Jets tegevuse jaoks "get" tüüpi marsruudi, nii et me peame seda muutma.
Veebilehel routes.rb faili muutmine saada "naljad/loomine" aadressile postitus 'naljad', et: "jokes#create".

Taotluse kättesaamine
Chuck Norrise'i kraami kättesaamiseks tuleb teha kõne John Doe Api'le. Seejärel vastame jsoniga, mis sisaldab hangitud nalja.

Testimine kohapeal
Me võime seda lokaalselt käivitada, et testida, kas me saame oodatud vastuse. Mida me teeme, on teha POST päring meie kohalikule serverile kasutades curl
.
(Ettevaatust: veenduge, et teie server on endiselt töökorras).

Kasutusele
Eeldusel, et teil on AWS-i konto, millel on sobivad poliitikad (need leiate Jetsi ametlikust dokumentatsioonist), on viimane asi, mida peate tegema, lihtsalt käivitada:

See laadib meie rakenduse AWS-i üles.
Kui juurutamine on lõppenud, antakse teile API värava lõpp-punkt (tõenäoliselt konsooli viimane rida).
Testige oma AWS Lambda rakendust
Nii et nüüd on lõpuks aeg testida meie kasutusele võetud rakendust!
Me saame seda teha, kasutades curl uuesti, kuid nüüd asendades localhost API gateway lõpp-punkti, meile anti.

Kokkuvõte
See on kõik, inimesed! Loodan, et teile meeldis see lühike pilk Ruby on Jets ja serverless maailma.
Loe edasi: