Aiotko aloittaa uuden projektin tai ehkä olet aikeissa kehittää joitakin uusia ominaisuuksia? Ennen kuin ryhdyt mihinkään toimiin, kannattaa ottaa mahdollisimman paljon selvää erilaisista ulkoisista työkaluista, joista voi olla sinulle hyötyä.
Kaksi perus ja luultavasti suosituinta AWS-palvelua ovat EC2 ja S3. Lyhyesti sanottuna: EC2:n avulla voit perustaa oman projekti ja näyttää sen maailmalle, kun taas S3:a käytetään kaikenlaisten tietojen tallentamiseen. Tässä artikkelissa haluaisin kuitenkin tarkastella muita enemmän tai vähemmän suosittuja AWS-työkaluja, joita käytämme yleensä täällä Codestissa.
Cloudfront
Se on työkalu, joka on erityisesti luotu erittäin nopeaa resurssien toimittamista varten monille käyttäjille. Ja monet ei tarkoita satoja tai tuhansia vaan miljoonia pyyntöjä yhdelle resurssille. Haluat esimerkiksi sallia grafiikan, css-, html- tai javascript tiedosto millä tahansa sivulla. Haluat myös vaikuttaa resurssin tarjoamaan sisältöön - sinun on muutettava jotakin ja haluat, että tämä muutos tapahtuu kaikilla sivuilla, joilla tiedostosi on. Ja tässä tulee AWS Cloudfront kaikkine mahdollisuuksineen, joiden ansiosta loppukäyttäjä saa resurssisi mahdollisimman nopeasti.
Cloudfront tarjoaa myös useita tilastoja. Esimerkiksi - sivut, joita on pyydetty eniten, laitteet, joilla resurssipyyntö on tehty, http-tilat jne.
Tämä työkalu on tietysti melko kallis, mutta mitä enemmän pyyntöjä Cloudfrontille tehdään, sitä vähemmän maksat palvelusta. Siksi sinun kannattaa harkita tätä ratkaisua, jos haluat sijoittaa resurssin verkkosivustoille, joilla on todella suuri tai jopa valtava liikenne.
Erä
Yksinkertaistettuna se on palvelu, jonka avulla voidaan suorittaa suuri määrä töitä suoraan AWS:ssä. Sinun tarvitsee vain valmistella suoritusskripti ja docker-kuva, ja AWS Batch hoitaa loput. Batch luo dynaamisesti instansseja EC2:ssa, varaa sopivan paikan töille ja käynnistää ne samanaikaisesti. Sinun ei tarvitse huolehtia siitä, että EC2-instanssistasi loppuu tila tai muisti tai että sinun täytyy jatkuvasti miettiä, milloin ja miten työ voidaan käynnistää. Docker-kuvassa olevan skriptin ja palvelusi välistä viestintää varten voit vain luoda API:n ja siitä se lähtee. Jos haluat käyttää Batchia, sinun on myös valmisteltava docker-varastosi Amazon Elastic Container Registry (ECR) -palvelussa.
Mainitsemisen arvoinen on myös toinen palvelu, joka hyötyy telakointipakkauksista. Sen nimi on Elastic Container Service (ECS). Sen tärkein ero Batchiin verrattuna on se, että sinun on itse perustettava ja skaalattava EC2-instanssi, kun taas Batch tekee kaiken työn puolestasi. Batchin kustannukset riippuvat siitä, mitä EC2-instansseja saa käyttää, sillä tässä tapauksessa maksat vain käynnissä olevista instansseista.
Lambda
AWS Batch tekee työn käynnistämällä docker-kuvia, kun taas seuraava palvelu - AWS Lambda - mahdollistaa skriptin suoran suorittamisen. Sinun ei tarvitse perustaa mitään palvelinta, vaan palvelun koodi suoritetaan virtuaalisesti, ja mikä parasta, voit myös palauttaa jonkin arvon haluamallasi tavalla.
Milloin sitä voidaan käyttää? Oletetaan, että haluat tehdä verkkosivustollamme joitakin laskutoimituksia selaimen parametrien perusteella, ja ehkä nämä laskutoimitukset vaativat lisäksi joitakin lisäkyselyjä muihin verkko-osioihin. Tässä tapauksessa sinun tarvitsee vain luoda päätepiste Lambdassa, lisätä skriptisi ja käyttää tätä päätepistettä verkkosivustolla. Se on todella helppoa.
Lambda-kustannukset lasketaan vain silloin, kun komentosarja on käynnissä; kun päätepistettä ei käytetä, et maksa mitään.
SNS
Simple Notification Service on nimensä mukaisesti erityisesti ilmoitusten lähettämiseen kehitetty työkalu. Sitä voidaan helposti käyttää eri AWS-palveluiden väliseen viestintään. Sinulla on esimerkiksi joukko mikropalveluja ja haluat, että yksi niistä johtaa muita - käynnistää joitakin niistä tai suorittaa joitakin toimintoja. Tässä nimenomaisessa tapauksessa voit lähettää ilmoituksen pääpalvelusta ja hoitaa viestien vastaanottamisen toisessa haluamassasi mikropalvelussa. Muuten kannattaa mainita myös Amazon Simple Queue Service (SQS), joka voi luoda erittäin mielenkiintoisen yhteyden yhdessä SNS:n kanssa.
SNS:n (samoin kuin SQS:n) tapauksessa maksu suoritetaan vain suoritetuista pyynnöistä: viestien lähettämisestä SNS:ään, viestien lähettämisestä SNS:stä muihin palveluihin ja muista SNS:n API-poolin lisäpyynnöistä.
RDS
Amazon Relational Database Service on vain ulkoinen tietokanta. Tämän palvelun avulla AWS mahdollistaa relaatiotietokannan helpon käyttöönoton, käytön ja skaalaamisen. Jos esimerkiksi oletat, että tietokantasi koko on melko huomattava ja kasvaa päivä päivältä enemmän ja enemmän ja jos aiot suorittaa sen avulla säännöllisesti enemmän tai vähemmän monimutkaisia toimintoja, esimerkiksi käsitellä ja kopioida tietoja toiseen tietokantaan, tätä ratkaisua kannattaa harkita. Saatavilla olevia tietokantamoottoreita ovat PostgreSQL, MySQL ja MariaDB.
On helppo arvata, että RDS-kustannukset liittyvät tietokannan kokoon ja sen käyttöön, joten on vaikea sanoa, tuleeko se kovin kalliiksi vai ei.
Yhteenveto
AWS muuttuu jatkuvasti, olipa kyse sitten olemassa olevien palvelujen parantamisesta tai uuden luomisesta. Ei ole vain suotavaa pitää itsensä ajan tasalla niiden teknisistä innovaatioista, vaan myös tutustua jo olemassa oleviin asioihin.
Hyödyllisiä linkkejä