article

article

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ контСйнСризация ΠΈ Docker

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ контСйнСризация ΠΈ Docker ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ составляСт ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡŽ упаковывания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈ зависимостями. ΠœΠ΅Ρ‚ΠΎΠ΄ обСспСчиваСт ΡΡ‚Π°Ρ€Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ сСрвисы Π² обособлСнной ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π½Π° любой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС. Docker являСтся вострСбованной систСмой для формирования ΠΈ управлСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ размСщСния сСрвисов 1xbet Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… срСдах. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ для упрощСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². Вопрос совмСстимости ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ с ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ПК, Π½ΠΎ отказываСтся ΡΡ‚Π°Ρ€Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ различия Π² вСрсиях ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, инсталлированных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ систСмных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². БСрвис Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ языка программирования ΠΈΠ»ΠΈ особыС элСмСнты. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ врСмя Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‡Π»Π΅Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ВСстировщики Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° для тСстирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Администраторы сСрвСров ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‚ мноТСство зависимостСй для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ°Π·ΠΈΠ½ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ сСрвСрС. ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиями Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… систСм. Одно ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ нуТдаСтся Python Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ 2.7, Π΄Ρ€ΡƒΠ³ΠΎΠ΅ нуТдаСтся Π² вСрсии 3.9. Установка ΠΎΠ±Π΅ΠΈΡ… Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ Π½Π° ΠΎΠ΄Π½Ρƒ срСду Π²Π»Π΅Ρ‡Π΅Ρ‚ ΠΊ трудностям совмСстимости. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ сСрвисов ΠΌΠ΅ΠΆΠ΄Ρƒ окруТСниями создания, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ эксплуатации прСобразуСтся Π² нСпростой процСсс. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ руководства ΠΏΠΎ установкС Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ дСсятки страниц Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ настройки остаСтся ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½Ρ‹ΠΌ ошибкам ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΉ систСмного администрирования. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ обособлСниС зависимостСй ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ устраняСт Π·Π°Π΄Π°Ρ‡Ρƒ совмСстимости способом инкапсуляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ со всСми Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ модулями Π² Ρ†Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ обособлСнноС срСду, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ выполняСтся нСзависимо ΠΎΡ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ… процСссов Π½Π° хост-систСмС. Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ зависимостСй Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ запуск Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСрвисов с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ условиями Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ пространство ΠΈΠΌΡ‘Π½ для процСссов, Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΈ сСтСвых интСрфСйсов. БСрвисы Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π΅ видят процСссы ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ смСТных срСд. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ обособлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ возмоТности ядра ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы для раздСлСния рСсурсов. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΎΠ±Ρ€Π΅Ρ‚Π°ΡŽΡ‚ ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, процСссорноС врСмя ΠΈ дисковоС пространство соотвСтствСнно Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π»ΠΈΠΌΠΈΡ‚Π°ΠΌ. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ расход рСсурсов ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΅Π³ΠΎ Π² любой ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π²ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ всСх зависимостСй для выполнСния прилоТСния 1xbet ΠΈ обСспСчиваСт ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ€Π°Π·Π½Ρ‹Ρ… срСдах. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹: отличия ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина эмулируСт ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ ПК с ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой ΠΈ ядром. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ раздСляСт ядро хост-систСмы ΠΈ обособляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ различия ΠΌΠ΅ΠΆΠ΄Ρƒ мСтодологиями Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ аспСкты: ОбъСм ΠΈ расход рСсурсов. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Ρ‹ дискового мСста ΠΈΠ·-Π·Π° Ρ†Π΅Π»ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ вСсит ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Ρ‹, Π²ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСрвис ΠΈ зависимости ΠΎΠ½Π»Π°ΠΉΠ½ ΠΊΠ°Π·ΠΈΠ½ΠΎ Π±Π΅Π· дублирования систСмных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². БыстродСйствиС старта. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина стартуСт ΠΌΠΈΠ½ΡƒΡ‚Ρ‹, выполняя ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ систСмы. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ запускаСтся Π·Π° сСкунды, запуская Ρ‚ΠΎΠ»ΡŒΠΊΠΎ процСссы сСрвиса. Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΡƒΡŽ ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния посрСдством Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ задСйствуСт срСдства ядра для обособлСния. ΠŸΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ размСщСния. Π£Π·Π΅Π» запускаСт дСсятки Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΈΠ·-Π·Π° высокого потрСблСния рСсурсов. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π΄Π°ΡŽΡ‚ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ сотни ΠΊΠΎΠΏΠΈΠΉ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΊΠ°Π·ΠΈΠ½ΠΎ Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΆΠ΅Π»Π΅Π·Π΅ благодаря ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ памяти. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Docker ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Docker являСт систСму для создания, поставки ΠΈ запуска сСрвисов Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ установку ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… окруТСниях Π½Π° любой инфраструктурС. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Docker Inc ΠΈΠ·Π΄Π°Π»Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π² 2013 Π³ΠΎΠ΄Ρƒ. АрхитСктура ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Docker Engine являСтся Π±Π°Π·ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ формирования ΠΈ администрирования ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ, REST API ΠΈ интСрфСйсом ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Docker Image являСт ΠΎΠ±Ρ€Π°Π·Π΅Ρ† для построСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π¨Π°Π±Π»ΠΎΠ½ содСрТит ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, зависимости ΠΈ настроСчныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠ°Π·ΠΈΠ½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ для старта прилоТСния. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΎΠ±Ρ€Π°Π·Ρ‹ Π½Π° основС Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Docker Container являСтся Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ экзСмпляром шаблона с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ чтСния ΠΈ записи. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ составляСт ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ для выполнСния процСссов сСрвиса. Docker Registry выступаСт Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠ², Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ ΠΈ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·Ρ†Ρ‹. Docker Hub выступаСт ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² 1xbet доступных для свободного использования. Как Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠžΠ±Ρ€Π°Π·Ρ‹ Docker построСны ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ слой являСт измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ слой Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡƒΡ€Π΅Π·Π°Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Alpine Linux ΠΈΠ»ΠΈ Ubuntu. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ сСрвиса, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ настройки. БистСма примСняСт ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡŽ copy-on-write для Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ сохранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. НСсколько шаблонов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠ΅ слои, сбСрСгая дисковоС мСсто. Когда Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€ создаёт Π½ΠΎΠ²Ρ‹ΠΉ шаблон Π½Π° Π±Π°Π·Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ, систСма ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ примСняСт Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΊΠ°Π·ΠΈΠ½ΠΎ вмСсто копирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ снова. ΠŸΡ€ΠΎΡ†Π΅ΡΡ старта ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° стартуСт с скачивания шаблона ΠΈΠ· рССстра ΠΈΠ»ΠΈ мСстного рСпозитория. Docker Engine создаёт Π»Π΅Π³ΠΊΠΈΠΉ записываСмый ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½Π°Π΄ слоёв ΠΎΠ±Ρ€Π°Π·Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. Π˜Π·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сохраняСт ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ Π²ΠΎ врСмя функционирования ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ запускаСт процСссы Π² обособлСнном пространствС ΠΈΠΌΠ΅Π½ с собствСнной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ cgroups ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ расход рСсурсов процСссами Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠŸΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° записываСмый ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сохраняСтся, давая Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ полоТСния. Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° стираСт измСняСмый слой, Π½ΠΎ шаблон остаСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ. Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ старт ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² (Dockerfile) Dockerfile являСт тСкстовый Ρ„Π°ΠΉΠ» с инструкциями для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ построСния ΠΎΠ±Ρ€Π°Π·Π°. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ инструкций, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… шаги создания окруТСния для прилоТСния. Π”Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис для указания основного шаблона ΠΈ установки зависимостСй. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ FROM опрСдСляСт Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ шаблон, Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ создаСтся Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Команда WORKDIR Π·Π°Π΄Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. RUN выполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ шСлла Π²ΠΎ врСмя построСния ΠΎΠ±Ρ€Π°Π·Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ½ΡΡ‚Π°Π»Π»ΡΡ†ΠΈΡŽ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ посрСдством ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² 1xbet ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ОБ. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° COPY ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· мСстной срСды Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму шаблона. ENV устанавливаСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды, доступныС процСссам Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ EXPOSE ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΏΠΎΡ€Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π΅Ρ‚ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹. CMD опрСдСляСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΈ стартС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ENTRYPOINT опрСдСляСт Π³Π»Π°Π²Π½Ρ‹ΠΉ исполняСмый Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠŸΡ€ΠΎΡ†Π΅ΡΡ построСния ΠΎΠ±Ρ€Π°Π·Π° стартуСт ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ docker build с Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΏΡƒΡ‚ΠΈ ΠΊ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. БистСма ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ выполняСт инструкции, создавая слои ΠΎΠ±Ρ€Π°Π·Π°. Команда docker run Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ запускаСт ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠ· Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π°. ΠŸΠ»ΡŽΡΡ‹ ΠΈ нСдостатки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ обСспСчиваСт программистам ΠΈ администраторам массу достоинств ΠΏΡ€ΠΈ взаимодСйствии с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ процСссы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ установки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ прСимущСства ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚: ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ систСмами ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΌΠΈ поставщиками Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°. БыстроС установку ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сСрвисов Π·Π° счёт нСбольшого Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ использованиС рСсурсов сСрвСра благодаря способности выполнСния массы ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС. ОбособлСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ противорСчия зависимостСй ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ систСмы. ΠžΠ±Π»Π΅Π³Ρ‡Π΅Π½ΠΈΠ΅ процСсса Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ поставки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΊΠ°Π·ΠΈΠ½ΠΎ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½ срСду. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ нСдостатки ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ структуры. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ ядро ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы хоста, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚

article

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ микросСрвисы ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ микросСрвисы ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹ ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ способ ΠΊ созданию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° дробится Π½Π° мноТСство ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ… ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ бизнСс-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. БСрвисы Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· сСтСвыС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹. ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π²Π°Π΅Ρ‚ трудности Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹Ρ… систСм. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ шанс Ρ‚Ρ€ΡƒΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π½Π°Π΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ модулями систСмы. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎ ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² прилоТСния. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠ΄Π±ΠΈΡ€Π°ΡŽΡ‚ инструмСнты ΠΈ языки программирования ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ†Π΅Π»ΠΈ. Главная Ρ†Π΅Π»ΡŒ микросСрвисов – ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ адаптивности Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π€ΠΈΡ€ΠΌΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π΅Π΅ Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ ΠΈ Ρ€Π΅Π»ΠΈΠ·Ρ‹. Π˜Π½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ΡΡ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Ошибка СдинствСнного сСрвиса Π½Π΅ Π²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΎΡ‚ΠΊΠ°Π·Ρƒ Ρ†Π΅Π»ΠΎΠΉ систСмы. vulcan casino прСдоставляСт ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ сбоСв ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ софта ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ систСмы Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π΅ ΡΠΎΠ²Π»Π°Π΄Π°ΡŽΡ‚ с ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°ΠΌΠΈ. ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. ΠšΡ€ΡƒΠΏΠ½Ρ‹Π΅ IT ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½ΡƒΡŽ структуру. Netflix Ρ€Π°Π·Π΄Ρ€ΠΎΠ±ΠΈΠ» Ρ†Π΅Π»ΡŒΠ½ΠΎΠ΅ систСму Π½Π° сотни Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Amazon построил систСму ΠΎΠ½Π»Π°ΠΉΠ½ ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ†ΠΈΠΈ ΠΈΠ· тысяч ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Uber ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ микросСрвисы для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π°ΠΊΠ°Π·ΠΎΠ² Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ распространённости DevOps-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ форсировал распространСниС микросСрвисов. Автоматизация дСплоя упростила ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±Ρ€Π΅Π»ΠΈ срСдства для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ доставки ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ инструмСнты для Π²ΡƒΠ»ΠΊΠ°Π½. Spring Boot ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ построСниС Java-сСрвисов. Node.js позволяСт Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π»Ρ‘Π³ΠΊΠΈΠ΅ асинхронныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Go обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сСтСвых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ² микросСрвисов: основныС Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ прСдставляСт Ρ†Π΅Π»ΡŒΠ½Ρ‹ΠΉ исполняСмый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ»ΠΈ Π°Ρ€Ρ…ΠΈΠ². ВсС элСмСнты систСмы тСсно связаны ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Сдиная для всСго систСмы. Π”Π΅ΠΏΠ»ΠΎΠΉ происходит Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠ°Π»ΠΎΠΉ возмоТности. ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π΄Ρ€ΠΎΠ±ΠΈΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° нСзависимыС сСрвисы. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сСрвис содСрТит ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π±Π°Π·Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ Π½Π°Π΄ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ сСрвисами Π±Π΅Π· синхронизации с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ. Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ всСго прилоТСния. Нагрузка распрСдСляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ инстансами. ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ΡΡ локально Π² зависимости ΠΎΡ‚ Π½ΡƒΠΆΠ΄. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ большС мощностСй, Ρ‡Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠΉ. ВСхнологичСский Π½Π°Π±ΠΎΡ€ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ для всСх частСй Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ языка ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ вСсь систСму. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΊΠ°Π·ΠΈΠ½ΠΎ позволяСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ для ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π·Π°Π΄Π°Ρ‡. Один сСрвис Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Python, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½Π° Java, Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π½Π° Rust. Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠ΄Π½ΠΎΠΉ отвСтствСнности опрСдСляСт Ρ€Π°ΠΌΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ модуля. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ выполняСт Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ бизнСс-Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ выполняСт это качСствСнно. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ администрирования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ процСссингом запросов. ЯсноС распрСдСлСниС обязанностСй ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ восприятиС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сСрвисов обСспСчиваСт Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ». АпдСйт ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ рСстарта Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй. Π“Ρ€ΡƒΠΏΠΏΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ подходящий Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π±Π΅Π· согласования. РаспрСдСлСниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвиса. НСпосрСдствСнный ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Ρ‡ΡƒΠΆΠΎΠΉ Π±Π°Π·Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ нСдопустим. ОбмСн ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ интСрфСйсы. Π£ΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΊ сбоям закладываСтся Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ структуры. ИспользованиС vulkan ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ внСдрСния Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠ² ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ. Circuit breaker останавливаСт Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΊ ΠΎΡ‚ΠΊΠ°Π·Π°Π²ΡˆΠ΅ΠΌΡƒ сСрвису. Graceful degradation ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ локальном сбоС. ΠšΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ микросСрвисами: HTTP, gRPC, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΈ ΠΈΠ²Π΅Π½Ρ‚Ρ‹ ΠšΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ модулями выполняСтся Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. ΠŸΠΎΠ΄Π±ΠΎΡ€ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ зависит ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π“Π»Π°Π²Π½Ρ‹Π΅ способы ΠΎΠ±ΠΌΠ΅Π½Π° Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚: REST API Ρ‡Π΅Ρ€Π΅Π· HTTP — Π»Ρ‘Π³ΠΊΠΈΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON gRPC — быстрый Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π½Π° Π±Π°Π·Π΅ Protocol Buffers для Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ сСриализации Π‘Ρ€ΠΎΠΊΠ΅Ρ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… — Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ‡Π΅Ρ€Π΅Π· посрСдники Ρ‚ΠΈΠΏΠ° RabbitMQ ΠΈΠ»ΠΈ Apache Kafka Event-driven ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ — рассылка событий для слабосвязанного ΠΎΠ±ΠΌΠ΅Π½Π° Π‘Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ запросы годятся для дСйствий, Π½ΡƒΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°. ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΆΠ΄Ρ‘Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ обращСния. ИспользованиС Π²ΡƒΠ»ΠΊΠ°Π½ с синхронной ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Асинхронный ΠΎΠ±ΠΌΠ΅Π½ сообщСниями ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ систСмы. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ сообщСния Π² Π±Ρ€ΠΎΠΊΠ΅Ρ€ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ сообщСния Π² подходящСС ΠΌΠΎΠΌΠ΅Π½Ρ‚. ΠŸΠ»ΡŽΡΡ‹ микросСрвисов: ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, нСзависимыС обновлСния ΠΈ тСхнологичСская Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ становится Π»Ρ‘Π³ΠΊΠΈΠΌ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ. АрхитСктура Π½Π°Ρ€Π°Ρ‰ΠΈΠ²Π°Π΅Ρ‚ количСство экзСмпляров Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ Π΄Π΅ΡΡΡ‚ΡŒ ΠΊΠΎΠΏΠΈΠΉ, Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ настроСк Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π² СдинствСнном инстансС. АвтономныС обновлСния ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ доставку свСТих возмоТностСй ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ. ΠšΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ² обновляСт ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ Π±Π΅Π· оТидания Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ Π΄Π΅ΠΏΠ»ΠΎΠ΅Π² растёт с нСдСль Π΄ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π· Π² дСнь. ВСхнологичСская Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ обСспСчиваСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ срСдства для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. БСрвис машинного обучСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Python ΠΈ TensorFlow. ВысоконагруТСнный API Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Go. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ с использованиСм ΠΊΠ°Π·ΠΈΠ½ΠΎ сниТаСт тСхничСский Π΄ΠΎΠ»Π³. Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ² ΠΎΠ±Π΅Ρ€Π΅Π³Π°Π΅Ρ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΎΡ‚ Ρ‚ΠΎΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π°. Ошибка Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² Π½Π΅ воздСйствуСт Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π·Π°ΠΊΠ°Π·ΠΎΠ². ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ частичной Π΄Π΅Π³Ρ€Π°Π΄Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ риски: Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ инфраструктуры, ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ диагностика Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚ ΠΈ экспСртизы. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ сСтСвого ΠΎΠ±ΠΌΠ΅Π½Π° затрудняСтся. ΠšΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Ρ€Π°ΡΡ…ΠΎΠ΄ΡƒΡŽΡ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° DevOps-Π·Π°Π΄Π°Ρ‡ΠΈ. Π‘ΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ модулями становится ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎΠΉ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ. РаспрСдСлённыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слоТны Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Eventual consistency Π²Π»Π΅Ρ‡Ρ‘Ρ‚ ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ нСсоотвСтствиям. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄ΠΈΡ‚ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π΄ΠΎ согласования сСрвисов. ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… срСдств. Запрос слСдуСт Ρ‡Π΅Ρ€Π΅Π· мноТСство ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ привносит Π»Π°Ρ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ vulkan услоТняСт отслСТиваниС ошибок Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Турналирования. Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ латСнтности ΠΈ сбои Π²Π»ΠΈΡΡŽΡ‚ Π½Π° быстродСйствиС систСмы. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ добавляСт Π»Π°Ρ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ. ΠšΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ СдинствСнного сСрвиса Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ зависимых ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Cascade failures Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΏΡ€ΠΈ отсутствии Π·Π°Ρ‰ΠΈΡ‚Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ². Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DevOps ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ (Docker, Kubernetes) Π² микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ DevOps-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ эффСктивноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Автоматизация развёртывания ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€ΡƒΡ‡Π½Ρ‹Π΅ дСйствия ΠΈ сбои. Continuous Integration тСстируСт ΠΊΠΎΠ΄ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния. Continuous Deployment поставляСт измСнСния Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½ автоматичСски. Docker ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сСрвисов. ΠžΠ±Ρ€Π°Π· содСрТит сСрвис со всСми зависимостями. ΠžΠ±Ρ€Π°Π· Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π° машинС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½ ΡƒΠ·Π»Π΅. Kubernetes Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π² кластСрС. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎ Π½ΠΎΠ΄Π°ΠΌ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ мощностСй. АвтоматичСскоС ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ создаёт экзСмпляры ΠΏΡ€ΠΈ ростС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ с ΠΊΠ°Π·ΠΈΠ½ΠΎ становится управляСмой благодаря Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Service mesh Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сСтСвого взаимодСйствия Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ инфраструктуры. Istio ΠΈ Linkerd ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами. Retry ΠΈ circuit breaker Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±Π΅Π· измСнСния Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния. ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ: ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, трСйсинг ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ надёТности ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ накоплСнию Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° observability Π΄Π°ΡŽΡ‚ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΡƒΡŽ прСдставлСниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ элСмСнты Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚: Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — агрСгация структурированных записСй Ρ‡Π΅Ρ€Π΅Π· ELK Stack ΠΈΠ»ΠΈ Loki ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ — количСствСнныС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Prometheus ΠΈ Grafana Distributed tracing — отслСТиваниС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Jaeger ΠΈΠ»ΠΈ Zipkin Π¨Π°Π±Π»ΠΎΠ½Ρ‹ отказоустойчивости ΠΎΠ±Π΅Ρ€Π΅Π³Π°ΡŽΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΎΡ‚ каскадных ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ². Circuit breaker Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΊ нСдоступному ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ послС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ². Retry с ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°ΡƒΠ·ΠΎΠΉ повторяСт обращСния ΠΏΡ€ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

article

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ микросСрвисы ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ микросСрвисы ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. БистСма раздСляСтся Π½Π° мноТСство ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ выполняСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ бизнСс-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. БСрвисы Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· сСтСвыС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹. ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½Π°Ρ организация Ρ€Π΅ΡˆΠ°Π΅Ρ‚ трудности ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… Ρ†Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм. ΠšΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΠ±Ρ€Π΅Ρ‚Π°ΡŽΡ‚ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π½Π°Π΄ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ модулями систСмы. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ развиваСтся нСзависимо ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… частСй систСмы. Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΏΠΎΠ΄Π±ΠΈΡ€Π°ΡŽΡ‚ срСдства ΠΈ языки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ спСцифичСскиС Ρ†Π΅Π»ΠΈ. Основная Ρ†Π΅Π»ΡŒ микросСрвисов – рост гибкости создания. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ быстрСС ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π°ΠΏΠ΄Π΅ΠΉΡ‚Ρ‹. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ ростС Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Ошибка ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСрвиса Π½Π΅ Π²Π»Π΅Ρ‡Ρ‘Ρ‚ ΠΊ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΡŽ всСй систСмы. Π²ΡƒΠ»ΠΊΠ°Π½ ΠΊΠ°Π·ΠΈΠ½ΠΎ прСдоставляСт Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ошибок ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ диагностику ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ Π² контСкстС соврСмСнного ПО ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ систСмы Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ Π² распрСдСлённой ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π΅ ΡΠΎΠ²Π»Π°Π΄Π°ΡŽΡ‚ с ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΡ‘ΠΌΠ°ΠΌΠΈ. ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ ΠΌΠΈΠ³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ инфраструктуры ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ IT ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½ΡƒΡŽ структуру. Netflix Ρ€Π°Π·Π΄Ρ€ΠΎΠ±ΠΈΠ» Ρ†Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° сотни Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Ρ… сСрвисов. Amazon создал ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ†ΠΈΠΈ ΠΈΠ· тысяч ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Uber ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ микросСрвисы для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΅Π·Π΄ΠΎΠΊ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Рост распространённости DevOps-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ форсировал принятиС микросСрвисов. Автоматизация развёртывания упростила ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ мноТСством ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π“Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±Ρ€Π΅Π»ΠΈ срСдства для скорой поставки ΠΏΡ€Π°Π²ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ инструмСнты для Π²ΡƒΠ»ΠΊΠ°Π½. Spring Boot ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Java-сСрвисов. Node.js позволяСт ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π»Ρ‘Π³ΠΊΠΈΠ΅ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Go обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ быстродСйствиС сСтСвых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ² микросСрвисов: Π³Π»Π°Π²Π½Ρ‹Π΅ отличия Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ЦСльноС систСма являСт Ρ†Π΅Π»ΡŒΠ½Ρ‹ΠΉ исполняСмый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ»ΠΈ Π°Ρ€Ρ…ΠΈΠ². ВсС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΠ»ΠΎΡ‚Π½ΠΎ соСдинСны ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Π‘Π°Π·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Сдиная для всСго прилоТСния. Π”Π΅ΠΏΠ»ΠΎΠΉ осущСствляСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΊΠ΅ ΠΌΠ°Π»ΠΎΠΉ возмоТности. ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½Π°Ρ структура Π΄Ρ€ΠΎΠ±ΠΈΡ‚ систСму Π½Π° ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сСрвисы. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сСрвис ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ дСплоятся ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. ΠšΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π±Π΅Π· согласования с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ. ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ всСго систСмы. Нагрузка распрСдСляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ инстансами. ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π² соотвСтствии ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ большС мощностСй, Ρ‡Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ. ВСхнологичСский стСк ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π΅Π½ для всСх частСй Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ языка ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° касаСтся вСсь ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°Π·ΠΈΠ½ΠΎ Π΄Π°Ρ‘Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ для ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Ρ†Π΅Π»Π΅ΠΉ. Один сСрвис Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Python, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½Π° Java, Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π½Π° Rust. Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° микросСрвисной структуры ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΎΠ΄Π½ΠΎΠΉ отвСтствСнности Π·Π°Π΄Π°Ρ‘Ρ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвиса. БСрвис Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ бизнСс-Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ это Ρ…ΠΎΡ€ΠΎΡˆΠΎ. ΠœΠΎΠ΄ΡƒΠ»ΡŒ администрирования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ процСссингом запросов. Π§Ρ‘Ρ‚ΠΊΠΎΠ΅ распрСдСлСниС отвСтствСнности ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сСрвис ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ». АпдСйт СдинствСнного модуля Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ рСстарта ΠΏΡ€ΠΎΡ‡ΠΈΡ… частСй. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ выпусков Π±Π΅Π· согласования. РаспрСдСлСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Π±Π°Π·Ρƒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ модуля. ΠŸΡ€ΡΠΌΠΎΠΉ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ стороннСй Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ нСдопустим. ОбмСн Π΄Π°Π½Π½Ρ‹ΠΌΠΈ осущСствляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ интСрфСйсы. Π£ΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΊ сбоям рСализуСтся Π½Π° слоС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. ИспользованиС vulkan ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ внСдрСния Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ΠΎΠ² ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ. Circuit breaker ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ обращСния ΠΊ нСдоступному сСрвису. Graceful degradation сохраняСт Π±Π°Π·ΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ локальном ошибкС. ΠšΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ микросСрвисами: HTTP, gRPC, Π±Ρ€ΠΎΠΊΠ΅Ρ€Ρ‹ ΠΈ события ΠšΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ модулями осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. Π’Ρ‹Π±ΠΎΡ€ способа ΠΎΠ±ΠΌΠ΅Π½Π° опрСдСляСтся ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π“Π»Π°Π²Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ содСрТат: REST API Ρ‡Π΅Ρ€Π΅Π· HTTP — простой ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» для ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON gRPC — Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт Π½Π° Π±Π°Π·Π΅ Protocol Buffers для Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ сСриализации Π‘Ρ€ΠΎΠΊΠ΅Ρ€Ρ‹ сообщСний — Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€ΠΎΠΊΠ΅Ρ€Ρ‹ Ρ‚ΠΈΠΏΠ° RabbitMQ ΠΈΠ»ΠΈ Apache Kafka Event-driven Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° — рассылка событий для слабосвязанного взаимодСйствия Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½Ρ‹Π΅ запросы годятся для дСйствий, Π½ΡƒΠΆΠ΄Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒ ΠΆΠ΄Ρ‘Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ обращСния. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π²ΡƒΠ»ΠΊΠ°Π½ с синхронной связью ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². ΠΠ΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° сообщСниями ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. ΠœΠΎΠ΄ΡƒΠ»ΡŒ отправляСт сообщСния Π² Π±Ρ€ΠΎΠΊΠ΅Ρ€ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠŸΠΎΠ΄ΠΏΠΈΡΡ‡ΠΈΠΊ процСссит Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Достоинства микросСрвисов: Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, нСзависимыС выпуски ΠΈ тСхнологичСская Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ становится Π»Ρ‘Π³ΠΊΠΈΠΌ ΠΈ эффСктивным. АрхитСктура ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ число ΠΊΠΎΠΏΠΈΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… сСрвисов. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ Π΄Π΅ΡΡΡ‚ΡŒ экзСмпляров, Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ настроСк Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π² СдинствСнном экзСмплярС. НСзависимыС Ρ€Π΅Π»ΠΈΠ·Ρ‹ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ поставку свСТих Ρ„ΠΈΡ‡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ. ΠšΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ² ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π±Π΅Π· оТидания Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π΄Ρ€ΡƒΠ³ΠΈΡ… сСрвисов. ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² возрастаСт с нСдСль Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π· Π² дСнь. ВСхнологичСская свобода Π΄Π°Ρ‘Ρ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ подходящиС инструмСнты для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ†Π΅Π»ΠΈ. ΠœΠΎΠ΄ΡƒΠ»ΡŒ машинного обучСния примСняСт Python ΠΈ TensorFlow. ВысоконагруТСнный API Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° Go. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с использованиСм ΠΊΠ°Π·ΠΈΠ½ΠΎ сокращаСт тСхничСский Π΄ΠΎΠ»Π³. Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ ошибок Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΎΡ‚ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ сбоя. Ошибка Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² Π½Π΅ воздСйствуСт Π½Π° ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΡƒΠΏΠΎΠΊ. ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ частичной Π΄Π΅Π³Ρ€Π°Π΄Π°Ρ†ΠΈΠΈ работоспособности. БлоТности ΠΈ опасности: Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° АдминистрированиС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ сущСствСнных усилий ΠΈ экспСртизы. ДСсятки ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² наблюдСнии ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сСтСвого взаимодСйствия затрудняСтся. ΠšΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Ρ€Π°ΡΡ…ΠΎΠ΄ΡƒΡŽΡ‚ большС рСсурсов Π½Π° DevOps-Π·Π°Π΄Π°Ρ‡ΠΈ. ΠšΠΎΠ½ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ модулями становится сущСствСнной ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ. РаспрСдСлённыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ Π² исполнСнии. Eventual consistency Π²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ рассинхронизации. ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡΡ‚Π°Ρ€ΡƒΡŽ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎ синхронизации ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Диагностика распрСдСлённых Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ спСциализированных срСдств. Запрос ΠΈΠ΄Ρ‘Ρ‚ Ρ‡Π΅Ρ€Π΅Π· мноТСство сСрвисов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ вносит Π»Π°Ρ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ vulkan услоТняСт отслСТиваниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Турналирования. Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ латСнтности ΠΈ сбои Π²Π»ΠΈΡΡŽΡ‚ Π½Π° быстродСйствиС систСмы. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами вносит Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ. ΠšΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΡ‚ΠΊΠ°Π· СдинствСнного ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΏΠ°Ρ€Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ зависимых частСй. Cascade failures Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎ систСмС ΠΏΡ€ΠΈ нСдостаткС ΠΏΡ€Π΅Π΄ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… срСдств. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DevOps ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ (Docker, Kubernetes) Π² микросСрвисной структурС DevOps-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ администрированиС мноТСством сСрвисов. Автоматизация дСплоя Π»ΠΈΠΊΠ²ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½Ρ‹Π΅ дСйствия ΠΈ ошибки. Continuous Integration тСстируСт ΠΊΠΎΠ΄ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Continuous Deployment доставляСт измСнСния Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½ автоматичСски. Docker стандартизируСт ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ запуск ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠžΠ±Ρ€Π°Π· ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ со всСми зависимостями. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π° машинС программиста ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½ ΡƒΠ·Π»Π΅. Kubernetes Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° распрСдСляСт ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎ сСрвСрам с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ мощностСй. АвтоматичСскоС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ запускаСт ΠΏΠΎΠ΄Ρ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Π Π°Π±ΠΎΡ‚Π° с ΠΊΠ°Π·ΠΈΠ½ΠΎ дСлаСтся управляСмой благодаря Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Service mesh выполняСт Π·Π°Π΄Π°Ρ‡ΠΈ сСтСвого ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Istio ΠΈ Linkerd ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ модулями. Retry ΠΈ circuit breaker Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° прилоТСния. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ: Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, трассировка ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ отказоустойчивости ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ накоплСнию ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’Ρ€ΠΈ столпа observability Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½ΡƒΡŽ прСдставлСниС функционирования систСмы. Π“Π»Π°Π²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° содСрТат: Π–ΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ — сбор Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… записСй Ρ‡Π΅Ρ€Π΅Π· ELK Stack ΠΈΠ»ΠΈ Loki ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ — количСствСнныС ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Prometheus ΠΈ Grafana Distributed tracing — трассировка запросов Ρ‡Π΅Ρ€Π΅Π· Jaeger ΠΈΠ»ΠΈ Zipkin ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ отказоустойчивости ΠΎΠ±Π΅Ρ€Π΅Π³Π°ΡŽΡ‚ систСму ΠΎΡ‚ Ρ†Π΅ΠΏΠ½Ρ‹Ρ… ошибок. Circuit breaker ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ обращСния ΠΊ Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ сСрвису послС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ². Retry с ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°ΡƒΠ·ΠΎΠΉ повторяСт запросы ΠΏΡ€ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

article

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ контСйнСризация ΠΈ Docker

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ контСйнСризация ΠΈ Docker ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ являСт Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΈ зависимостями. Бпособ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ сСрвисы Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π½Π° любой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС. Docker являСтся вострСбованной систСмой для построСния ΠΈ контроля ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ. БрСдство прСдоставляСт ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ установки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²Π°Π²Π°Π΄Π° ΠΊΠ°Π·ΠΈΠ½ΠΎ ΠΎΠ½Π»Π°ΠΉΠ½ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… срСдах. Π”Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ для облСгчСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° совмСстимости сСрвисов Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с случаСм, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π½ΠΎ отказываСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ различия Π² вСрсиях ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ОБ, установлСнных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ систСмных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². БСрвис Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΡŽ языка программирования ΠΈΠ»ΠΈ спСцифичСскиС элСмСнты. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°ΡΡ…ΠΎΠ΄ΡƒΡŽΡ‚ врСмя Π½Π° настройку ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участника ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ВСстировщики ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° для тСстирования работоспособности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Администраторы сСрвСров ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‚ массу зависимостСй для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Π°Π²Π°Π΄Π° Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС. ΠŸΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиями Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ трудности ΠΏΡ€ΠΈ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Одно ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Python вСрсии 2.7, Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π² вСрсии 3.9. Установка ΠΎΠ±Π΅ΠΈΡ… вСрсий Π½Π° ΠΎΠ΄Π½Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ трудностям совмСстимости. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ срСдами создания, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ производства прСобразуСтся Π² Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΉ процСсс. Π”Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΠΌΠ°Π½ΡƒΠ°Π»Ρ‹ ΠΏΠΎ установкС Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ дСсятки страниц Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ остаСтся склонным ошибкам ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… ΠΏΠΎΠ·Π½Π°Π½ΠΈΠΉ систСмного администрирования. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ изоляция зависимостСй ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ совмСстимости ΠΏΡƒΡ‚Ρ‘ΠΌ инкапсуляции прилоТСния со всСми Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ элСмСнтами Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. ВСхнология Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ срСду, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ ΠΊΠΎΠ΄ прилоТСния, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ нСзависимо ΠΎΡ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ… процСссов Π½Π° хост-систСмС. ОбособлСниС зависимостСй Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ старт Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ трСбованиями Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΠ·Π»Π΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ собствСнноС пространство ΠΈΠΌΠ΅Π½ для процСссов, Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΈ сСтСвых интСрфСйсов. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π΅ видят процСссы ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ смСТных ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ изоляции задСйствуСт возмоТности ядра ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы для распрСдСлСния рСсурсов. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΎΠ±Ρ€Π΅Ρ‚Π°ΡŽΡ‚ ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, процСссорноС врСмя ΠΈ дисковоС пространство соотвСтствСнно установлСнным Π»ΠΈΠΌΠΈΡ‚Π°ΠΌ. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ использованиС рСсурсов ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π”Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹ ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΅Π³ΠΎ Π² любой срСдС Π±Π΅Π· Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΡŽ всСх зависимостСй для функционирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ vavada ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ€Π°Π·Π½Ρ‹Ρ… окруТСниях. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹: различия ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ обособлСниС сСрвисов, Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ ПК с ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой ΠΈ ядром. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ядро хост-систСмы ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ отличия ΠΌΠ΅ΠΆΠ΄Ρƒ мСтодологиями содСрТат ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ стороны: Π Π°Π·ΠΌΠ΅Ρ€ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ рСсурсов. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Ρ‹ дискового мСста ΠΈΠ·-Π·Π° Ρ†Π΅Π»ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ вСсит ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Ρ‹, содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ зависимости ΠΊΠ°Π·ΠΈΠ½ΠΎ Π²Π°Π²Π°Π΄Π° Π±Π΅Π· копирования систСмных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². БыстродСйствиС запуска. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина загруТаСтся ΠΌΠΈΠ½ΡƒΡ‚Ρ‹, выполняя ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» запуска ОБ. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ запускаСтся Π·Π° сСкунды, выполняя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ процСссы ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΡΡ‚ΡŒ. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΡƒΡŽ обособлСниС Π½Π° слоС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния посрСдством Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ задСйствуСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ядра для изоляции. ΠŸΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ размСщСния. Π£Π·Π΅Π» выполняСт дСсятки Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΈΠ·-Π·Π° высокого потрСблСния рСсурсов. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π΄Π°ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ сотни экзСмпляров ΠΊΠ°Π·ΠΈΠ½ΠΎ Π²Π°Π²Π°Π΄Π° Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΆΠ΅Π»Π΅Π·Π΅ благодаря ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ использованию памяти. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Docker ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Docker составляСт ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для создания, доставки ΠΈ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…. БрСдство Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ установку ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π² обособлСнных окруТСниях Π½Π° любой инфраструктурС. Компания Docker Inc ΠΈΠ·Π΄Π°Π»Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² 2013 Π³ΠΎΠ΄Ρƒ. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Docker Engine являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π·Π°Π΄Π°Ρ‡ΠΈ создания ΠΈ администрирования ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ, REST API ΠΈ интСрфСйсом ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Docker Image составляСт шаблон для построСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠžΠ±Ρ€Π°Π· Π²ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ сСрвиса, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, зависимости ΠΈ настроСчныС Ρ„Π°ΠΉΠ»Ρ‹ Π²Π°Π²Π°Π΄Π° Π½ΡƒΠΆΠ½Ρ‹Π΅ для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π΅Π²Π΅Π»ΠΎΠΏΠ΅Ρ€Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π½Π° основС основных шаблонов ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Docker Container являСтся Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ экзСмпляром шаблона с ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ чтСния ΠΈ записи. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ составляСт обособлСнноС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ для выполнСния процСссов сСрвиса. Docker Registry являСтся Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠ², Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. Docker Hub являСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ рССстром с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ шаблонов vavada доступных для ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ примСнСния. Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠžΠ±Ρ€Π°Π·Ρ‹ Docker построСны ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ структурС, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ являСт измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΡƒΡ€Π΅Π·Π°Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Alpine Linux ΠΈΠ»ΠΈ Ubuntu. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ настройки. БистСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡŽ copy-on-write для ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ хранСния Π΄Π°Π½Π½Ρ‹Ρ…. НСсколько ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ, экономя дисковоС пространство. Когда программист создаёт Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· Π½Π° Π±Π°Π·Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Π΅ слои ΠΊΠ°Π·ΠΈΠ½ΠΎ Π²Π°Π²Π°Π΄Π° вмСсто дублирования ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π°Π½ΠΎΠ²ΠΎ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° стартуСт с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠ±Ρ€Π°Π·Π° ΠΈΠ· рССстра ΠΈΠ»ΠΈ локального Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. Docker Engine создаСт Ρ‚ΠΎΠ½ΠΊΠΈΠΉ записываСмый ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ… слоСв шаблона Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. ЗаписываСмый ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сохраняСт измСнСния, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ запускаСт процСссы Π² обособлСнном пространствС ΠΈΠΌΡ‘Π½ с собствСнной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ cgroups Π»ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ расход рСсурсов процСссами Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠŸΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° измСняСмый ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ остаСтся, давая Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ состояния. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° стираСт записываСмый слой, Π½ΠΎ шаблон остаётся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ. Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ запуск ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² (Dockerfile) Dockerfile составляСт тСкстовый Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ для автоматичСской построСния шаблона. Π€Π°ΠΉΠ» Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… этапы создания срСды для сСрвиса. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис для опрСдСлСния Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ шаблона ΠΈ инсталляции зависимостСй. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° FROM опрСдСляСт основной шаблон, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ строится Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ WORKDIR Π·Π°Π΄Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ для Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. RUN выполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ шСлла Π²ΠΎ врСмя сборки ΠΎΠ±Ρ€Π°Π·Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ установку ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² vavada ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ОБ. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° COPY пСрСносит Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· локальной систСмы Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму ΠΎΠ±Ρ€Π°Π·Π°. ENV Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды, доступныС процСссам Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ EXPOSE ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΏΠΎΡ€Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π΅Ρ‚ Π²ΠΎ врСмя функционирования. CMD Π·Π°Π΄Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΈ стартС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ENTRYPOINT Π·Π°Π΄Π°Ρ‘Ρ‚ Π³Π»Π°Π²Π½Ρ‹ΠΉ выполняСмый Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠŸΡ€ΠΎΡ†Π΅ΡΡ сборки ΠΎΠ±Ρ€Π°Π·Π° запускаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ docker build с Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅. БистСма поэтапно исполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, формируя ΡƒΡ€ΠΎΠ²Π½ΠΈ шаблона. Команда docker run Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ стартуСт ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠ· Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ шаблона. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΈ нСдостатки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ прСдоставляСт программистам ΠΈ администраторам массу плюсов ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с сСрвисами. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ процСссы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ развёртывания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΏΠ»ΡŽΡΡ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚: ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ систСмами ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌΠΈ Π±Π΅Π· измСнСния ΠΊΠΎΠ΄Π°. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ установку ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ слуТб Π·Π° счёт Π»Ρ‘Π³ΠΊΠΎΠ³ΠΎ вСса ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ использованиС рСсурсов ΡƒΠ·Π»Π° благодаря возмоТности выполнСния мноТСства ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС. ОбособлСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ зависимостСй ΠΈ обСспСчиваСт ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠžΠ±Π»Π΅Π³Ρ‡Π΅Π½ΠΈΠ΅ процСсса Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΊΠ°Π·ΠΈΠ½ΠΎ Π²Π°Π²Π°Π΄Π° Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅. ВСхнология ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ограничСния ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ структуры. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ ядро ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы хоста,

Scroll to Top