Kas yra hostingas? Kaip svetainės ir programėlės pasiekiamos internete
Hostingas – tai jūsų svetainės ar programėlės veikimas kompiuteriuose, kurie visada įjungti ir prijungti prie interneto, todėl ją gali pasiekti bet kas bet kuriuo metu. Hostingo tiekėjas saugo jūsų failus, paleidžia kodą ir siunčia puslapius bei duomenis lankytojų naršyklėms, kai jie to paprašo. Jūsų nešiojamasis kompiuteris techniškai galėtų tai daryti, bet hostingo tiekėjai tai daro patikimai, saugiai ir didelei apimčiai.
Kodėl tai svarbu kuriant su DI
Kai kuriate su DI programėlių kūrimo įrankiu, jūsų programėlė pirmiausia veikia peržiūroje: privačioje kopijoje, kuria galite naudotis jūs (ir galbūt bendradarbiai). Hostingas paverčia ją gyva programėle viešu adresu, kurį gali atidaryti klientai.
Hostingo tipas, kurio jūsų programėlei reikia, priklauso nuo to, ką ji daro. Nukreipimo puslapiui reikia labai mažai. Programėlei su prisijungimais, duomenų baze ir mokėjimais reikia serverio, paleidžiančio jūsų kodą, vietos duomenims saugoti ir HTTPS. Šio skirtumo supratimas padeda pasirinkti kūrimo įrankį, įvertinti veikimo išlaidas ir žinoti, kas nutiks, jei jūsų programėlė staiga sulaukia daug lankytojų – arba jei kada nors norėsite ją perkelti kitur.
Kasdienė analogija
Įsivaizduokite hostingą kaip verslo patalpas.
- Prekystalis – tai statinis hostingas: pigus, greitai įrengiamas, puikiai tinka fiksuotam prekių asortimentui rodyti ir parduoti.
- Bendra biuro erdvė – tai bendrinis hostingas: nuomojatės stalą pastate su daugybe kitų įmonių, dalijatės liftu, internetu ir virtuve. Tai nebrangu, bet triukšmingas kaimynas paveikia ir jus.
- Jūsų paties serviso biuras – tai virtualus privatus serveris (VPS): jūsų erdvė su garantuotais ištekliais, bet atsakote už tai, kas vyksta viduje.
- Jūsų pastatas – tai atskiras serveris: visiška kontrolė ir visiška atsakomybė.
- Valdoma darbo erdvė, kuri auga ir mažėja kartu su komanda – tai debesijos arba platformos hostingas: naudojate tiek, kiek reikia, mokate už tai, ką naudojate, o nuomotojas tvarko priežiūrą.
Jūsų domeno vardas yra adresas ant ženklo. DNS yra žemėlapis, kuris parodo lankytojams, kuriam pastatui priklauso tas adresas.
Hostingo tipai
| Tipas | Kas tai | Tinka | Ką valdote |
|---|---|---|---|
| Statinis hostingas | Teikia fiksuotus failus (HTML, CSS, JavaScript, paveikslėlius), dažnai iš CDN | Nukreipimo puslapiams, portfeliams, rinkodaros svetainėms, tik priekinės dalies programėlėms | Beveik nieko |
| Bendrinis hostingas | Daug svetainių viename serveryje, dažnai su valdymo skydu | Mažoms WordPress ar PHP svetainėms | Kai kuriuos nustatymus |
| VPS | Virtuali mašina su atskirais ištekliais | Pasirinktinėms programėlėms, jei esate patogus valdyti serverį | Operacinę sistemą, saugumo atnaujinimus, diegimus |
| Atskiras serveris | Visa fizinė mašina | Didelėms, stabilioms apkrovoms su specifiniais poreikiais | Viską |
| Platform as a Service (PaaS) | Jūs pateikiate kodą; platforma jį sukuria, paleidžia ir mastelizuoja | Daugumai žiniatinklio programėlių ir API | Savo kodą ir konfigūraciją |
| Serverless | Kodas veikia pagal poreikį kiekvienai užklausai; kai nieko nevyksta, nieko neveikia | Nestabiliam arba mažam srautui, API, foniniams darbams | Savo funkcijas |
Dauguma DI programėlių kūrimo įrankių, kurie talpina už jus, veikia kaip PaaS: paspaudžiate publikavimą, o platforma tvarko serverius, mastelį ir sertifikatus.
Darbo pavyzdys: ką reikia rezervacijų programėlei, kad ji būtų gyva
Paimkime kirpyklos rezervacijų programėlę su viešu rezervacijos puslapiu, klientų paskyromis ir savininko valdymo skydeliu. Kad būtų gyva, jai reikia:
| Dalis | Ką daro | Kur veikia |
|---|---|---|
| Priekinė dalis | Puslapiai ir mygtukai lankytojo naršyklėje | Statinis hostingas / CDN |
| Vidinė dalis | Tikrina laisvas vietas, įrašo rezervacijas, užtikrina, kas ką gali matyti | Serveris arba konteineris |
| Duomenų bazė | Saugo paslaugas, klientus ir rezervacijas | Valdoma duomenų bazė |
| Failų saugykla | Saugo įkeltas nuotraukas | Objektų saugykla |
| Domenas + DNS | book.yoursalon.com, nukreipiantis į programėlę | Jūsų registratorius / DNS tiekėjas |
| HTTPS sertifikatas | Šifruoja srautą; rodo spynelę | Išduoda hostingo tiekėjas arba sertifikavimo institucija |
| Paslaptys | API raktai el. laiškams ir mokėjimams | Hostingo aplinkos kintamieji |
Jei tai diegtumėte patys, nustatytumėte kiekvieną dalį. Platforma, kuri talpina už jus, viską supakuoja. Bet kuriuo atveju verta žinoti, kad šios dalys egzistuoja – priekinės ir vidinės dalies vadove paaiškinamas šis skirstymas.
Dažnos sąvokos paaiškintos
| Terminas | Reikšmė |
|---|---|
| Serveris | Kompiuteris, kuris atsako į užklausas per tinklą. |
| Diegimas / publikavimas | Jūsų kodo versijos įkėlimas į hostingą, kad ji taptų gyva. |
| Veikimo laikas (uptime) | Dalis laiko, kai svetainė pasiekiama. |
| Pralaidumas / išeinantis srautas (egress) | Duomenų kiekis, siunčiamas iš jūsų programėlės lankytojams. Dažnai apmokestinamas. |
| CDN | Turinio pristatymo tinklas: jūsų failų kopijos serveriuose visame pasaulyje, kad jie užsikrautų greičiau. |
| SSL/TLS, HTTPS | Šifravimas tarp naršyklės ir serverio. TLS yra šiuolaikinis protokolas; „SSL sertifikatas“ – įprastas pavadinimas. |
| Mastelis (scaling) | Didesnio srauto valdymas: didesnės mašinos (vertikaliai) arba daugiau jų (horizontaliai). |
| Mastelis iki nulio / šaltas paleidimas | Neveikiančios programėlės sustoja, kad sutaupytų pinigų; pirmoji užklausa po pertraukos užtrunka šiek tiek ilgiau, kol ji pabunda. |
| Aplinkos kintamieji | Konfigūracija ir paslaptys, perduodamos programėlei veikimo metu, laikomos atskirai nuo kodo. |
| Žurnalai (logs) | Įrašai apie tai, ką programėlė darė, naudojami klaidoms diagnozuoti. |
| Konteineris | Supakuota programėlė su visu, ko jai reikia veikti, dažnai sukurta iš Dockerfile. |
Dažnos klaidos ir klaidingi įsitikinimai
- Domeno painiojimas su hostingu. Nusipirkus
yourname.com, svetainė jame dar neatsiranda. Reikia ir hostingo, ir DNS įrašų, nukreipiančių į jį. - Manymas, kad „neribota“ yra neribota. Planai, reklamuojantys neribotą pralaidumą ar saugyklą, paprastai turi sąžiningo naudojimo sąlygas. Perskaitykite jas.
- Veikimo išlaidų pamiršimas. Programėlės sukūrimas yra viena išlaida; hostingas, duomenų bazė, saugykla ir trečiųjų šalių API yra nuolatinės. Prieš paleidimą patikrinkite, kaip kiekviena jų apmokestinama.
- Failų saugojimas serverio diske. Daugelyje šiuolaikinių hostingų serverio vietinis diskas yra laikinas ir gali būti išvalytas kiekvieno diegimo ar paleidimo iš naujo metu. Įkelti failai turi būti objektų saugykloje.
- Peržiūros laikymas gamybine versija. Peržiūros gali būti pristabdytos, naudoti testinius duomenis arba būti matomos tik jums. Prieš dalindamiesi publikuokite.
- Ignoravimas, kur galite persikelti. Jei jūsų hostingas susietas su viena platforma, patikrinkite, ar galite eksportuoti kodą ir vėliau paleisti jį kitur.
Ko prašyti savo DI kūrimo įrankio
- „Ko šiai programėlei reikia, kad veiktų publikuota: tik statinių failų, ar ir serverio su duomenų baze?“
- „Kur saugomi įkelti failai? Įsitikink, kad jie nėra serverio vietiniame diske.“
- „Visus API raktus laikyk aplinkos kintamuosiuose.“
- „Pridėk talpinimo (caching) antraštes paveikslėliams ir statiniams failams.“
- „Parodyk paskutinės nesėkmingos užklausos žurnalus.“
- „Jei norėčiau šią programėlę talpinti kitur, ko man reikėtų?“ – žr. kaip eksportuoti DI sukurtą programėlę ir talpinti ją savarankiškai.
Hostingas Mythex
Mythex hostingas yra kūrimo įrankio dalis. Kai publikuojate, Mythex padaro projekto momentinę kopiją ir įdiegia ją adresu yourname.mythex.app: statinės priekinės dalys išeina kaip statinės svetainės, o vidinės dalys veikia valdomose mašinose, kurios užmiega, kai nenaudojamos, ir pabunda kitą kartą apsilankius. Duomenų bazė ir failų saugykla pridedamos prie projekto, kai programėlei jų reikia. Hostingas, pralaidumas, duomenų bazė ir saugykla naudoja tą patį kreditų balansą kaip ir kūrimas, o Pro planas šioms paslaugoms moka pusę Free plano kainos; statinės svetainės neeikvoja kreditų, kol stovi nenaudojamos. Pro plane galima pridėti pasirinktinius domenus su automatiškai išduodamu HTTPS. Dokumentacijoje aprašytas publikavimas ir hostingo ribos, o kainos palygina planus.
Klausimai
Kas yra hostingas paprastais žodžiais?
Hostingas – tai vietos ir skaičiavimo galios nuoma serveriuose, kurie visada įjungti ir prijungti prie interneto, todėl jūsų svetainę ar programėlę bet kas gali pasiekti bet kada. Hostingo tiekėjas saugo jūsų failus, paleidžia kodą ir siunčia puslapius lankytojų naršyklėms.
Ar domenas yra tas pats, kas hostingas?
Ne. Domenas – tai pavadinimas, kurį žmonės įveda, pavyzdžiui, example.com. Hostingas – vieta, kur svetainė iš tikrųjų veikia. DNS įrašai juos susieja nukreipdami domeną į jūsų hostingą. Galite juos nusipirkti iš tos pačios įmonės arba iš skirtingų.
Ar man reikia atskiro hostingo DI kuriamai programėlei?
Tai priklauso nuo įrankio. Kai kurie DI programėlių kūrimo įrankiai, įskaitant Mythex, talpina programėlę jums, kai ją publikuojate. Kiti generuoja kodą, kurį turite patys įdiegti pas hostingo tiekėją.
Koks skirtumas tarp statinio ir dinaminio hostingo?
Statinis hostingas teikia failus, kurie yra vienodi visiems lankytojams, pavyzdžiui, nukreipimo puslapį – tai paprasta, greita ir pigu. Dinaminis hostingas paleidžia serverio kodą, kuris kuria atsakymus kiekvienai užklausai, o to reikia programėlėms su prisijungimais, duomenų bazėmis ir mokėjimais.