Tai mašinu versta tekstas, kuriame gali būti klaidų!
Skytjenestės ir virtualizacija yra glaudžiai susijusios: abi apima duomenų išteklių naudojimą neturint visos įrangos. Tačiau yra keletas svarbių skirtumų.
Kas yra virtualizacija?
Virtualizacija reiškia, kad viename fiziniame kompiuteryje veikia kelios „virtualios“ mašinos. Vietoj to, kad turėtumėte atskirą fizinį serverį žiniatinklio serveriui, kitą – duomenų bazei ir trečią – failų serveriui, galite paleisti visus tris kaip virtualias mašinas viename ir tame pačiame kompiuteryje.
Programinė įranga, leidžianti tai padaryti, vadinama hipervizoriumi:
| Tipas | Paaiškinimas | Pavyzdys |
|---|---|---|
| 1 tipas (bare-metal) | Veikia tiesiogiai ant aparatinės įrangos, be įprastos OS po juo | Proxmox, VMware ESXi |
| 2 tipas (hosted) | Veikia virš įprastos operacinės sistemos | VirtualBox, VMware Workstation |
Type 1 vs. Type 2
- Type 1 yra tai, ką naudojame gamyboje ir serverinėje patalpoje. Proxmox veikia tiesiogiai ant serverio.
- Type 2 yra tai, ką naudojate savo kompiuteryje testavimui. VirtualBox veikia virš Windows arba macOS.
Kas yra virtuali mašina (VM)?
VM yra visa operacinė sistema, veikianti kitoje. Ji turi savo (virtualią) atmintį, CPU ir diską, tačiau dalijasi fizine įranga su kitomis VM.
Virtualių mašinų privalumai:
- Izoliacija – Kiekviena VM yra nepriklausoma. Jei viena VM sugeda, tai neturi įtakos kitoms.
- Lankstumas – Toje pačioje mašinoje galite paleisti skirtingas operacines sistemas (pvz., Ubuntu ir Windows Server).
- Momentinis vaizdas/atsarginė kopija – Galite padaryti VM momentinį vaizdą ir atkurti jį, jei kažkas nutinka negerai.
- Išteklių panaudojimas – Fizinė mašina su didele RAM ir CPU gali paleisti daug VM.
Kas yra konteineriai?
Konteineriai yra lengvesni nei VM. Jie dalijasi operacinės sistemos branduoliu su pagrindine mašina, tačiau veikia izoliuotose aplinkose.
| Savybė | VM | Konteineris |
|---|---|---|
| Dydis | Didelis (visa OS) | Mažas (tik programa ir priklausomybės) |
| Paleidimo laikas | Minutės | Sekundės |
| Izoliacija | Stipri (nuosava OS) | Gera, bet dalijasi OS branduoliu |
| Naudojimo sritis | Kai reikia visiškai atskiros OS | Vienos programos ir mikroservisai |
| Pavyzdys | Proxmox VM, VirtualBox | Docker, Podman |
Kada ką naudoti?
- Naudokite VM, kai jums reikia pilno operacinės sistemos, pvz., „Windows Server“ arba „Linux“ serverio su pilnu kontrole.
- Naudokite kontainerį, kai jums reikia tik paleisti programėlę, pvz., „web“ serverį, duomenų bazę arba „Grafana“.
Praktikoje mes dažnai naudojame abu dalykus: VM, kurie tarnauja kaip „Docker“ kontainerių prietošios.
Debesos paslaugos
Debesos paslaugos reiškia, kad kažkas kitas valdo ir eksploatuoja įrangą, o jūs nuomojate tai, ko jums reikia, per internetą. Vietoj to, kad pirktumėte ir prižiūrėtumėte fizinį serverį, jūs mokate už virtualios mašinos naudojimą debese.
Paslaugų modeliai
Yra trys pagrindiniai debesijos paslaugų modeliai:
| Modelis | Pilna pavadinimo dalis | Ką gaunate | Ką kontroliuojate patys | Pavyzdys |
|---|---|---|---|---|
| IaaS | Infrastructure as a Service | Virtualios mašinos, tinklas ir saugykla | OS, programėlės, nustatymai | Azure VM, AWS EC2 |
| PaaS | Platform as a Service | Paruošta platforma savo kodo paleidimui | Tik programėlę | Azure App Service, Heroku |
| SaaS | Software as a Service | Paruoštos programėlės, naudojamos per naršyklę | Nėko techninio | Microsoft 3365, Google Docs |
Lengvas būdas tai įsiminti
- IaaS = Jūs nuomojate tuščią mašiną. Viską įdiegiate ir konfigūruojate patys.
- PaaS = Jūs nuomojate paruoštą aplinką. Jums tereikia įdėti savo kodą.
- SaaS = Jūs nuomojate paruoštą programėlę. Jums tereikia prisijungti ir ją naudoti.
Pateikimo modeliai
Debingo paslaugos gali būti teikiamos įvairiais būdais:
| Modelis | Paaiškinimas | Pavyzdys |
|---|---|---|
| Viešoji debesხვა | Bendra infrastruktūra, prieinama visiems | Azure, AWS, Google Cloud |
| Privati debesხვა | Skirta infrastruktūra konkrečiam verslui | Proxmox mokyklos serverių kambaryje |
| Hibridinė debesხვა | Viešosios ir privačios debesrikos derinys | Kai kurios paslaugos lokaliai, kai kurios Azure |
VPS: Dažna debesų sprendimas
VPS (Virtual Private Server) yra vienas iš dažniausių IaaS sprendimų. Jūs nuomojate virtualią mašiną pas debesų paslaugų teikėją ir turite visišką kontrolę, tarsi turėtumėte savo serverį.
Tipinės paskirties sritys:
- Paleisti žiniatinklio serverį
- Nustatyti VPN paslaugą
- Apgyvendinti programėlę (pvz., Flask + duomenų bazė)
- Testuoti dalykus nerizikuojant savo įranga
Populiarūs VPS paslaugų teikėjai:
| Paslaugų teikėjas | Privalumai |
|---|---|
| Linode (Akamai) | Paprastas, gera kaina, geri vadovai |
| DigitalOcean | Patogus naudoti, gera dokumentacija |
| Hetzner | Pigus, europinis (atitinkantis GDPR) |
| Azure | Integruotas su Microsoft ekosistema |
Išlaidos debesyje
Debesies paslaugai kainuoja, ir tai gali greitai tapti brangu, jei neskolėsis. VM, kuri veikia 24/7, kainuoja daugiau nei ta, kuri yra išjungtama po naudojimo. Visada patikrinkite kainas ir nustatykite išlaidų pranešimus.
Vietinis vs. debes
Dauguma įmonių naudoja vietinių serverių ir debessybės paslaugų derinį. Štai keletas svarbuু veiksnių, kuriuos reikia įvertinti:
| Veiksnys | Vietinis (on-premises) | Debessybė |
|---|---|---|
| Kontrolė | Pilna kontrolė virš įrangos ir duomenų | Priklausoma nuo tiekėjo |
| Kaštai | Didelės pradinės investicijos | Nuolatinės mėnesinės išlaidos |
| Skalavumas | Apribotas fizine įranga | Galima skalinti įprastai pagal poreikį |
| Priežiūra | Viską turite tvarkyti patys | Tiekėjas prižiūri įrangą |
| Privatumo apsauga | Žinote, kur yra duomenys | Duomenys gali būti saugomi kitose šalyse |
Užduotis 1 – Paleiskite VM savo mašinoje
Atsisiųskite VirtualBox (nemokamai) ir pabandykite įdiegti Linux paskirstymą, pavyzdžiui, Ubuntu Desktop arba Linux Mint.
- Kiek RAM ir CPU pasirinksite VM?
- Ar pastebite, kad jūsų kompiuteris tampa lėtesnis, kai veikia VM?
- Kas atsitinka, jei bandysite suteikti VM daugiau RAM, nei turi jūsų mašina?
Tai suteikia gerą supratimą apie tai, kaip VM dalijasi fizinės mašinos ištekliais.
Užduotis 2 – Paleiskite konteinerį su Docker
Jei turite įdiegtą Docker (arba turite prieigą prie VM su Docker), pabandykite paleisti:
docker run -d -p 8080:80 nginx
# Paleidžia Nginx konteinerį fone, atidarant 8080 prievadą į 80 prievadą konteineryje
Apsilankykite http://localhost:8080 naršyklėje. Dabar paleidžiate žiniatinklio serverį konteineryje! Palyginkite, kiek laiko tai užtruko, su visa VM su Nginx konfigūracija.
Užduotis 3 – Kokiomis debesų paslaugomis jau naudojatės?
Pagalvokite apie paslaugas, kuriomis naudojatės kasdien:
- Microsoft 365 (Word, Teams, OneDrive) yra SaaS
- GitHub Pages svetainei apgyvendinti yra PaaS
- Jei sukuriate VM Proxmox mokykloje, tai iš esmės yra IaaS (tik vietiniu lygiu)
Ar galite priskirti kitas paslaugas, kuriomis naudojatės?
Užduotis 4 – Kur yra jūsų duomenys?
Eikite į Microsoft Privacy Dashboard ir peržiūrėkite, ką „Microsoft“ saugo apie jus. Taip pat patikrinkite debesų paslaugos, kurią naudojate, sąlygas:
- Kur pasaulyje saugomi duomenys?
- Kas atsitiks su duomenimis, jei ištrinsite savo paskyrą?
- Ar jums priklauso jūsų duomenys, ar juos turi paslaugų teikėjas?
Šie klausimai ypač svarbūs atsižvelgiant į BDAR ir privatumą.
Apibendrinimas
- Virtualizacija leidžia paleisti kelias paslaugas toje pačioje įrangoje, arba kaip VM, arba kaip konteinerius
- Debesies paslaugos reiškia, kad įrangos savininkas yra kitas, o jūs nuomojate tai, ko jums reikia
- IaaS, PaaS ir SaaS apibūdina, kiek atsakomybės tenka jums
- Praktikoje daugelis naudoja hibridinį sprendimą su vietinėmis ir debesyje įsikūrusiomis paslaugomis
- Pasirinkimas tarp vietinio ir debesies priklauso nuo kontrolės, išlaidų, mastelio ir privatumo.