AWS Lambda on Amazonin tarjoama tapahtumapohjainen, palvelimeton laskenta-alusta, joka on osa Amazon Web Services -palvelua.Tämä palvelu suorittaa koodia vastauksena tapahtumiin ja hallinnoi automaattisesti tarvittavia laskentaresursseja. Se otettiin käyttöön marraskuussa 2014.
Kuulostaako hyvältä? Ei Ruby-kehittäjille. 29. marraskuuta 2018 asti Ruby ei ollut tuettu serverless-vallankumouksen aloittamiseen. Mutta sitten tuli Jets, ja kaikki on muuttunut.
Kuten Ruby on Jetsin virallisella verkkosivustolla ylpeästi sanotaan:
"Ruby on Jetsin avulla voit luoda ja ottaa käyttöön palvelimettomia palveluita helposti ja liimata AWS-palvelut saumattomasti yhteen kauneimman dynaamisen kielen avulla: Ruby. Se sisältää kaiken, mitä tarvitset API:n rakentamiseen ja sen käyttöönottoon AWS Lambdaan. Jets hyödyntää Rubyn voimaa, jotta serverless olisi ilahduttavaa kaikille"
Työskentely Jetsin kanssa, erityisesti sellaiselle, jolla on jonkinlaista kokemusta Railsista tai Sinatrasta, on suhteellisen helppoa ja miellyttävää.
Todistaaksemme sen, tässä artikkelissa rakennamme yksinkertaisen palvelimettoman sovelluksen.
Valmiina?
Rakennushakemus
Aiomme luoda hyvin yksinkertaisen Jets-sovelluksen. Tämä antaa meille perustietoa siitä, miten luodaan reittejä, ohjaimia ja toimintoja sekä miten AWS Lambdaan otetaan käyttöön. Pitääksemme asian yksinkertaisena ja helppona käytämme vain yhtä päätepistettä, joka palauttaa satunnaisen Chuck Norris -vitsin.
Asennus
Asennetaan ensin Jets-jalokivi globaalisti. Kirjoita konsoliin:
Luo sitten uusi Jets projekti kanssa:
(Asetuksia -mode api ja -no-database ei tarvita, se vain nopeuttaa asennusta hieman, koska emme tarvitse mitään tietokantaa tai näkymiä.))
Suorita nyt chuck-norris-jokes-hakemistossasi:
Sisäänkirjautuminen localhost:8888
selaimessasi, sinun pitäisi nähdä jotain tällaista:
Jos näet tämän - onnittelut, olet tehnyt kaiken oikein!
Ohjain ja reitit
Seuraavaksi luomme ensimmäisen Jets-ohjaimen.
Kirjoita konsoliin:
Tämä luo JokesControllerimme, jonka sisällä on yksi toiminto - create. Oletusarvoisesti Jets luo toiminnolle "get"-tyyppisen reitin, joten meidän on muutettava sitä.
Osoitteessa routes.rb tiedoston muutos hae "jokes/create" osoitteeseen postitse 'vitsejä', to: "jokes#create".
Pyynnön noutaminen
Jos haluamme hakea Chuck Norrisin juttuja, meidän on soitettava John Doe Api -palveluun. Sitten vastaamme jsonilla, joka sisältää haetun vitsin.
Testaus paikallisesti
Voimme ajaa tämän paikallisesti testataksemme, että saamme odotetun vastauksen. Teemme POST-pyynnön paikalliselle palvelimellemme käyttämällä komentoa curl
.
(Varo: varmista, että palvelimesi on edelleen käynnissä).
Ota käyttöön
Jos sinulla on AWS-tili, jolla on asianmukaiset käytännöt (löydät ne Jetsin virallisesta dokumentaatiosta), viimeinen asia, joka sinun tarvitsee tehdä, on yksinkertaisesti suorittaa:
Tämä lataa sovelluksemme AWS:ään.
Kun käyttöönotto on valmis, saat API-porttisi päätepisteen (todennäköisesti konsolin viimeisellä rivillä).
Testaa AWS Lambda -sovelluksesi
Nyt on vihdoin aika testata käyttöönotettua sovellusta!
Voimme tehdä tämän käyttämällä curlia uudelleen, mutta nyt korvaten localhostin API-portin päätepisteellä, jonka saimme.
Yhteenveto
Siinä kaikki! Toivottavasti nautitte tästä lyhyestä katsauksesta Ruby on Jets ja serverless maailmaan.
Lue lisää: