
ΠΡΡΠ²Π°ΡΠ° ΡΡΡΠΏΠΊΠ° ΠΏΡΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ΡΠΎ Π² Kubernetes Π΅ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. Π ΡΠ°Π·ΠΈ ΡΠ΅ΡΠΈΡ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΎΠ±ΡΠ°Π· Π½Π° ΠΌΠ°Π»ΡΠΊ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Docker, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ°Π·ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ Π΅ Π±ΠΈΠ»ΠΎ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π»Π΅ΡΠ½ΠΎ. Π£ΠΊΠ°ΠΆΠ΅ΡΠ΅ Π±Π°Π·ΠΎΠ²ΠΈΡ ΠΎΠ±ΡΠ°Π·, Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ Π²Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.

ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½ Π·Π° Π½Π°ΡΠ°Π»ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ Π±Π°Π·ΠΎΠ²ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ, ΠΏΡΠ»Π½ΠΈ Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΈ Π² Docker ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Debian ΠΈΠ»ΠΈ Ubuntu Π·Π° Π±Π°Π·ΠΎΠ² ΠΎΠ±ΡΠ°Π· ΠΈ, ΠΌΠ°ΠΊΠ°Ρ ΡΠ΅ ΡΠΎΠ²Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΎΡΠ»ΠΈΡΠ½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ ΠΈ Π»Π΅ΡΠ½Π° Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ (Docker ΡΠ°ΠΉΠ»ΡΡ ΡΡΠ΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ Π΄Π²Π΅ ΡΠ΅Π΄Π° ΠΊΠΎΠ΄), Π±Π°Π·ΠΎΠ²ΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π·ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡ ΡΡΠΎΡΠΈΡΠΈ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π²ΡΠ² Π²Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°ΠΉΠ» Π½Π° Node.js ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Go "hello-world" Π·Π°Π΅ΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 700 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΡΠ°ΠΌΠΎΡΠΎ Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ ΡΠ°ΠΌΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°.

Π’Π°ΠΊΠ° ΡΡΠ»ΠΎΡΠΎ ΡΠΎΠ²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π΅ ΠΈΠ·Π»ΠΈΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ ΠΎΡΠ»ΠΈΡΠ΅Π½ ΡΠΊΡΠΈΠ²Π°Π»ΠΈΡΠ΅ Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ. ΠΠ°ΡΠΎΠ²Π° Π½Π΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π²Π° Π½Π°ΡΠΈΠ½Π° Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π·Π° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΡΡΠ²ΠΈΡΡ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±Π°Π·ΠΎΠ²ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ Ρ ΠΌΠ°Π»ΡΠΊ ΡΠ°Π·ΠΌΠ΅Ρ, Π²ΡΠΎΡΠΈΡΡ Π΅ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ Builder Pattern. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ Π±Π°Π·ΠΎΠ²ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π΅ Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠΈΡΡ Π½Π°ΡΠΈΠ½ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π²Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. Π‘ΠΊΠΎΡΠΎ Π²Π°ΡΠΈΡΡ Π΅Π·ΠΈΠΊ ΠΈΠ»ΠΈ ΡΡΠ΅ΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π΅Π½ ΠΎΠ±ΡΠ°Π· Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠΉΡΠΎ Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ ΠΎΠ±ΡΠ°Π·. ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Node.js.

ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, ΡΠ°Π·ΠΌΠ΅Ρ Π±Π°Π·ΠΎΠ²ΠΈΡ ΠΎΠ±ΡΠ°Π· Π½Π° Docker node:8 Π΅ 670 MB, Π° ΡΠ°Π·ΠΌΠ΅Ρ node:8-alpine Π΅ ΡΠ°ΠΌΠΎ 65 MB, ΡΠΎΠ΅ΡΡ 10 ΠΏΡΡΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈΡ Π±Π°Π·ΠΎΠ² ΠΎΠ±ΡΠ°Π· Alpine, Π²ΠΈΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠΈ. Alpine Π΅ ΠΌΠ°Π»ΡΠΊ ΠΈ Π»Π΅ΠΊ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π½Π° Linux, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ ΡΡΠ΅Π΄ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Docker, Π·Π°ΡΠΎΡΠΎ Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π°ΠΏΠ°Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ°Π»ΠΊΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ ΠΎΠ±ΡΠ°Π· Π½Π° Docker βnodeβ, βnode:alpineβ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ ΡΠ°ΠΌΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π²ΠΈ.
ΠΠ° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΠΊΡΠΌ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ Π±Π°Π·ΠΎΠ² ΠΎΠ±ΡΠ°Π·, ΠΏΡΠΎΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π΅ΡΠ΅ Docker ΡΠ°ΠΉΠ»Π°, Π·Π° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ° Ρ Π½ΠΎΠ²ΠΈΡ Π±Π°Π·ΠΎΠ² ΠΎΠ±ΡΠ°Π·:

Π‘Π΅Π³Π°, Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°Π· onbuild, ΡΡΡΠ±Π²Π° Π΄Π° ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ΄Π° ΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. Π Π½ΠΎΠ²ΠΈΡ Docker ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ Π·Π°ΠΏΠΎΡΠ²Π° Ρ ΠΎΠ±ΡΠ°Π·Π° node:alpine, ΠΏΠΎΡΠ»Π΅ ΡΡΠ·Π΄Π°Π²Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π·Π° ΠΊΠΎΠ΄Π°, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ Ρ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ NPM ΠΈ Π½Π°ΠΊΡΠ°Ρ ΡΡΠ°ΡΡΠΈΡΠ° server.js.

Π‘ ΡΠΎΠ²Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠΎΠΉΡΠΎ Π΅ 10 ΠΏΡΡΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΠΊΠΎ Π΅Π·ΠΈΠΊΡΡ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ ΠΈΠ»ΠΈ ΡΡΠ΅ΠΊΡΡ Π½ΡΠΌΠ° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π±Π°Π·ΠΎΠ²ΠΈΡ ΠΎΠ±ΡΠ°Π·, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Alpine Linux. Π’ΠΎΠΉ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠ»Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°Π»ΠΊΠΈ Π±Π°Π·ΠΎΠ²ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ Π΅ ΠΎΡΠ»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° Π±ΡΡΠ·ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. ΠΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΡΠ΅ ΠΎΡΠ΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠΎ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Builder Pattern.

Π ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π΅Π·ΠΈΡΠΈ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΡΠ²ΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π° Π½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°. Π ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π΅Π·ΠΈΡΠΈ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΡΠ° Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ ΠΊΠΎΠ΄. ΠΡΠΈ ΡΠΎΠ²Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π΅ ΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π°. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π΅ΡΠ΅ ΡΠ΅Π·ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΡΠΈΠ½Π°Π»Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠ° ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Builder Pattern.

ΠΠΎΠ΄ΡΡ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° Π² ΠΏΡΡΠ²ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈ ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΡΠ΅ ΠΎΠΏΠ°ΠΊΠΎΠ²Π° Π² ΡΠΈΠ½Π°Π»Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π±Π΅Π· ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΊΠΎΠ΄. ΠΠ΅ΠΊΠ° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΏΡΠ΅Π· ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠ΅Ρ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Go. ΠΡΡΠ²ΠΎ, ΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΎΡ ΠΎΠ±ΡΠ°Π·Π° onbuild ΠΊΡΠΌ Alpine Linux.

Π Π½ΠΎΠ²ΠΈΡ ΡΠ°ΠΉΠ» Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ Π·Π°ΠΏΠΎΡΠ²Π° Ρ ΠΎΠ±ΡΠ°Π·Π° golang:alpine. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΠ·Π΄Π°Π²Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π·Π° ΠΊΠΎΠ΄Π°, ΠΊΠΎΠΏΠΈΡΠ° ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π² Π½Π΅Π³ΠΎ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° ΡΠΎΠ·ΠΈ ΠΊΠΎΠ΄ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Π’ΠΎΠ·ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° onbuild, Π½ΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ ΡΡΠ΄ΡΡΠΆΠ° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π½Π° Go, ΠΊΠΎΠΈΡΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π½Π΅ ΡΠ° Π½ΠΈ Π½ΡΠΆΠ½ΠΈ. ΠΠ°ΡΠΎΠ²Π° Π½Π΅ΠΊΠ° ΠΏΡΠΎΡΡΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΈ Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ Π² Π½Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ.

ΠΠΎΠΆΠ΅ Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅ Π½Π΅ΡΠΎ ΡΡΡΠ°Π½Π½ΠΎ Π² ΡΠΎΠ·ΠΈ Docker ΡΠ°ΠΉΠ»: ΡΠΎΠΉ ΡΡΠ΄ΡΡΠΆΠ° Π΄Π²Π΅ ΡΠ΅Π΄ΠΈΡΠΈ FROM. ΠΡΡΠ²ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π» ΠΎΡ 4 ΡΠ΅Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠΎΡΠ½ΠΎ ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡ Docker ΡΠ°ΠΉΠ», Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ²Π°, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ»ΡΡΠΎΠ²Π°ΡΠ° Π΄ΡΠΌΠ° AS, Π·Π° Π΄Π° Π΄Π°Π΄Π΅ ΠΈΠΌΠ΅ Π½Π° ΡΠ°Π·ΠΈ ΡΡΡΠΏΠΊΠ°. Π ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΡΠ°Π·Π΄Π΅Π» ΠΈΠΌΠ° Π½ΠΎΠ²Π° ΡΠ΅Π΄ΠΈΡΠ° FROM, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Π½ΠΎΠ² ΠΎΠ±ΡΠ°Π·, ΠΊΠ°ΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΠ°Π·Π° golang:alpine ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Raw alpine.
Raw Alpine Linux Π½ΡΠΌΠ° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π΅ΡΡΠΏΠ΅Ρ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ API ΠΎΠ±Π°ΠΆΠ΄Π°Π½ΠΈΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTPS, Π·Π°ΡΠΎΠ²Π° Π½Π΅ΠΊΠ° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΡΠ΅Π½ΠΎΠ²ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° CA.
Π ΡΠ΅Π³Π° Π½Π°ΠΉ-ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΡΠΎ: Π·Π° ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄ ΠΎΡ ΠΏΡΡΠ²ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π²ΡΠ² Π²ΡΠΎΡΠΈΡ ΠΏΡΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° COPY, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π² 5-ΠΈΡ ΡΠ΅Π΄ Π½Π° Π²ΡΠΎΡΠΈΡ ΡΠ°Π·Π΄Π΅Π». Π’Ρ ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ° ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ Π½ΡΠΌΠ° Π΄Π° Π·Π°ΡΡΠ³Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° Go. ΠΠΎΠ²ΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ΡΠ°ΠΏΠ΅Π½ Docker ΡΠ°ΠΉΠ» ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ° ΠΎΠ±ΡΠ°Π· Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΌΠΎ 12 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΡ ΠΎΠ±ΡΠ°Π· Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π±Π΅ΡΠ΅ 700 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°, Π° ΡΠΎΠ²Π° Π΅ Π³ΠΎΠ»ΡΠΌΠ° ΡΠ°Π·Π»ΠΈΠΊΠ°!
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°Π»ΠΊΠΈ Π±Π°Π·ΠΎΠ²ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π·Π° ΠΏΠΎΡΡΡΠΎΡΠ²Π°Π½Π΅ (Builder Pattern) Π΅ ΠΎΡΠ»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΈ Π±Π΅Π· Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΠ°.
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΡΠ΅ΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, Π΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΡΠΈΠ½ΠΈ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π·Π° ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π½ΠΎ Π½Π°ΠΈΡΡΠΈΠ½Π° Π»ΠΈ ΠΌΠ°Π»ΠΊΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈΠΌΠ°Ρ ΠΈΠ·ΠΌΠ΅ΡΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎ? ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π²Π° Π°ΡΠΏΠ΅ΠΊΡΠ°, Π² ΠΊΠΎΠΈΡΠΎ ΠΌΠ°Π»ΠΊΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΡΠ° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ β ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
ΠΠ° Π΄Π° ΠΎΡΠ΅Π½ΠΈΠΌ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, Π½Π΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠ°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΌΡ Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ° (push) ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ ΠΎΡΡΠ°ΠΌ (pull). ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠΌΠ° Π½Π΅ΠΎΡΠΏΠΎΡΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ ΡΠ°Π·ΠΌΠ΅Ρ.

Docker ΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ° ΡΠ»ΠΎΠ΅Π²Π΅ΡΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·ΠΎ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π² ΠΌΠ½ΠΎΠ³ΠΎ CI ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΡΠ»ΠΎΠ΅Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°Ρ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅. ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ Π³ΠΎΠ»ΡΠΌ ΡΠ°Π·ΠΌΠ΅Ρ Π²Π°ΡΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ 34 ΠΈ 54 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΌΠΎΡΠ½ΠΎΡΡΡΠ° Π½Π° Π²Π°ΡΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΡ, Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Π½Π°ΠΌΠ°Π»Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Builder Pattern, Π΅ ΠΌΠ΅ΠΆΠ΄Ρ 23 ΠΈ 28 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ. ΠΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΡ 40 Π΄ΠΎ 50%. ΠΠ°ΡΠΎΠ²Π° ΠΏΡΠΎΡΡΠΎ ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΡΠ΅ ΠΈ ΡΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ΄Π° ΡΠΈ.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ Π΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½, ΡΡΡΠ±Π²Π° Π΄Π° ΠΊΠ°ΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π·Π° ΠΌΡ (push container image) Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΡ, Π·Π° Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π² ΡΠ²ΠΎΡ Kubernetes ΠΊΠ»ΡΡΡΠ΅Ρ. ΠΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Google Container Registry.

ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Google Container Registry (GCR), ΠΏΠ»Π°ΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ Π·Π° 'ΡΡΡΠΎΠ²ΠΎ' Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈ ΠΌΡΠ΅ΠΆΠ°, Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΠ°ΠΊΡΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π½Π΅ ΡΠ΅ Π½Π°ΡΠΈΡΠ»ΡΠ²Π°. Π’ΠΎΠ²Π° Π΅ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΎ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·ΠΎ. GCR ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠΎΠ²Π΅, Π·Π° Π΄Π° ΡΡΠΊΠΎΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° pull. ΠΠ°ΠΊΡΠΎ Π²ΠΈΠΆΠ΄Π°ΡΠ΅, ΠΊΠ°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ°Π·Π° Π½Π° Docker Container Image ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° go:onbuild, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ°, ΠΎΡΠ½Π΅ΠΌΠ° ΠΎΡ 15 Π΄ΠΎ 48 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π° ΡΡΡΠ°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ ΡΠ°Π·ΠΌΠ΅Ρ β ΠΎΡ 14 Π΄ΠΎ 16 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, ΠΊΠ°ΡΠΎ Π·Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎΡΠΎ Π² ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π½Π°ΡΠ°ΡΡΠ²Π° 3 ΠΏΡΡΠΈ. ΠΠ° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΠΎΡΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ GCR ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΠΊΠ΅Ρ Π·Π° ΠΎΠ±ΡΠ° Π±Π°Π·Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠΎ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΈ ΠΊΠ°ΡΠ²Π°ΡΠ΅. Π ΠΊΠΎΠΌΠΏΡΡΡΡ Ρ ΠΌΠ°Π»ΠΊΠ° ΠΌΠΎΡΠ½ΠΎΡΡ CPU Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎΡΠΎ ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΎΡΠ΅Π·Π°Π΅ΠΌΠΎ.
ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ GCR, Π½Π°ΡΡΠΎΡΡΠ΅Π»Π½ΠΎ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Google Container Builder (GCB) ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅.

ΠΠ°ΠΊΡΠΎ Π²ΠΈΠΆΠ΄Π°ΡΠ΅, Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ Π² Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Build+Push, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π΄ΠΎΡΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° β Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΊΡΠΌ Ρ
ΠΎΡΡ ΡΠ΅ ΡΡΠΊΠΎΡΡΠ²Π° ΠΏΠΎΡΡΠΈ Π΄Π²Π° ΠΏΡΡΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ 120 ΠΌΠΈΠ½ΡΡΠΈ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½Π° ΡΠ±ΠΎΡΠΊΠ°, ΠΊΠΎΠ΅ΡΠΎ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ²Π° Π½ΡΠΆΠ΄ΠΈΡΠ΅ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ.
Π‘Π»Π΅Π΄Π²Π° Π½Π°ΠΉ-Π²Π°ΠΆΠ½Π°ΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠ° Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ β ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅, ΠΈΠ»ΠΈ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Pull. Π Π°ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΡΠ°Π·Ρ ΠΎΠ΄Π²Π° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° push, Π½Π΅ Π²ΠΈ ΠΏΡΠΈΡΠ΅ΡΠ½ΡΠ²Π° ΠΎΡΠΎΠ±Π΅Π½ΠΎ, ΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° pull ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎ Π²Π»ΠΈΡΠ΅ Π²ΡΡΡ Ρ ΠΎΠ±ΡΠ°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΠΊΠ»ΡΡΡΠ΅Ρ ΠΎΡ ΡΡΠΈ Π²ΡΠ·Π΅Π»Π° ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΎΡ ΡΡΡ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»Ρ. ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΊΠ°ΡΠΎ Google Kubernetes Engine, ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈ Π½Π΅ΡΠ°Π±ΠΎΡΠ΅ΡΠΈΡ Π²ΡΠ·Π΅Π» Ρ Π½ΠΎΠ². ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΡΠΎΠ·ΠΈ Π½ΠΎΠ² Π²ΡΠ·Π΅Π» ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠ°Π·Π΅Π½ ΠΈ ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π²Π°ΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, Π·Π° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ. ΠΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° pull Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄ΡΠ»Π³Π°, ΡΠΎ ΠΏΡΠ΅Π· Π²ΡΠΈΡΠΊΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π²Π°ΡΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΏΠΎ-Π½ΠΈΡΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ: Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ² Π²ΡΠ·Π΅Π» Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°, Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ·Π»ΠΈΡΠ΅ ΠΈΠ»ΠΈ Π΄ΠΎΡΠΈ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅. Π’Π°ΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ pull ΡΡΠ°Π²Π° ΠΊΠ»ΡΡΠΎΠ² ΡΠ°ΠΊΡΠΎΡ. ΠΠ΅ΠΎΡΠΏΠΎΡΠΈΠΌΠΎ Π΅, ΡΠ΅ ΠΌΠ°Π»ΡΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ΅ ΠΈΠ·ΡΠ΅Π³Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΎΡ Π³ΠΎΠ»ΡΠΌ. ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° Kubernetes, ΡΠΏΠ΅ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ.

ΠΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎΡΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅: ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° pull ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠ°Π»ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΎΡΠ½Π΅ΠΌΠ° ΠΌΠ΅ΠΆΠ΄Ρ 4-9 ΠΏΡΡΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΌΠΎΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΌΠ°ΡΠΈΠ½Π°ΡΠ°, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΡΡΡΠ°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° go:onbuild. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Ρ ΠΌΠ°Π»ΡΠΊ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΡΠ²Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΈ ΡΠΊΠΎΡΠΎΡΡΡΠ°, Ρ ΠΊΠΎΡΡΠΎ Π½ΠΎΠ²ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ Π² Kubernetes ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ°Π·Π³ΡΡΡΠ°Ρ ΠΈ ΡΠ²ΡΡΠ·Π²Π°Ρ Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ.
ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΡΠΏΡΠΎΡΠ° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°. Π‘ΠΌΡΡΠ° ΡΠ΅, ΡΠ΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΈ ΠΎΡ Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°Ρ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠ° ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡ Π½Π° Π°ΡΠ°ΠΊΠ°. ΠΡΡΠ½ΠΎ Π»ΠΈ Π΅ ΡΠΎΠ²Π°? ΠΠ΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΏΠΎΠ»Π΅Π·Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Google Container Registry Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄Π° ΡΠΊΠ°Π½ΠΈΡΠ° Π²Π°ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΡΠ΅Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ΅ΡΠ΅ΡΠ° ΡΡΠ·Π΄Π°Π΄ΠΎΡ ΠΊΠ°ΠΊΡΠΎ onbuild, ΡΠ°ΠΊΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠΉΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ Π½Π΅ΠΊΠ° Π²ΠΈΠ΄ΠΈΠΌ Π΄Π°Π»ΠΈ ΠΈΠΌΠ° ΡΠ°ΠΌ Π½ΡΠΊΠ°ΠΊΠ²ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.

Π Π΅Π·ΡΠ»ΡΠ°ΡΡΡ Π΅ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΠ²Π°Ρ: Π² ΠΌΠ°Π»ΠΊΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ° ΠΎΡΠΊΡΠΈΡΠΈ ΡΠ°ΠΌΠΎ 3 ΡΡΠ΅Π΄Π½ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, Π° Π² Π³ΠΎΠ»Π΅ΠΌΠΈΡ β 16 ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΠΈ 376 Π΄ΡΡΠ³ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΠΊΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½ΡΠΌΠ°Ρ Π½ΠΈΡΠΎ ΠΎΠ±ΡΠΎ Ρ Π½Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄ΠΎΡΠΈ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. ΠΠ°ΡΠΎΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ Ρ
ΠΎΡΠ°ΡΠ° Π³ΠΎΠ²ΠΎΡΡΡ Π·Π° Π³ΠΎΠ»ΡΠΌΠ° ΠΏΠΎΠ²ΡΡΡ
Π½ΠΎΡΡ Π½Π° Π°ΡΠ°ΠΊΠΈ, ΠΈΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ²Π°.

ΠΠ·Π²ΠΎΠ΄ΡΡ Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½: ΡΡΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΌΠ°Π»ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, Π·Π°ΡΠΎΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΡΠ΅Π°Π»Π½ΠΈ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°.

ΠΠ°Π»ΠΊΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΠ° π
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ, ΡΠ΅ ΠΎΡΡΠ°Π²Π°ΡΠ΅ Ρ Π½Π°Ρ. Π₯Π°ΡΠ΅ΡΠ²Π°ΡΠ΅ Π»ΠΈ Π½Π°ΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΈ? ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈ? ΠΠΎΠ΄ΠΊΡΠ΅ΠΏΠ΅ΡΠ΅ Π½ΠΈ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΠΎΡΡΡΠΊΠ° ΠΈΠ»ΠΈ Ρ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ·Π½Π°ΡΠΈ, , ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ Π°Π½Π°Π»ΠΎΠ³ Π½Π° entry-level ΡΡΡΠ²ΡΡΠΈ, ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΎΡ Π½Π°Ρ Π·Π° ΠΠ°Ρ: (Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΎΠΏΡΠΈΠΈ Ρ RAID1 ΠΈ RAID10, Π΄ΠΎ 24 ΡΠ΄ΡΠ° ΠΈ Π΄ΠΎ 40GB DDR4).
Dell R730xd Π΄Π²Π° ΠΏΡΡΠΈ ΠΏΠΎ-Π΅Π²ΡΠΈΠ½ Π² Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΡΠ° Equinix Tier IV Π² ΠΠΌΡΡΠ΅ΡΠ΄Π°ΠΌ? Π‘Π°ΠΌΠΎ ΠΏΡΠΈ Π½Π°Ρ Π² ΠΠΈΠ΄Π΅ΡΠ»Π°Π½Π΄ΠΈΡ! Dell R420 β 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB β ΠΎΡ $99! Π§Π΅ΡΠ΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π°
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
