Mikä on palvelin? Selkeä opas sovellusten rakentajille
Palvelin on tietokone tai ohjelma, joka toimii tietokoneella ja odottaa pyyntöjä ja vastaa niihin. Kun avaat verkkosivun, selaimesi (asiakas, client) lähettää pyynnön internetin yli, ja jokin palvelin jossain lähettää takaisin sivun, kuvat tai tiedot. Jokainen käyttämäsi sovellus sähköpostista verkkopankkiin nojaa palvelimiin, jotka tekevät tätä miljoonia kertoja päivässä.
Miksi palvelimet ovat tärkeitä, kun rakennat tekoälyllä
Kun tekoälysovellusrakentaja tekee sinulle sovelluksen, osa koodista ajetaan kävijän selaimessa ja yleensä osa palvelimella. Palvelinosa tekee asioita, joihin selainta ei voi luottaa tai joita se ei pysty tekemään yksin:
- Tietojen tallennus ja lataus tietokannasta.
- Salaisuuksien pitäminen, kuten maksu- ja tekoälypalveluntarjoajien API-avaimet, joiden ei koskaan pidä päätyä selaimeen.
- Oikeuksien tarkistus, eli sen varmistaminen, että käyttäjä näkee ja muuttaa vain omia tietueitaan.
- Muiden palvelujen kanssa puhuminen: kortin veloittaminen, sähköpostin lähettäminen, tekoälymallin kutsuminen.
Palvelimen tehtävän ymmärtäminen auttaa hahmottamaan, missä sovelluksesi säännöt todella asuvat, miksi jotkut muutokset vaativat uudelleenjulkaisun ja mitä maksat, kun hostaat sovelluksen. Kahden puolen jaosta kerrotaan artikkelissa käyttöliittymä vs. backend.
Arkinen vertauskuva
Palvelin on kuin postitoimiston luukun henkilökunta. He eivät lähde etsimään asiakkaita, vaan odottavat. Asiakas (client) tulee luukulle pyynnön kanssa, kuten ”lähetä tämä paketti” tai ”onko minulle postia?”. Virkailija hoitaa asian ja antaa tuloksen takaisin. Yksi virkailija voi palvella monta asiakasta peräkkäin, ja vilkkaassa postitoimistossa avataan lisää luukkuja.
Postitoimistolla on myös sääntöjä, joita asiakas ei voi ohittaa: paketin noutamiseen tarvitaan henkilöllisyystodistus. Sovelluksessa palvelimen tehtävä on sama. Selain voi pyytää mitä tahansa, mutta palvelin päättää, mitä se saa.
Miten pyyntö päätyy palvelimelle
Kun joku vierailee osoitteessa https://bookings.example.com/schedule:
- DNS-haku. Selain kysyy domain name systemiltä, mihin IP-osoitteeseen
bookings.example.comosoittaa. Katso miten domainit ja DNS toimivat. - Yhteys. Selain yhdistää tuohon osoitteeseen portissa 443 HTTPS:lle ja muodostaa salatun yhteyden. Katso mikä HTTPS ja SSL on.
- Pyyntö. Se lähettää HTTP-pyynnön:
GET /schedule. - Työ. Palvelin ajaa koodin, joka käsittelee polun
/schedule, esimerkiksi hakee tämän päivän varaukset tietokannasta. - Vastaus. Se lähettää takaisin tilakoodin (
200 OK) ja sisällön: HTML-sivun tai JSON-tiedot, jotka sivu näyttää.
Kaikki tämä kestää yleensä murto-osan sekunnista.
Palvelintyyppejä, joista kuulet
| Termi | Mitä se tarkoittaa |
|---|---|
| Verkkopalvelin | Ohjelma, joka vastaa HTTP-pyyntöihin lähettämällä tiedostoja tai välittämällä pyyntöjä sovelluksesi koodille. |
| Sovelluspalvelin / backend | Oma koodisi palvelimella: API, joka hoitaa varaukset, kirjautumiset ja maksut. |
| Tietokantapalvelin | Palvelin, jonka tehtävä on tallentaa ja hakea tietoja, kuten Postgres-tietokanta, johon sovelluksesi puhuu. |
| Tiedosto- / staattinen palvelin | Lähettää valmiita tiedostoja (HTML, kuvat, skriptit) ilman omaa koodia jokaiselle pyynnölle. |
| Fyysinen palvelin | Oikea kone konesalin telineessä. |
| Virtuaalikone (VM) / VPS | Siivu fyysisestä koneesta, joka toimii kuin oma tietokoneensa. |
| Kontti (container) | Kevyempi paketti sovelluksesta ja kaikesta tarvittavasta, ajettuna jaetulla koneella. Monet alustat julkaisevat sovellukset näin. |
| Palvelimeton (serverless) | Lataat koodin, ja palveluntarjoaja ajaa sen tarpeen mukaan palvelimilla, joita et itse hallitse. Katso mitä serverless tarkoittaa. |
Huomaa, että ”palvelin” tarkoittaa sekä konetta että ohjelmaa. ”Palvelin kaatui” voi tarkoittaa kumpaa tahansa.
Esimerkki: kampaamon varaussovellus
Tässä on se, mitä palvelin tekee pienessä kampaamon varaussovelluksessa:
- Kävijä avaa sivuston. Palvelin (tai sen edessä oleva CDN) lähettää sivun tiedostot.
- Sivu kysyy palvelimelta
GET /api/slots?date=2026-10-03. Palvelin kysyy tietokannalta vapaat ajat ja palauttaa ne JSON-muodossa. - Kävijä varaa klo 14:00. Sivu lähettää
POST /api/bookings. Palvelin tarkistaa, että aika on yhä vapaa, ei luota selaimen sanaan, tallentaa varauksen ja palauttaa201 Created. - Palvelin kutsuu sähköpostipalvelua palvelimella säilytettävällä salaisella avaimella ja lähettää vahvistuksen.
Jos sammuttaisit palvelimen, sivu voisi yhä latautua CDN:stä, mutta se ei voisi näyttää aikoja tai tallentaa varauksia.
Mitä palvelin tarvitsee toimiakseen hyvin
- Muisti (RAM) ja prosessori (CPU). Liian vähän muistia, ja sovellus kaatuu kuormituksessa. Liian vähän prosessoritehoa, ja se hidastuu.
- Käynnissä olo. Sammutettu palvelin ei voi vastata. Jotkut alustat nukuttavat käyttämättömät sovellukset ja herättävät ne seuraavalla vierailulla. Tämä säästää rahaa, mutta ensimmäinen pyyntö voi olla hitaampi.
- Asetukset ja salaisuudet, annettuna ympäristömuuttujina.
- Lokit, eli palvelimen kirjanpito siitä, mitä tapahtui. Niistä katsot ensimmäisenä, kun jokin hajoaa.
- Päivitykset ja tietoturvakorjaukset, joista hallittu hosting huolehtii puolestasi.
Yleisiä väärinkäsityksiä
- „Pilvessä ei ole palvelimia.” Pilvi on muiden yritysten palvelimia, joita vuokrataan tunneittain tai käytön mukaan.
- „Palvelin on iso erikoiskone.” Mikä tahansa kone voi toimia palvelimena. Kannettavasi toimii sellaisena, kun avaat
localhostinkehityksen aikana. - „Jos painike on piilotettu, käyttäjät eivät voi tehdä sitä.” Kuka tahansa voi lähettää pyyntöjä suoraan palvelimellesi. Oikeustarkistusten täytyy tapahtua palvelimella, ei pelkästään sivulla.
- „Lisää palvelimia korjaa hitauden.” Usein todellinen syy on hidas tietokantakysely tai ulkoinen API. Etsi pullonkaula ensin.
- „Minun täytyy hallita palvelinta, jotta minulla on sovellus.” Hallitut alustat ajavat palvelimet puolestasi. Julkaiset koodin, ja ne hoitavat koneet.
Mitä kysyä tekoälyrakentajalta
- „Mitkä osat tästä sovelluksesta ajetaan palvelimella ja mitkä selaimessa?”
- „Pidä kaikki API-avaimet palvelimella ja lue ne ympäristömuuttujista.”
- „Tarkista oikeudet palvelimella jokaisessa pyynnössä, joka lukee tai muuttaa tietoja.”
- „Mistä löydän palvelinlokit, ja mitä ne kertovat tästä virheestä?”
- „Tarvitseeko tämä sovellus lainkaan palvelinta, vai voiko se olla staattinen sivusto?”
- „Mitä tapahtuu ensimmäiselle pyynnölle sen jälkeen, kun sovellus on ollut käyttämättömänä?”
Palvelimet Mythexissä
Mythexissa et määritä tai hallitse palvelimia. Rakentaessasi sovelluksesi ajetaan yksityisessä pilvihiekkalaatikossa elävää esikatselua varten. Kun julkaiset, Mythex julkaisee sen: staattiset käyttöliittymät staattisina sivustoina ja backendit (Node, Python, C#, Java ja muut) kontteina, jotka rakennetaan Dockerfilesta. Mitään hostausta ei tarvitse itse määrittää. Mythex valitsee koneen koon käyttöönotossa: oletuksena 1 prosessori ja 512 Mt muistia, ja lisää on saatavilla pyynnöstä (Free-tasolla enintään 1 Gt ja Pro-tasolla enintään 2 prosessoria, 4 Gt ja 3 konetta). Julkaistut sovellukset nukkuvat käyttämättöminä ja heräävät seuraavalla vierailulla, eikä nukkuva sovellus kuluta laskentaa. Lisätietoja löytyy dokumentaation sivuilta API-backendit ja hostauksen rajat. Laajempi kuva löytyy oppaastamme verkkohosting.
Kysymykset
Mikä on palvelin yksinkertaisesti selitettynä?
Palvelin on tietokone tai tietokoneella toimiva ohjelma, joka odottaa muiden laitteiden pyyntöjä ja vastaa niihin. Kun avaat verkkosivun, selaimesi pyytää sivua palvelimelta, ja palvelin lähettää sen takaisin.
Onko palvelin fyysinen kone vai ohjelmisto?
Molempia merkityksiä käytetään. Palvelin voi tarkoittaa fyysistä tai virtuaalista konetta tai sen päällä toimivaa ohjelmaa, joka käsittelee pyyntöjä, kuten verkkopalvelinta. Useimmat nykyiset sovellukset toimivat virtuaalikoneilla tai konteissa pilvipalveluntarjoajan konesalissa eikä omistamallasi laitteistolla.
Tarvitseeko jokainen verkkosivu palvelimen?
Kyllä, jotain täytyy aina lähettää tiedostot kävijälle. Staattinen verkkosivu tarvitsee vain yksinkertaisen tiedostopalvelimen tai CDN:n. Sovellus, joka tallentaa tietoja, hoitaa kirjautumisia tai säilyttää salaisia API-avaimia, tarvitsee myös backend-palvelimen, joka ajaa omaa koodiasi.
Mitä localhost tarkoittaa?
Localhost tarkoittaa ”tätä samaa konetta”. Kehittäjä, joka ajaa sovellusta omalla koneellaan, avaa sen osoitteessa kuten http://localhost:3000. Vain tuo tietokone voi tavoittaa sen. Kukaan muu ei näe sitä ennen kuin se julkaistaan julkiselle palvelimelle.