KÄ mitinÄt statisku vietni, izmantojot Yandex.Cloud Object Storage
Äau Habr!
Å ajÄ rakstÄ es jums pastÄstÄ«Å”u, kÄ viegli un vienkÄrÅ”i mitinÄt statisku vietni, izmantojot Yandex tehnoloÄ£ijas, proti Objektu glabÄÅ”ana.
Galu galÄ jums bÅ«s tÄ«mekļa vietne, kas bÅ«s pieejama, izmantojot ÄrÄju saiti.
Šis raksts būs noderīgs, ja
IesÄcÄjs izstrÄdÄtÄjs, kurÅ” tikai mÄcÄs programmÄt;
IzstrÄdÄtÄjs, kurÅ” ir izveidojis portfeli un vÄlas to ievietot publiskajÄ domÄnÄ, lai parÄdÄ«tu to draugiem un darba devÄjiem.
Par sevi
Nesen es izstrÄdÄju SaaS pakalpojumu, sava veida tirgu, kurÄ cilvÄki atrod sporta trenerus personÄ«gajiem treniÅiem. Izmantoja Amazon Web Services steku (turpmÄk tekstÄ ā AWS). TaÄu, jo dziļÄk iedziļinÄjos projektÄ, jo vairÄk nianses uzzinÄju par dažÄdajiem startup organizÄÅ”anas procesiem.
Es saskÄros ar Å”ÄdÄm problÄmÄm:
AWS patÄrÄja daudz naudas. NostrÄdÄjot 3 gadus Enterprise uzÅÄmumos, pieradu pie tÄdiem priekiem kÄ Docker, Kubernetes, CI/CD, zili zaÄ¼Ä izvietoÅ”ana, un kÄ topoÅ”ais startup programmÄtÄjs vÄlÄjos to realizÄt. RezultÄtÄ es nonÄcu pie secinÄjuma, ka AWS mÄnesÄ« patÄrÄja 300ā400 dolÄrus. Kubernetes izrÄdÄ«jÄs visdÄrgÄkais, apmÄram 100 dolÄri, ar minimÄlo algu viena klastera un viena mezgla.
PS SÄkumÄ tas nav jÄdara.
ŠŠ°Š»ŠµŠµ, Š·Š°Š“ŃŠ¼Š°Š²ŃŠøŃŃ Š¾ ŃŃŠøŠ“ŠøŃŠµŃŠŗŠ¾Š¹ ŃŃŠ¾ŃŠ¾Š½Šµ, Ń ŃŠ·Š½Š°Š» ŠæŃŠ¾ Š·Š°ŠŗŠ¾Š½ 152-Š¤Š, Š² ŠŗŠ¾ŃŠ¾ŃŠ¾Š¼ Š³Š¾Š²Š¾ŃŠøŠ»Š¾ŃŃ ŠæŃŠøŠ¼ŠµŃŠ½Š¾ ŃŠ»ŠµŠ“ŃŃŃŠµŠµ: "Krievijas FederÄcijas pilsoÅu personas dati ir jÄuzglabÄ Krievijas FederÄcijas teritorijÄ", citÄdi naudas sodi, ko es negribÄju. Es nolÄmu Å”os jautÄjumus risinÄt, pirms tas man nonÄca no augÅ”as :).
Iedvesmojies rakstus par infrastruktÅ«ras migrÄÅ”anu no Amazon Web Services uz Yandex.Cloud, es nolÄmu sÄ«kÄk izpÄtÄ«t Yandex steku.
ManuprÄt, galvenÄs Yandex.Cloud funkcijas bija Å”Ädas:
2-3 reizes lÄtÄk (saskaÅÄ ar augÅ”Äjo rakstu un publiskajiem cenrÄžiem)
Es pÄtÄ«ju citus Ŕī pakalpojuma konkurentus, bet tajÄ laikÄ uzvarÄja Yandex.
Es jums pastÄstÄ«ju par sevi, lai mÄs varÄtu Ä·erties pie lietas.
Solis 0. Sagatavojiet vietni
PirmkÄrt, mums ir vajadzÄ«ga vietne, kuru vÄlamies ievietot internetÄ. TÄ kÄ esmu Angular izstrÄdÄtÄjs, tad uztaisÄ«Å”u vienkÄrÅ”u SPA aplikÄcijas veidni, kuru pÄc tam ievietoÅ”u internetÄ.
InstalÄsim Angular-CLI, lai izveidotu SPA vietnes Angular:
npm install -g @angular/cli
Izveidosim Angular lietojumprogrammu, izmantojot Å”Ädu komandu:
ng new angular-habr-object-storage
PÄc tam dodieties uz lietojumprogrammu mapi un palaidiet to, lai pÄrbaudÄ«tu tÄs funkcionalitÄti:
cd angular-habr-object-storage
ng serve --open
Lietojumprogramma ir izveidota, bet vÄl nav gatava mitinÄÅ”anai. Saliksim lietojumprogrammu nelielÄ bÅ«vniecÄ«bÄ (Production), lai noÅemtu visas nevajadzÄ«gÄs lietas un atstÄtu tikai nepiecieÅ”amos failus.
ProgrammÄ Angular to var izdarÄ«t ar Å”Ädu komandu:
ng build --prod
Å Ä«s komandas rezultÄtÄ lietojumprogrammas saknÄ parÄdÄ«jÄs mape dist ar mÅ«su vietni.
Objektu krÄtuve ir failu krÄtuve, kas ir saderÄ«ga ar Amazon lÄ«dzÄ«gu AWS S3 tehnoloÄ£iju, kurai ir arÄ« savs API, lai pÄrvaldÄ«tu krÄtuves no koda, un, tÄpat kÄ AWS S3, to var izmantot statiskas vietnes mitinÄÅ”anai.
Objektu krÄtuvÄ mÄs izveidojam "spaiÅus" (spaiÅus), kas ir atseviŔķas mÅ«su failu glabÄÅ”anas zonas.
Izveidosim vienu no tiem. Lai to izdarÄ«tu, pakalpojumu konsolÄ noklikŔķiniet uz pogas āIzveidot kausuā.
Kausa izveides veidlapÄ ir Å”Ädi lauki, apskatÄ«sim tos:
Kausa nosaukums. VienkÄrŔības labad nosauksim projektu par tÄdu paÅ”u kÄ Angular - angular-habr-object-storage
Maks. IzmÄrs. MÄs deram tik, cik sver mÅ«su vietne, jo vietne netiek glabÄta bez maksas, un par katru pieŔķirto gigabaitu mÄs Yandex maksÄsim diezgan santÄ«mu.
Piekļuve lasÄ«Å”anas objektiem. MÄs to iestatÄm uz āPublisksā, jo lietotÄjam ir jÄsaÅem katrs mÅ«su statiskÄs vietnes fails, lai tajÄ varÄtu pareizi uzzÄ«mÄt izkÄrtojumu, apstrÄdÄt skriptus utt.
Piekļuve objektu sarakstam un piekļuve lasÄ«Å”anas iestatÄ«jumiem. AtstÄjiet to kÄ "ierobežots". Tas ir nepiecieÅ”ams, lai spaini izmantotu kÄ lietojumprogrammu iekÅ”Äjo failu krÄtuvi.
UzglabÄÅ”anas klase. AtstÄjiet to kÄ "Standarta". Tas nozÄ«mÄ, ka mÅ«su vietne tiks bieži apmeklÄta, un tÄpÄc faili, kas veido vietni, tiks bieži lejupielÄdÄti. TurklÄt prece ietekmÄ veiktspÄju un maksÄjumu (ievietojiet saiti).
NoklikŔķiniet uz āIzveidot spainiā, un spainis ir izveidots.
Tagad mums ir jÄaugÅ”upielÄdÄ mÅ«su vietne spainÄ«. VienkÄrÅ”Äkais veids ir atvÄrt tuvumÄ esoÅ”u mapi dist mÅ«su vietni un velciet to tieÅ”i uz lapu, izmantojot rokturus. Tas ir ÄrtÄk nekÄ noklikŔķinÄt uz pogas āIelÄdÄt objektusā, jo Å”ajÄ gadÄ«jumÄ mapes netiek pÄrsÅ«tÄ«tas un tÄs bÅ«s jÄizveido manuÄli pareizÄ secÄ«bÄ.
TÄtad vietne tiek ielÄdÄta krÄtuvÄ, lai mÄs varÄtu nodroÅ”inÄt lietotÄjiem iespÄju piekļūt krÄtuvei kÄ vietnei.
Lai to izdarÄ«tu, izvÄlnes kreisajÄ pusÄ noklikŔķiniet uz cilnes Vietne.
LapÄ, lai iestatÄ«tu kopu kÄ vietni, atlasiet cilni āHostingā. Å eit mÄs norÄdÄm vietnes galveno lapu, parasti index.html. Ja jums ir SPA aplikÄcija, tad droÅ”i vien visas kļūdas tiek apstrÄdÄtas arÄ« galvenajÄ lapÄ, tÄpÄc kļūdu lapÄ norÄdÄ«sim arÄ« index.html.
MÄs uzreiz redzam, caur kuru saiti mÅ«su vietne bÅ«s pieejama. NoklikŔķiniet uz SaglabÄt.
PÄc apmÄram 5 minÅ«tÄm, noklikŔķinot uz saites, mÄs redzam, ka mÅ«su vietne tagad ir pieejama ikvienam.
Paldies visiem, kas izlasÄ«ja lÄ«dz galam! Å is ir mans pirmais raksts; es plÄnoju sÄ«kÄk aprakstÄ«t citus Yandex pakalpojumus un to integrÄciju ar frontend un backend tehnoloÄ£ijÄm.
Rakstiet komentÄros, cik jÅ«s interesÄ uzzinÄt par citiem Yandex pakalpojumiem vai par Angular izmantoÅ”anu mÅ«sdienu attÄ«stÄ«bÄ.