Рубрики
Без рубрики

Запуск нескольких версий Python в облачном запуске

На этом эпизоде бессвесовых экспедиций мы посмотрим, как развернуть несколько версий Pytho … Помечено ServerlessExpections, GoogleCloudrun, Python.

Автор оригинала: Katie McLaughlin.

На этом эпизоде бессвесовых экспедиций мы посмотрим, как развернуть несколько версий Python в облачном запуске.

Проверьте видео версию этого блога.

Запуск нескольких версий Python в облачных прогонах – Бесплатные экспедиции (YouTube.com)

Поскольку выпущены новые версии Python, пытаясь выбирать между новым и блестящим или старым и стабильным может быть проблемой. Но если вы развертываете Облако беги , вам не нужно выбирать между ними, вы можете запустить оба.

Представьте, что этот гипотетический сценарий: Вы являетесь SRE для компании с пользовательской витриной, поддержав парк виртуальных машин, работающих различными компонентами, все со своими собственными версиями Python. Чтобы улучшить надежность, вы можете обновить все компоненты, чтобы использовать одну версию Python и отойти от виртуальных машин, и в нечто более масштабируемое, например, безведно.

Это обновление не произойдет в одночасье, а магазин должен продолжать работать в то же время. Таким образом, ваш план многоэтапных: мигрировать из виртуальных машин в серверу, затем сделайте языковые обновления. Но перед миграцией существующих систем появился новый сервис в Интернете, сначала можно развернуть через серверу, пропуская виртуальную машину все вместе.

При выборе которой платформа без сервеса для обновления до ограничений может существовать ограничения на доступных языках. Например, облачные функции поддерживают только Конкретные версии Python Отказ

Тем не менее, новейшее безмолвная, предлагающее от Google Cloud – Cloud Run – не имеет этого ограничения. Cloud Run Определяет службы в качестве изображений контейнера, которые определяются DockerFiles и могут указывать любое базовое изображение. Есть целый репозиторий Официальные изображения Python на Docker Hub От которого вы можете источник, указав базовое изображение в от линии вашего DockerFile.

FROM python:2.7
...
FROM python:3.9
...

Когда вы перенесете каждую услугу с оригинальной виртуальной машины, вы можете установить точную версию Python, которая была первоначально запущена. Вы также можете обновить каждую услугу в изоляции, так как у вашей команды есть время и ресурсы.

После того, как ваши зависимости были обновлены, и вы хотите проверить свой сервис, вы можете развернуть новую ревизию только к ограниченному количеству пользователей, используя Особенность трафика облачных прогон. Вы можете установить свою новую ревизию, чтобы служить, скажем, только 5% запросов, поэтому, если что-то не так, только некоторые из ваших пользователей затронуты, и вы можете быстро откатиться, если есть какие-либо проблемы.

Миграция каждой службы в свою очередь, вы можете управлять каждой службой в изоляции, что позволяет для более подробного процесса обновления и более надежной среды.

Возможность указать точную версию Python, используемую в вашем проекте, вы можете запустить несколько услуг каждый со своими изолированными средой Python, что позволяет вам больше времени обновлять каждую услугу для поддержания версий Python.

Это также позволяет попробовать новейшие версии Python – такие как пререлизы Python 3.10 – Как только их изображения доступны на Docker Hub.

О безреслушных экспедициях

Бесплатные экспедиции – это веселая и дерзкая видео серия, которая смотрится на то, что означает безсетесовые средства и как создавать серверы без сервеса с облаком Google.

Следуйте этим хозяевам в Twitter в @glasnt и @martinomander Отказ

Оригинал: “https://dev.to/googlecloud/running-multiple-versions-of-python-in-cloud-run-29me”