Laravel Cloud vai oma palvelin Forgella? Milloin kumpikin kannattaa
Laravel Cloud hoitaa palvelimet puolestasi, Forgella hallitset omaa palvelinta. Vertailen, kumpi sopii millaiseenkin Laravel-sovellukseen.
Laravel-sovelluksen voi ajaa kahdella Laravelin omalla tavalla: Laravel Cloudissa, joka on täysin hallinnoitu alusta, tai omalla palvelimella, jota hallitaan Laravel Forgella. Suosittelen nykyään useimpiin uusiin sovelluksiin Laravel Cloudia, koska palvelimen ylläpito jää kokonaan pois. Forge on edelleen hyvä valinta, kun tarvitaan täyttä hallintaa palvelimesta, sovellus pyörii jatkuvasti täydellä kuormalla tai data pitää sijoittaa tiettyyn maahan.
Mikä ero Laravel Cloudilla ja Forgella on?
Ero on siinä, kuka omistaa palvelimen ja vastaa siitä.
- Laravel Cloud on alusta, jossa et näe palvelinta lainkaan. Yhdistät koodivaraston, valitset alueen ja resurssit ja Cloud hoitaa ajoympäristön, skaalauksen, tietokannat, jonot ja SSL-varmenteet. Taustalla on Amazonin AWS.
- Forge on hallintatyökalu omalle palvelimelle. Palvelin vuokrataan esimerkiksi DigitalOceanilta, Hetzneriltä tai AWS:ltä ja Forge asentaa ja konfiguroi sen, hoitaa julkaisut ja SSL-varmenteet. Palvelin on silti sinun ja käyttöjärjestelmän päivitykset, levytila ja valvonta ovat sinun vastuullasi.
Milloin Laravel Cloud kannattaa?
Kun et halua ylläpitää palvelinta. Tämä on Cloudin suurin etu. Käyttöjärjestelmän päivityksiä, PHP-version vaihtoa tai levyn täyttymistä ei tarvitse seurata.
Kun kuorma vaihtelee. Cloud skaalautuu kuorman mukaan ja pienet sovellukset voivat mennä lepotilaan, kun käyttäjiä ei ole. Silloin laskutetaan vain siitä ajasta, kun sovellus on käytössä. Tämä sopii hyvin esimerkiksi sisäisiin työkaluihin, joita käytetään vain virka-aikaan.
Kun tarvitaan esikatseluympäristöjä. Cloud voi luoda jokaiselle kehityshaaralle oman ympäristön, jossa muutoksen voi testata ennen julkaisua.
Kun tietokanta saa olla hallinnoitu. Cloudissa on valmiina MySQL ja serverless-PostgreSQL, välimuisti ja jonot. Niitä ei tarvitse asentaa tai varmuuskopioida itse.
Milloin oma palvelin Forgella on parempi?
Kun tarvitaan täyttä hallintaa. Omalle palvelimelle voi asentaa mitä tahansa: erikoisia PHP-laajennuksia, omia taustapalveluita tai muita kuin Laravel-sovelluksia samalle koneelle.
Kun data pitää sijaita tietyssä maassa. Laravel Cloudin lähimmät alueet ovat Frankfurtissa, Irlannissa ja Lontoossa. Jos asiakkaan vaatimus on, että data pysyy Suomessa, palvelin voidaan vuokrata esimerkiksi Hetznerin Helsingin konesalista ja hallita sitä Forgella.
Kun kuorma on tasainen ja suuri. Jos sovellus on jatkuvasti täydessä käytössä, kiinteähintainen oma palvelin voi tulla edullisemmaksi kuin käyttöön perustuva laskutus. Tämä kannattaa laskea tapauskohtaisesti.
Kun samalla palvelimella on monta pientä sivustoa. Forgella yhdelle palvelimelle voi sijoittaa useita sovelluksia ja kustannus jakautuu niiden kesken.
Miten hinnoittelu eroaa?
Laravel Cloudissa maksetaan kuukausimaksu ja sen päälle käytöstä: laskentatehosta, tietokannasta, tallennustilasta ja tiedonsiirrosta. Kuukausikulutukselle voi asettaa ylärajan, jolloin lasku ei voi yllättää. Forgessa maksetaan kiinteä kuukausimaksu Forgelle ja erikseen palvelimen vuokra palveluntarjoajalle.
Hinnat muuttuvat, joten tarkista ajantasaiset hinnat Laravel Cloudin ja Forgen sivuilta. Pienelle sovellukselle, joka on suurimman osan ajasta lepotilassa, Cloud on yleensä halvempi. Jatkuvasti kuormitetulle sovellukselle oma palvelin voi olla edullisempi, mutta siihen pitää lisätä oma ylläpitotyö.
Mitä siirto Cloudiin vaatii käytännössä?
Jos sovellus siirretään omalta palvelimelta Laravel Cloudiin, käyn läpi ainakin nämä:
- Tiedostot. Käyttäjien lataamat tiedostot eivät voi olla palvelimen levyllä, koska Cloudin palvelimet vaihtuvat. Ne siirretään objektitallennukseen.
- Ajastetut tehtävät ja jonot. Ne määritellään Cloudin asetuksissa palvelimen cron-ajojen sijaan.
- Tietokanta. Tietokanta siirretään hallinnoituun tietokantaan ja samalla tarkistetaan, toimiiko sovellus myös PostgreSQL:llä, jos vaihdetaan MySQL:stä.
- Palvelimelle asennetut lisät. Jos sovellus käyttää jotain palvelimelle erikseen asennettua ohjelmaa, sille pitää löytää korvaaja.
Mitä minä valitsen?
Uudessa projektissa lähtöoletukseni on Laravel Cloud. Säästetty ylläpitotyö on yleensä arvokkaampaa kuin mahdollinen ero kuukausilaskussa. Valitsen Forgen, kun jokin yllä mainituista syistä painaa: datan sijainti, erikoisvaatimukset tai tasainen suuri kuorma.
Vanhaa sovellusta ei kannata siirtää vain siirtämisen vuoksi. Jos oma palvelin toimii ja sitä ylläpidetään, siirto Cloudiin kannattaa yleensä vasta, kun palvelin pitäisi muutenkin uusia.
Molemmissa vaihtoehdoissa autan valinnassa, käyttöönotossa ja ylläpidossa. Lisää Laravel- ja palvelinpalveluista.
Usein kysyttyä
Voiko sovelluksen siirtää Forgesta Laravel Cloudiin myöhemmin?
Voi. Laravel-sovellus toimii molemmissa samalla koodilla. Siirrossa pitää huomioida tietokannan, tiedostojen ja ympäristömuuttujien siirto sekä se, käyttääkö sovellus jotain palvelimelle erikseen asennettua, jota Cloudissa ei ole.
Onko Laravel Cloud serverless-palvelu?
Ei samalla tavalla kuin esimerkiksi Laravel Vapor. Cloud ajaa sovellusta tavallisilla palvelimilla, jotka se hallitsee puolestasi ja skaalaa kuorman mukaan. Pienet sovellukset voivat kuitenkin mennä lepotilaan ja herätä seuraavasta pyynnöstä.
Toimiiko WordPress Laravel Cloudissa?
Laravel Cloud on tehty Laravel- ja Symfony-sovelluksille, ei WordPressille. WordPress-sivustoille suosittelen WordPressiin erikoistunutta hallinnoitua hostingia, kuten Seravoa.
Tarvitsetko apua?
Kerro, mitä tarvitset, niin mietitään yhdessä, miten asia kannattaa hoitaa.