แฐแแ แฐแแแ !
แแ แกแขแแขแแแจแ แแ แแแขแงแแแ, แแฃ แ แแแแ แแแ แขแแแแ แแ แแแ แขแแแแ แแแแฌแงแแ แกแขแแขแแแฃแ แ แแแแกแแแขแ Yandex แขแแฅแแแแแแแแแแก แแแแแงแแแแแแ, แแแ แซแแ แแแแแฅแขแแก แจแแแแฎแแ.
แกแแแแแแ แฏแแแจแ, แแฅแแแ แแแฅแแแแแ แแแ โ แแแแ แแ, แ แแแแแแช แฎแแแแแกแแฌแแแแแ แแฅแแแแ แแแ แ แแแฃแแแก แกแแจแฃแแแแแแ.
แแก แกแขแแขแแ แกแแกแแ แแแแแ แแฅแแแแ แแฃ แแฅแแแ
- แแแแฌแงแแแ แแแแแแแแแ แ, แ แแแแแแช แแฎแแแฎแแ แกแฌแแแแแแก แแ แแแ แแแแ แแแแก;
- แแแแแแแแแ แ, แ แแแแแแแช แจแแฅแแแ แแแ แขแคแแแแ แแ แกแฃแ แก แแแแแแแแกแแก แแแ แกแแฏแแ แ แแแแแแจแ, แ แแแ แแฉแแแแแก แแแ แแแแแแ แแแกแ แแ แแแแกแแฅแแแแแแแก.
แฉแแ แจแแกแแฎแแ
แชแแขแ แฎแแแก แฌแแ, แแ แแแแแแแ แแแแ SaaS แกแแ แแแกแก, แแ แแแแแ แแแแแ แก, แกแแแแช แฎแแแฎแ แแแฃแแแแก แกแแแ แขแฃแ แขแ แแแแ แแแก แแแ แแแ แแแ แฏแแจแแกแแแแก. แแแแแแงแแแ แแแแแแแแก แแแ แกแแ แแแกแแแแก แแแกแขแ (แจแแแแแแแจแ AWS). แแแแ แแ แ แแช แฃแคแ แ แฆแ แแแ แฉแแแฃแฆแ แแแแแ แแ แแแฅแขแก, แแแ แฃแคแ แ แแแข แแแฃแแแกแก แแแแแแแ แกแขแแ แขแแแแก แแ แแแแแแแแแก แกแฎแแแแแกแฎแแ แแ แแชแแกแแแแก แจแแกแแฎแแ.
แจแแแแฅแแแ แจแแแแแแ แแ แแแแแแแแ:
- AWS แแแ แคแฃแแก แแแแฎแแแ แแ. 3 แฌแแแ แแแแฃแจแแแ Enterprise แแแแแแแแแแจแ, แจแแแแฉแแแ แแกแแ แกแแฎแแ แฃแแแแก, แ แแแแ แแชแแ Docker, Kubernetes, CI/CD, แแฃแ แฏแ แแฌแแแแ แแแแแแแแแ แแ, แ แแแแ แช แแแแฌแงแแ แกแขแแ แขแแ แแ แแแ แแแแกแขแก, แแแแแแแ แแแแแ แแแแแแฎแแ แชแแแแแแแแ. แจแแแแแแ แแแแแแ แแแกแแแแแแแ, แ แแ AWS แงแแแแแแแแฃแ แแ แแแแฎแแแ แแ 300-400 แแแแแ แก. Kubernetes แแฆแแแฉแแแ แงแแแแแแ แซแแแ แ, แแแแฎแแแแแแ 100 แแแแแ แ, แแแแแแแแฃแ แ แฎแแแคแแกแแ แแ แแ แแแแกแขแแ แ แแ แแ แแ แแแแแซแ.
PS แแ แแ แแก แกแแญแแ แ แแแแก แแแแแแแแ แแแแแแแแแ. - แจแแแแแ, แแฃแ แแแแฃแ แแฎแแ แแแ แคแแฅแ แแ, แจแแแแขแงแแ 152-FZ แแแแแแแก แจแแกแแฎแแ, แ แแแแแแช แแกแ แแแแแแแ: "แ แฃแกแแแแก แคแแแแ แแชแแแก แแแฅแแแแฅแแแแแก แแแ แกแแแแแฃแ แ แแแแแชแแแแแ แฃแแแ แแแแฎแแแแแแก แ แฃแกแแแแก แคแแแแ แแชแแแก แขแแ แแขแแ แแแแ"แแแ แแ แฏแแ แแแแแ, แ แแช แแ แแแแแแแ. แแแแแแฌแงแแแขแ แแ แกแแแแแฎแแแแก แแแแแแ แแแ แแแแแ, แกแแแแ แแแแแแแ แแแแแแแแ :).
แจแแแแแแแแฃแแ
แฉแแแแแแก Yandex.Cloud-แแก แซแแ แแแแแ แแแฎแแกแแแแแแแแแ แจแแแแแแ แแงแ:
- 2-3-แฏแแ แแแคแ (แแแแแ แกแขแแขแแแก แแ แกแแฏแแ แ แคแแกแแแแก แกแแแแแก แแแฎแแแแแ)
แแแแฎแแแ แแแแแก แแแ แกแแแแแฃแ แ แแแแแชแแแแแแก แจแแแแฎแแ แ แฃแกแแแแก แคแแแแ แแชแแแก แขแแ แแขแแ แแแแ , แ แแกแแช แแแแ แแแแแแแ แฏแแ แแแ แแแแฆแฌแแแก.
แแ แจแแแแกแฌแแแแ แแ แกแแ แแแกแแก แกแฎแแ แแแแแฃแ แแแขแแแ, แแแแ แแ แแ แแ แแก Yandex แแแแ แฏแแแแแ.
แแ แแแแฎแแ แ แฉแแแก แจแแกแแฎแแ, แแกแ แ แแ, แกแแฅแแแก แแแแฃแแแแ.
แแแแแฏแ 0. แแแแแแแแแ แกแแแขแ
แแแ แแแ แ แแแจแ, แฉแแแ แแแญแแ แแแแ แแแแแแแ แแ, แ แแแแแแช แแแแแแ แแแแแแแแแกแแ แแแขแแ แแแขแจแ. แแแแแแแแ แแ แแแ Angular แแแแแแแแแ แ, แแแแแแแแแ แแแ แขแแ SPA แแแแแแแชแแแก แจแแแแแแก, แ แแแแแกแแช แจแแแแแ แแแแแแ แแแขแแ แแแขแจแ.
PS แแแก แแกแแแก Angular แแ แแชแแก แแแกแ แแแแฃแแแแขแแชแแแก แจแแกแแฎแแ
แแแแแ แแแแแงแแแแ Angular-CLI Angular-แจแ SPA แกแแแขแแแแก แจแแกแแฅแแแแแแ:
npm install -g @angular/cli
แแแแแ แจแแแฅแแแแ Angular แแแแแแแชแแ แจแแแแแแ แแ แซแแแแแแก แแแแแงแแแแแแ:
ng new angular-habr-object-storage
แจแแแแแ แแแแแแแ แแแแแแแชแแแก แกแแฅแแฆแแแแแจแ แแ แแแฃแจแแแ แแแกแ แคแฃแแฅแชแแแแแ แแแแก แจแแกแแแแฌแแแแแแ:
cd angular-habr-object-storage
ng serve --open
แแแแแแแชแแ แจแแแฅแแแ, แแแแ แแ แฏแแ แแ แแ แแก แแแแ แฐแแกแขแแแแแกแแแแก. แแแแแ แจแแแแ แแแแ แแแแแแแชแแ แแแขแแ แ แแแแกแขแ แฃแฅแชแแแจแ (Production), แ แแ แแแแแฆแแ แงแแแแ แแ แแกแแญแแ แ แแแแแ แแ แแแแขแแแแ แแฎแแแแ แกแแญแแ แ แคแแแแแแ.
Angular-แจแ แแแแก แแแแแแแแ แจแแแแซแแแแ แจแแแแแแ แแ แซแแแแแแ:
ng build --prod
แแ แแ แซแแแแแแก แจแแแแแแ, แกแแฅแแฆแแแแ แแแแแฉแแแ แแแแแแแชแแแก แซแแ แจแ dist
แฉแแแแ แแแแแแแ แแแ.
แกแแแฃแจแแแแแ. แแฎแแ แแแแแแแแแ แฐแแกแขแแแแแ.
แแแแแฏแ 1.
แแแแแ แแแแแแแแแ แกแแแขแแ
แจแแแแจแแแ:
- Yandex แกแแ แแแกแแก แแแแแกแแงแแแแแแแ, แจแแแซแแแแ แแแแญแแ แแแ Yandex แคแแกแขแ (แแแแ แแ แแก แแ แแ แแก แแแ แแแแฃแแ)
- แแแแแแ แแ แคแฃแแฅแชแแแกแแแแก แแแแแฌแแแ แแแแฎแแก แฉแแ แแชแฎแแ แแฅแแแแก แแแแแ แแจแแ แแฅแแแแก แแแ แแ แแแแแ แแจแแ (แแแแแแฃแ 500 แ แฃแแแ).
แฌแแ แแแขแแแฃแแ แ แแแแกแขแ แแชแแแกแ แแ แแแขแแ แแแแชแแแก แจแแแแแ, แฉแแแ แแแ แ แแฅแแแแก แแแ แแ แแแแแ แแจแแ.
แแแแแฃแจแ แแแ แชแฎแแแ, แแฅแแแ แฃแแแ แแแแแแ แกแแ แแแกแ "แแแแแฅแขแแแแก แจแแแแฎแแ", แ แแแแแกแแช แฉแแแ แแแแแแแงแแแแแ แกแแแขแแก แฐแแกแขแแแแแกแแแแก.
แแแแแแ แขแแ แแแแแแแ:
- Object Storage แแ แแก แคแแแแแแแก แจแแแแฎแแ, แ แแแแแแช แแแแกแแแแแแ Amazon-แแก แแกแแแแก AWS S3 แขแแฅแแแแแแแแกแแแ, แ แแแแแกแแช แแกแแแ แแฅแแก แกแแแฃแแแ แ API แแแแแแแ แแแฎแกแแแ แแแแก แแแ แแแแกแแแแก แแ, AWS S3-แแก แแกแแแแกแแ, แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แกแขแแขแแแฃแ แ แกแแแขแแก แแแแกแแแแแกแแแแแ.
- Object Storage-แจแ แฉแแแ แแฅแแแแ "buckets" (buckets), แ แแแแแแแช แฉแแแแ แคแแแแแแแก แชแแแแ แจแแกแแแแฎแ แแแแแแแแแ.
แแแแแ แจแแแฅแแแแ แแ แแ แแแแแแแ. แแแแกแแแแแก แกแแ แแแกแแก แแแแกแแแจแ แแแแฌแแแแฃแแแ แฆแแแแแแ โแจแแฅแแแ bucketโ.
แแแแแฃแแแก แจแแฅแแแแก แคแแ แแแก แแฅแแก แจแแแแแแ แแแแแแ, แแแแแแฎแแแแ แแแ:
- Bucket แกแแฎแแแ. แกแแแแ แขแแแแกแแแแก, แแแแแ แแ แแแฅแขแก แแแแแ แฅแแแ แแแแแ, แ แแช Angular -
angular-habr-object-storage
- แแแฅแก. แแแแ. แฉแแแ แคแกแแแก แแแแแ แแแแแแก, แ แแแแแแกแแช แฉแแแแ แกแแแขแ แแฌแแแแก, แ แแแแแ แกแแแขแ แแ แแแแฎแแแ แฃแคแแกแแ แแ แแแแแแฃแแ แแแแแงแแคแแแ แแแแแแแแขแแกแแแแก Yandex-แก แแแแแแฃแฎแแแ แกแแแแแแ แแแแกแก.
- แฌแแแแแ แฌแแแแแฎแฃแ แแแแแฅแขแแแแ. แฉแแแ แแแแแงแแแแ แแก โแกแแฏแแ แโ, แ แแแแแ แแแแฎแแแ แแแแแแ แฃแแแ แแแแฆแแก แฉแแแแ แกแขแแขแแแฃแ แ แกแแแขแแก แแแแแแฃแแ แคแแแแ, แ แแแ แแแกแแ แกแฌแแ แแ แแแฎแแขแแก แแแแแแแแแ, แแแแฃแจแแแแแก แกแแ แแแขแแแ แแ แ.แจ.
- แฌแแแแแ แแแแแฅแขแแแแก แกแแแแ แแ แฌแแแแแ แฌแแแแแฎแแแก แแแ แแแแขแ แแแแ. แแแขแแแแ แ แแแแ แช "แจแแแฆแฃแแฃแแ". แแก แแฃแชแแแแแแแแ แแแแกแแแแแก, แ แแ แแแแแแงแแแแ bucket, แ แแแแ แช แจแแแ แคแแแแแแแก แกแแชแแแ แแแแแแแชแแแแแกแแแแก.
- แจแแแแฎแแแก แแแแกแ. แแแขแแแ แ แแแแ แช "แกแขแแแแแ แขแ". แแก แแแจแแแแก, แ แแ แฉแแแแก แกแแแขแก แฎแจแแ แแ แแฌแแแแ แแ, แจแแกแแแแแแกแแ, แกแแแขแก แจแแแแแแแแแแ แคแแแแแแ แฎแจแแ แแ แฉแแแแแขแแแ แแแแ. แแแ แแ แแแแกแ, แแแแแแแขแ แแแแแแแแก แแฎแแแแก แจแแกแ แฃแแแแแกแ แแ แแแแแฎแแแแ (แฉแแแแ แแแฃแแ).
แแแแฌแแแแฃแแแ "แจแแฅแแแ bucket" แแ bucket แแฅแแแแแ.
แแฎแแ แฉแแแ แฃแแแ แแแขแแแ แแแ แฉแแแแ แกแแแขแ bucket-แจแ. แฃแแแ แขแแแแกแ แแแแ แแฎแแแแแแแแ แ แกแแฅแแฆแแแแแก แแแฎแกแแ dist
แฉแแแแก แกแแแขแแ แแ แแแแแแขแแแแ แแแ แแแ แแแแแ แแแแ แแแ แกแแฎแแแฃแ แแแแก แแแแแงแแแแแแ. แแก แฃแคแ แ แแแกแแฎแแ แฎแแแแแแ, แแแแ แ แฆแแแแแแ โแแแแแฅแขแแแแก แฉแแขแแแ แแแโ แแแฌแแแแฃแแแแแ, แ แแแแแ แแ แจแแแแฎแแแแแจแ แกแแฅแแฆแแแแแแแ แแ แแแแแแแก แแ แแฅแแแ แแแแแฌแแแ แแแแ แฎแแแแ แจแแฅแแแ แกแฌแแ แ แแแแแแแแแแ แแแแ.
แแกแ แ แแ, แกแแแขแ แแขแแแ แแแแ แกแแชแแแจแ, แแกแ แ แแ แฉแแแ แจแแแแแซแแแ แแแแชแแ แแแแฎแแแ แแแแแแก แจแแกแแซแแแแแแแ แจแแแแแแแ แกแแชแแแจแ, แ แแแแ แช แแแแกแแแขแ.
แแแแกแแแแแก แแแแแฃแก แแแ แชแฎแแแ แแฎแแ แแก แแแแฌแแแแฃแแแ แฉแแแแ แแแ "แแแแแแแ แแ".
แแแแแฃแแแก แกแแแขแแ แแแงแแแแแแก แแแแ แแแ แแแ แฉแแแ แฉแแแแ แแ โแฐแแกแขแแแแโ. แแฅ แฉแแแ แแแแฃแแแแแแ แกแแแขแแก แแแแแแ แแแแ แแก, แฉแแแฃแแแแ แแ index.html. แแฃ แแฅแแแ แแแฅแแ SPA แแแแแแแชแแ, แแแจแแ, แแแแแ, แงแแแแ แจแแชแแแแ แแกแแแ แแแแฃแจแแแแแฃแแแ แแแแแแ แแแแ แแแ, แแแแขแแ แฉแแแ แแกแแแ แแแแฃแแแแแแ index.html แจแแชแแแแแก แแแแ แแแ.
แฉแแแ แแแจแแแแ แแฎแแแแแ, แ แแแแแ แแแฃแแแ แแฅแแแแ แฎแแแแแกแแฌแแแแแ แฉแแแแ แกแแแขแ. แแแแญแแ แแ แจแแแแฎแแแก.
แแแแฎแแแแแแ 5 แฌแฃแแแก แจแแแแแ, แแแฃแแแ แแแฌแแแแฃแแแแแ, แแฎแแแแแ, แ แแ แฉแแแแ แกแแแขแ แฃแแแ แงแแแแแกแแแแก แฎแแแแแกแแฌแแแแแแ.
แแแแแแแ แงแแแแแก แแแแช แแแแแแแ แฌแแแแแแฎแ! แแก แแ แแก แฉแแแ แแแ แแแแ แกแขแแขแแ; แแ แแแแแ แแ แจแแแแแแแจแ แแฆแแฌแแ แ Yandex-แแก แกแฎแแ แกแแ แแแกแแแ แแ แแแแ แแแขแแแ แแชแแ แฌแแแ แแ แแแฅแแแแแก แขแแฅแแแแแแแแแแแ.
แแแฌแแ แแ แแแแแแขแแ แแแจแ แ แแแแแแแ แแแแแขแแ แแกแแแ แแแแชแแแ Yandex-แแก แกแฎแแ แกแแ แแแกแแแก แแ Angular-แแก แแแแแงแแแแแแก แแแแแแแแ แแแ แแแแแแแแ แแแแจแ.
แฌแงแแ แ: www.habr.com