ื›ื™ืฆื“ ืœืืจื— ืืชืจ ืกื˜ื˜ื™ ื‘ืืžืฆืขื•ืช Yandex.Cloud Object Storage

ื”ื™ื™ ื”ื‘ืจ!

ื‘ืžืืžืจ ื–ื”, ืืกืคืจ ืœื›ื ื›ื™ืฆื“ ืœืืจื— ื‘ืงืœื•ืช ื•ื‘ืคืฉื˜ื•ืช ืืชืจ ืกื˜ื˜ื™ ื‘ืืžืฆืขื•ืช ื˜ื›ื ื•ืœื•ื’ื™ื•ืช Yandex, ื›ืœื•ืžืจ ืื—ืกื•ืŸ ืื•ื‘ื™ื™ืงื˜ื™ื.

ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, ื™ื”ื™ื” ืœืš ืืชืจ ืื™ื ื˜ืจื ื˜ ืžืชืืจื— ืฉื™ื”ื™ื” ื ื’ื™ืฉ ื‘ืืžืฆืขื•ืช ืงื™ืฉื•ืจ ื—ื™ืฆื•ื ื™.

ืžืืžืจ ื–ื” ื™ื”ื™ื” ืฉื™ืžื•ืฉื™ ืื ืืชื”

  • ืžืคืชื— ืžืชื—ื™ืœ ืฉืจืง ืœื•ืžื“ ืœืชื›ื ืช;
  • ืžืคืชื— ืฉื”ื›ื™ืŸ ืชื™ืง ืขื‘ื•ื“ื•ืช ื•ืจื•ืฆื” ืœืžืงื ืื•ืชื• ื‘ืจืฉื•ืช ื”ืจื‘ื™ื ื›ื“ื™ ืœื”ืจืื•ืช ืื•ืชื• ืœื—ื‘ืจื™ื ื•ืœืžืขืกื™ืงื™ื.

ืขืœ ืขืฆืžื™

ืœืื—ืจื•ื ื” ืคื™ืชื—ืชื™ ืฉื™ืจื•ืช SaaS, ืžืขื™ืŸ ืฉื•ืง ืฉื‘ื• ืื ืฉื™ื ืžื•ืฆืื™ื ืžืืžื ื™ ืกืคื•ืจื˜ ืœืื™ืžื•ืŸ ืื™ืฉื™. ื”ืฉืชืžืฉ ื‘ืขืจื™ืžืช ืฉื™ืจื•ืชื™ ื”ืื™ื ื˜ืจื ื˜ ืฉืœ ืืžื–ื•ืŸ (ืœื”ืœืŸ AWS). ืื‘ืœ ื›ื›ืœ ืฉืฆืœืœืชื™ ืขืžื•ืง ื™ื•ืชืจ ืœืชื•ืš ื”ืคืจื•ื™ืงื˜, ื›ืš ืœืžื“ืชื™ ื™ื•ืชืจ ื ื™ื•ืื ืกื™ื ืขืœ ื”ืชื”ืœื™ื›ื™ื ื”ืฉื•ื ื™ื ืฉืœ ืืจื’ื•ืŸ ืกื˜ืืจื˜-ืืค.

ื ืชืงืœืชื™ ื‘ื‘ืขื™ื•ืช ื”ื‘ืื•ืช:

  • AWS ืฆืจื›ื” ื”ืจื‘ื” ื›ืกืฃ. ืœืื—ืจ ืฉืขื‘ื“ืชื™ 3 ืฉื ื™ื ื‘ื—ื‘ืจื•ืช Enterprise, ื”ืชืจื’ืœืชื™ ืœื”ื ืื•ืช ื›ืžื• Docker, Kubernetes, CI/CD, ืคืจื™ืกื” ื›ื—ื•ืœื” ื™ืจื•ืงื”, ื•ื›ืžืชื›ื ืช ืกื˜ืืจื˜-ืืค ืฉื•ืืฃ, ืจืฆื™ืชื™ ืœื™ื™ืฉื ืืช ืื•ืชื• ื”ื“ื‘ืจ. ื›ืชื•ืฆืื” ืžื›ืš, ื”ื’ืขืชื™ ืœืžืกืงื ื” ืฉ-AWS ืฆืจื›ื” 300-400 ื“ื•ืœืจ ื‘ื—ื•ื“ืฉ. Kubernetes ื”ืชื‘ืจืจ ื›ื™ืงืจ ื‘ื™ื•ืชืจ, ื›-100 ื“ื•ืœืจ, ืขื ืฉื›ืจ ืžื™ื ื™ืžื•ื ืฉืœ ืืฉื›ื•ืœ ืื—ื“ ื•ืฆื•ืžืช ืื—ื“.
    ื .ื‘. ืื™ืŸ ืฆื•ืจืš ืœืขืฉื•ืช ื–ืืช ื‘ื”ืชื—ืœื”.
  • ืœืื—ืจ ืžื›ืŸ, ื›ืฉื—ืฉื‘ืชื™ ืขืœ ื”ืฆื“ ื”ืžืฉืคื˜ื™, ืœืžื“ืชื™ ืขืœ ื—ื•ืง 152-FZ, ืฉืื•ืžืจ ืžืฉื”ื• ื›ืžื• ื”ื‘ื: "ื ืชื•ื ื™ื ืื™ืฉื™ื™ื ืฉืœ ืื–ืจื—ื™ ื”ืคื“ืจืฆื™ื” ื”ืจื•ืกื™ืช ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ืžืื•ื—ืกื ื™ื ื‘ืฉื˜ื— ื”ืคื“ืจืฆื™ื” ื”ืจื•ืกื™ืช", ืื—ืจืช ืงื ืกื•ืช, ืฉืœื ืจืฆื™ืชื™. ื”ื—ืœื˜ืชื™ ืœื”ืชืžื•ื“ื“ ืขื ื”ื ื•ืฉืื™ื ื”ืืœื” ืœืคื ื™ ืฉื–ื” ื™ื’ื™ืข ืืœื™ื™ ืžืœืžืขืœื” :).

ื‘ื”ืฉืจืื” ืžืืžืจื™ื ืœื’ื‘ื™ ื”ืขื‘ืจืช ืชืฉืชื™ืช ืžืฉื™ืจื•ืชื™ ื”ืื™ื ื˜ืจื ื˜ ืฉืœ ืืžื–ื•ืŸ ืœ-Yandex.Cloud, ื”ื—ืœื˜ืชื™ ืœืœืžื•ื“ ืืช ืขืจื™ืžืช Yandex ื‘ื™ืชืจ ืคื™ืจื•ื˜.

ืขื‘ื•ืจื™, ืชื›ื•ื ื•ืช ื”ืžืคืชื— ืฉืœ Yandex.Cloud ื”ื™ื• ื”ื‘ืื•ืช:

ืœืžื“ืชื™ ืžืชื—ืจื™ื ืื—ืจื™ื ืฉืœ ื”ืฉื™ืจื•ืช ื”ื–ื”, ืื‘ืœ ื‘ืื•ืชื” ืชืงื•ืคื” Yandex ื ื™ืฆื—ื”.

ืกื™ืคืจืชื™ ืœืš ืขืœ ืขืฆืžื™, ื›ื“ื™ ืฉื ื•ื›ืœ ืœื”ืชื—ื™ืœ ื‘ืขื ื™ื™ื ื™ื.

ืฉืœื‘ 0. ื”ื›ืŸ ืืช ื”ืืชืจ

ืจืืฉื™ืช, ืื ื• ืฆืจื™ื›ื™ื ืืชืจ ืื™ื ื˜ืจื ื˜ ืฉืื ื• ืจื•ืฆื™ื ืœืžืงื ื‘ืื™ื ื˜ืจื ื˜. ืžื›ื™ื•ื•ืŸ ืฉืื ื™ ืžืคืชื— Angular, ืื ื™ ืื›ื™ืŸ ืชื‘ื ื™ืช ืืคืœื™ืงืฆื™ื” ืคืฉื•ื˜ื” ืฉืœ โ€‹โ€‹SPA, ืื•ืชื” ืืคืจืกื ืื—ืจ ื›ืš ื‘ืื™ื ื˜ืจื ื˜.

ื .ื‘. ืžื™ ืฉืžื‘ื™ืŸ ื‘-Angular ืื• ื™ื•ื“ืข ืขืœ ื”ืชื™ืขื•ื“ ืฉืœื” https://angular.io/guide/setup-local, ืœืš ืœ ืฉืœื‘ 1.

ื‘ื•ืื• ื ืชืงื™ืŸ ืืช Angular-CLI ื›ื“ื™ ืœื™ืฆื•ืจ ืืชืจื™ ืกืคื ื‘-Angular:

npm install -g @angular/cli

ื‘ื•ืื• ื ื™ืฆื•ืจ ื™ื™ืฉื•ื Angular ื‘ืืžืฆืขื•ืช ื”ืคืงื•ื“ื” ื”ื‘ืื”:

ng new angular-habr-object-storage

ืœืื—ืจ ืžื›ืŸ, ืขื‘ื•ืจ ืืœ ืชื™ืงื™ื™ืช ื”ื™ื™ืฉื•ื ื•ื”ืคืขืœ ืื•ืชื” ื›ื“ื™ ืœื‘ื“ื•ืง ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœื”:

cd angular-habr-object-storage
ng serve --open

ื›ื™ืฆื“ ืœืืจื— ืืชืจ ืกื˜ื˜ื™ ื‘ืืžืฆืขื•ืช Yandex.Cloud Object Storage

ื”ืืคืœื™ืงืฆื™ื” ื ื•ืฆืจื”, ืืš ืขื“ื™ื™ืŸ ืœื ืžื•ื›ื ื” ืœืื™ืจื•ื—. ื‘ื•ืื• ื ืจื›ื™ื‘ ืืช ื”ืืคืœื™ืงืฆื™ื” ืœืžื‘ื ื” ืงื˜ืŸ (Production) ื›ื“ื™ ืœื”ืกื™ืจ ืืช ื›ืœ ื”ื“ื‘ืจื™ื ื”ืžื™ื•ืชืจื™ื ื•ืœื”ืฉืื™ืจ ืจืง ืืช ื”ืงื‘ืฆื™ื ื”ื“ืจื•ืฉื™ื.
ื‘-Angular ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ื–ืืช ืขื ื”ืคืงื•ื“ื” ื”ื‘ืื”:

ng build --prod

ื›ืชื•ืฆืื” ืžืคืงื•ื“ื” ื–ื•, ื”ื•ืคื™ืขื” ืชื™ืงื™ื” ื‘ืฉื•ืจืฉ ื”ืืคืœื™ืงืฆื™ื” dist ืขื ื”ืืชืจ ืฉืœื ื•.

ืขื•ื‘ื“. ื›ืขืช ื ืขื‘ื•ืจ ืœืื™ืจื•ื—.

ืฉืœื‘ 1.

ื‘ื•ื ื ืœืš ืœืืชืจ https://console.cloud.yandex.ru/ ื•ืœื—ืฅ ืขืœ ื›ืคืชื•ืจ "ื”ืชื—ื‘ืจ".

ื”ืขืจื”:

  • ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘ืฉื™ืจื•ืช Yandex, ื™ื™ืชื›ืŸ ืฉืชื–ื“ืงืง ืœื“ื•ืืจ Yandex (ืื‘ืœ ื–ื” ืœื ื‘ื˜ื•ื—)
  • ืขื‘ื•ืจ ืคื•ื ืงืฆื™ื•ืช ืžืกื•ื™ืžื•ืช ืชืฆื˜ืจืš ืœื”ืคืงื™ื“ ื›ืกืฃ ืœื—ืฉื‘ื•ืŸ ืฉืœืš ื‘ื—ืฉื‘ื•ื ืš ื”ืื™ืฉื™ (ืžื™ื ื™ืžื•ื 500 ืจื•ื‘ืœ).

ืœืื—ืจ ืจื™ืฉื•ื ื•ืื™ืฉื•ืจ ืžื•ืฆืœื—ื™ื, ืื ื• ื ืžืฆืื™ื ื‘ื—ืฉื‘ื•ื ืš ื”ืื™ืฉื™.

ื›ื™ืฆื“ ืœืืจื— ืืชืจ ืกื˜ื˜ื™ ื‘ืืžืฆืขื•ืช Yandex.Cloud Object Storage

ื‘ื”ืžืฉืš ื‘ืฆื“ ืฉืžืืœ ื‘ืชืคืจื™ื˜, ืขืœื™ืš ืœืžืฆื•ื ืืช ืฉื™ืจื•ืช "ืื—ืกื•ืŸ ื—ืคืฆื™ื", ื‘ื• ื ืฉืชืžืฉ ืœืื™ืจื•ื— ื”ืืชืจ.

ื‘ืงืฆืจื” ื‘ืžื•ื ื—ื™ื:

  • ืื—ืกื•ืŸ ืื•ื‘ื™ื™ืงื˜ื™ื ื”ื•ื ืื—ืกื•ืŸ ืงื‘ืฆื™ื ื”ืชื•ืื ืœื˜ื›ื ื•ืœื•ื’ื™ื™ืช AWS S3 ื”ื“ื•ืžื” ืฉืœ ืืžื–ื•ืŸ, ืฉื™ืฉ ืœื” ื’ื API ืžืฉืœื” ืœื ื™ื”ื•ืœ ืื—ืกื•ืŸ ืžืงื•ื“ ื•ื‘ื“ื•ืžื” ืœ-AWS S3, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื” ืœืืจื— ืืชืจ ืกื˜ื˜ื™.
  • ื‘-Object Storage ืื ื• ื™ื•ืฆืจื™ื "ื“ืœื™ื™ื" (ื“ืœื™ื™ื), ืฉื”ื ืื–ื•ืจื™ ืื—ืกื•ืŸ ื ืคืจื“ื™ื ืœืงื‘ืฆื™ื ืฉืœื ื•.

ื›ื™ืฆื“ ืœืืจื— ืืชืจ ืกื˜ื˜ื™ ื‘ืืžืฆืขื•ืช Yandex.Cloud Object Storage

ื‘ื•ืื• ื ื™ืฆื•ืจ ืื—ื“ ืžื”ื. ื›ื“ื™ ืœืขืฉื•ืช ื–ืืช, ื‘ืžืกื•ืฃ ื”ืฉื™ืจื•ืช, ืœื—ืฅ ืขืœ ื›ืคืชื•ืจ "ืฆื•ืจ ื“ืœื™".

ื›ื™ืฆื“ ืœืืจื— ืืชืจ ืกื˜ื˜ื™ ื‘ืืžืฆืขื•ืช Yandex.Cloud Object Storage

ื”ื˜ื•ืคืก ืœื™ืฆื™ืจืช ื“ืœื™ ืžื›ื™ืœ ืืช ื”ืฉื“ื•ืช ื”ื‘ืื™ื, ื‘ื•ื ื ืขื‘ื•ืจ ืขืœื™ื”ื:

  • ืฉื ื”ื“ืœื™. ืœืฉื ื”ืคืฉื˜ื•ืช, ื‘ื•ืื• ื ืงืจื ืœืคืจื•ื™ืงื˜ ื–ื”ื” ืœ-Angular - angular-habr-object-storage
  • ืžืงืกื™ืžื•ื ื’ื•ื“ืœ. ืื ื—ื ื• ืžื”ืžืจื™ื ื›ืžื” ืฉื”ืืชืจ ืฉืœื ื• ืฉื•ืงืœ, ืžื›ื™ื•ื•ืŸ ืฉื”ืืชืจ ืื™ื ื• ืžืื•ื—ืกืŸ ื‘ื—ื™ื ื ื•ืขืœ ื›ืœ ื’ื™ื’ื”-ื‘ื™ื™ื˜ ืฉื”ื•ืงืฆื”, ื ืฉืœื ืœ-Yandex ืื’ื•ืจื” ื™ืคื”.
  • ื’ื™ืฉื” ืœืงืจื™ืื” ืฉืœ ืื•ื‘ื™ื™ืงื˜ื™ื. ื”ื’ื“ืจื ื• ืื•ืชื• ืœ"ืฆื™ื‘ื•ืจื™", ืžื›ื™ื•ื•ืŸ ืฉื”ืžืฉืชืžืฉ ื—ื™ื™ื‘ ืœืงื‘ืœ ื›ืœ ืงื•ื‘ืฅ ืฉืœ ื”ืืชืจ ื”ืกื˜ื˜ื™ ืฉืœื ื• ื›ื“ื™ ืฉื ื™ืชืŸ ื™ื”ื™ื” ืœืฆื™ื™ืจ ื‘ื• ืืช ื”ืคืจื™ืกื” ื‘ืฆื•ืจื” ื ื›ื•ื ื”, ืœืขื‘ื“ ืกืงืจื™ืคื˜ื™ื ื•ื›ื•'.
  • ื’ื™ืฉื” ืœืจืฉื™ืžืช ื”ืื•ื‘ื™ื™ืงื˜ื™ื ื•ื”ื’ื“ืจื•ืช ื’ื™ืฉื” ืœืงืจื™ืื”. ื”ืฉืืจ ืืช ื–ื” ื›"ืžื•ื’ื‘ืœ". ื–ื” ื”ื›ืจื—ื™ ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘ื“ืœื™ ื›ืื—ืกื•ืŸ ืงื‘ืฆื™ื ืคื ื™ืžื™ ืขื‘ื•ืจ ื™ื™ืฉื•ืžื™ื.
  • ืฉื™ืขื•ืจ ืื—ืกื•ืŸ. ื”ืฉืืจ ืืช ื–ื” ื‘ืชื•ืจ "ืกื˜ื ื“ืจื˜ื™". ื”ืžืฉืžืขื•ืช ื”ื™ื ืฉื”ืืชืจ ืฉืœื ื• ื™ื‘ืงืจ ื‘ืชื“ื™ืจื•ืช ื’ื‘ื•ื”ื”, ื•ืœื›ืŸ ื”ืงื‘ืฆื™ื ื”ืžืจื›ื™ื‘ื™ื ืืช ื”ืืชืจ ื™ื•ืจื“ื• ื‘ืชื“ื™ืจื•ืช ื’ื‘ื•ื”ื”. ื‘ื ื•ืกืฃ, ื”ืคืจื™ื˜ ืžืฉืคื™ืข ืขืœ ื”ื‘ื™ืฆื•ืขื™ื ื•ื”ืชืฉืœื•ื (ื”ื›ื ืก ืงื™ืฉื•ืจ).

ืœื—ืฅ ืขืœ "ืฆื•ืจ ื“ืœื™" ื•ื”ื“ืœื™ ื ื•ืฆืจ.

ื›ื™ืฆื“ ืœืืจื— ืืชืจ ืกื˜ื˜ื™ ื‘ืืžืฆืขื•ืช Yandex.Cloud Object Storage

ืขื›ืฉื™ื• ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื”ืขืœื•ืช ืืช ื”ืืชืจ ืฉืœื ื• ืœื“ืœื™. ื”ื“ืจืš ื”ืงืœื” ื‘ื™ื•ืชืจ ื”ื™ื ืœืคืชื•ื— ืชื™ืงื™ื” ื‘ืงืจื‘ืช ืžืงื•ื dist ื”ืืชืจ ืฉืœื ื• ื•ื’ืจื•ืจ ืื•ืชื• ื™ืฉื™ืจื•ืช ืืœ ื”ื“ืฃ ื‘ืืžืฆืขื•ืช ื ืงื•ื“ื•ืช ืื—ื™ื–ื”. ื–ื” ื ื•ื— ื™ื•ืชืจ ืžืืฉืจ ืœื—ื™ืฆื” ืขืœ ื›ืคืชื•ืจ "ื˜ืขืŸ ืื•ื‘ื™ื™ืงื˜ื™ื", ืžื›ื™ื•ื•ืŸ ืฉื‘ืžืงืจื” ื–ื” ื”ืชื™ืงื™ื•ืช ืื™ื ืŸ ืžื•ืขื‘ืจื•ืช ื•ืชืฆื˜ืจืš ืœื™ืฆื•ืจ ืื•ืชืŸ ื‘ืื•ืคืŸ ื™ื“ื ื™ ื‘ืจืฆืฃ ื”ื ื›ื•ืŸ.

ื›ื™ืฆื“ ืœืืจื— ืืชืจ ืกื˜ื˜ื™ ื‘ืืžืฆืขื•ืช Yandex.Cloud Object Storage

ืื– ื”ืืชืจ ื ื˜ืขืŸ ืœืื—ืกื•ืŸ, ื›ืš ืฉื ื•ื›ืœ ืœืกืคืง ืœืžืฉืชืžืฉื™ื ืืช ื”ื”ื–ื“ืžื ื•ืช ืœื’ืฉืช ืœืื—ืกื•ืŸ ื›ืืชืจ ืื™ื ื˜ืจื ื˜.
ะ”ะปั ัั‚ะพะณะพ ัะปะตะฒะฐ ะฒ ะผะตะฝัŽ ะถะผะตะผ ะฝะฐ ะฒะบะปะฐะดะบัƒ "ะ’ะตะฑ-ัะฐะนั‚".

ื›ื™ืฆื“ ืœืืจื— ืืชืจ ืกื˜ื˜ื™ ื‘ืืžืฆืขื•ืช Yandex.Cloud Object Storage

ื‘ื“ืฃ ืœื”ื’ื“ืจืช ื“ืœื™ ื›ืืชืจ, ื‘ื—ืจ ื‘ื›ืจื˜ื™ืกื™ื™ื” "ืื™ืจื•ื—". ื›ืืŸ ืื ื• ืžืฆื™ื™ื ื™ื ืืช ื”ืขืžื•ื“ ื”ืจืืฉื™ ืฉืœ ื”ืืชืจ, ื‘ื“ืจืš ื›ืœืœ index.html. ืื ื™ืฉ ืœืš ืืคืœื™ืงืฆื™ื™ืช SPA, ืื– ื›ื ืจืื” ืฉื›ืœ ื”ืฉื’ื™ืื•ืช ืžืขื•ื‘ื“ื•ืช ื’ื ื‘ืขืžื•ื“ ื”ืจืืฉื™, ืื– ื ืฆื™ื™ืŸ ื’ื ืืช index.html ื‘ื“ืฃ ื”ืฉื’ื™ืื”.

ืื ื• ืจื•ืื™ื ืžื™ื“ ื‘ืื™ื–ื” ืงื™ืฉื•ืจ ื”ืืชืจ ืฉืœื ื• ื™ื”ื™ื” ื ื’ื™ืฉ ื“ืจื›ื•. ืœื—ืฅ ืขืœ ืฉืžื•ืจ.

ืœืื—ืจ ื›-5 ื“ืงื•ืช, ืœื—ื™ืฆื” ืขืœ ื”ืงื™ืฉื•ืจ, ืื ื• ืจื•ืื™ื ืฉื”ืืชืจ ืฉืœื ื• ื–ืžื™ืŸ ื›ืขืช ืœื›ื•ืœื.

ื›ื™ืฆื“ ืœืืจื— ืืชืจ ืกื˜ื˜ื™ ื‘ืืžืฆืขื•ืช Yandex.Cloud Object Storage

ืชื•ื“ื” ืœื›ืœ ืžื™ ืฉืงืจื ืขื“ ื”ืกื•ืฃ! ื–ื”ื• ื”ืžืืžืจ ื”ืจืืฉื•ืŸ ืฉืœื™; ืื ื™ ืžืชื›ื ืŸ ืœื”ืžืฉื™ืš ืœืชืืจ ืฉื™ืจื•ืชื™ื ืื—ืจื™ื ืฉืœ Yandex ื•ื”ืฉื™ืœื•ื‘ ืฉืœื”ื ืขื ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื—ื–ื™ืช ื•ื’ื‘.

ื›ืชื•ื‘ ื‘ื”ืขืจื•ืช ืขื“ ื›ืžื” ืืชื” ืžืขื•ื ื™ื™ืŸ ืœืœืžื•ื“ ืขืœ ืฉื™ืจื•ืชื™ Yandex ืื—ืจื™ื ืื• ืขืœ ื”ืฉื™ืžื•ืฉ ื‘-Angular ื‘ืคื™ืชื•ื— ืžื•ื“ืจื ื™.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”