1

Короткий вопрос о движке контейнера: почему я должен использовать его, а не просто обрабатывать контейнеры докеров в обычной виртуальной машине (в вычислительном движке)? Не могли бы сэкономить немного денег, таким образом ...Google cloud container engine vs normal vm

С уважением, Марк

ответ

4

В небольших масштабах работающие контейнеры в обычных виртуальных машинах прекрасны. Google даже предлагает container optimized image, что делает это очень просто. И это определенно дешевле, чем запуск кластера Kubernetes (либо в Google Container Engine, либо у вас).

Что действительно важно для Kubernetes/GKE - это API управления кластерами. Он позволяет introspect все контейнеры, запущенные на вашем компьютере, либо с использованием интерфейса CLI/UI, либо с помощью других программ. С обычной виртуальной машиной, чтобы узнать все контейнеры, которые вы используете, вам нужно будет либо повторно использовать ssh в каждой из ваших виртуальных машин, либо запустить docker ps, или, в частности, создать свои контейнеры для «домашнего телефона» в центральную версию версии контейнера (которая будет невозможно, если вы хотите использовать готовые контейнеры). С Kubernetes вы можете сказать kubectl get pods и с помощью одной команды знать все, что вы используете. Вы можете использовать конструкции, созданные для управления приложениями, такие как Deployments (или kubectl rolling-update), для ввода новых версий ваших контейнеров без перезапуска любых виртуальных машин. И вы также регистрируете и контролируете кластеры для своих контейнеров.

2

Это общий вопрос использования вашей собственной инфраструктуры, или подход платить за услуги. Это, вероятно, лучше всего объясняется экономикой (у вас есть память заранее для больших инвестиций в собственное оборудование для создания виртуальной машины?)

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

Короче говоря: с ВМ у вас есть больше свободы, но и больше работы и, возможно, выше первоначальных затрат (также стоимости вашего собственного труда, так что это займет больше времени начать существенную часть вашего проекта). При платной услуге общая сумма финансовых расходов может быть выше, но затраты распространяются во времени. У вас меньше свободы в отношении платформы, но это также означает, что вы можете сосредоточиться на вопросах более высокого уровня, связанных с вашим конкретным приложением, - и вы можете начать думать о них раньше.

Вы также можете рассмотреть ОБА - иметь, например, дополнительные вычислительные возможности для аварийного восстановления, тестирования или резервного копирования.