Blogini käyttää nyt Serverless framework -alustaa AWS-toiminnallisuuden pohjana. Serverless soveltuu mainiosti yksinkertaisiin web-sovelluksiin, jotka rakennetaan yhdistämällä staattinen Amazon S3 -pohjainen HTML-sovellus, Amazon API Gateway -rajapinta sekä Amazon Lambda -taustajärjestelmä. Serverless huolehtii kaikista yksityiskohdista ja julkaisee sovelluksen AWS:ssä CloudFormation-pinona, jolloin se pysyy siististi hallinnassa.

Päädyin käyttämään blogin tietokantaratkaisuna Amazonin SimpleDB:n ja S3:n yhdistelmää. Syynä ratkaisuun oli hinnoittelumalli. SimpleDB:stä maksetaan toteutuneen käytön mukaan, eikä tietokantaresursseja tarvitse provisioida kiinteästi etukäteen DynamoDB:n ja RDS:n tapaan. SimpleDB:ssä on kuitenkin kokorajoituksia, joiden vuoksi osa datasta on tallennettava erikseen S3:een.

Lisäksi sivustollani on nykyään käytössä Let's Encrypt -sertifikaatti SSL-yhteyksiä varten. Nämä sertifikaatit ovat ilmaisia ja ainoa haaste on uusia ne kolmen kuukauden välein. Itse toteutin Amazon Lambda -pohjaisen ajastetun skriptin, joka uusii sertifikaatit itsekseen aina silloin, kun niissä on enää kuukausi voimassaoloaikaa jäljellä.

Suosittelen Let's Encrypt -sertifikaattien automatisointiin letiny-core-pakettia, joka on yksinkertainen Node.js- ja Lambda-yhteensopiva kirjasto kyseiseen tarkoitukseen. Tämä kirjasto sopii käytettäväksi silloin, kun haluaa itse huolehtia Let's Encrypt -tilitietojen, -avainten ja -sertifikaattien tallentamisesta haluttuun paikkaan, kuten esimerkiksi Amazon S3:een ja CloudFrontiin. Muut LE-työkalut haluavat yleensä tallentaa sertifikaatteja paikallisiksi tiedostoiksi, mikä ei istu Lambda-ympäristöön kovin hyvin.

Let's Encrypt -sertifikaattien myötä blogin URL-osoitteet ovat vaihtuneet https-alkuisiksi. Pahoittelen, mikäli se aiheuttaa ongelmia RSS-syötteissä. Juttuja on tosin tullut viime aikoina sen verran harvakseltaan, että vanhat tuskin enää näkyvätkään RSS-lukijoissa.

Published 27.12.2015