Виртуализация и контейнеризация #webdev

Вообще, сравнивать виртуалки и контейнеры – не комильфо. Суть виртуализации была разделить и сделать машины поверх железа. Виртуализация говорит: железо – отстой. Оно ломается, а виртуальная машина нет. Но ее лучше забекапить. Целиком. Все эти системные блоки умещались в один большой мощный сервак. Там у нас 1С на винде, а еще на фряхе там почтовик и прокси, чтобы смотреть кто по порнушным сайтам ходит. Сломалось железо? Заменили. Все виртуалки целые.

А у докера другая цель, которая становится очевидной когда научишься разделять а) приложение, б) его конфигурацию и в) данные приложения. Докер говорит: ваше приложение – ничто. Его надо заставлять работать. Оно иногда умирает? Я его заставлю работать снова. Ему надо отдельные пакеты-шмакеты, ОСы и т.п? – ок. Пусть думает, что оно одно и все для него. И работает. А если умрет, я его подниму и заставлю работать. А где будет работать приложение? На железе? В виртуалке? В виртуалке, которая запущена в виртуалке? Докеру все одно: запустить контейнер, чтобы приложение работало. Бекапить приложение? Очень смешно. Образ есть? Работаем. Нет? Сбилдим, и ок. Остается только забота о конфигурациях и данных. Ну и приложения иногда писать надо, не самому же работать в докере : )
А поскольку докер позволяет отделить мух от котлет, то появляются решения для управления всем этим колхозом. Поэтому контейнеры – это возможность эффективнее использовать ресурсы, контейнерам прямая дорога в ентерпрайз.

Вы же знаете эту тему: приходите к кому-нибудь, смотрите комп,а там на Винде вирусни.. В общем, самое быстрое и радикальное – переустановить. А он: а,мать моя, у меня там Герои 3 стоят, там уже много прошел и CS и все такое, а еще фотки там слиты где-то и документы, и диплом там же, наверное, хорошо если в Users. Приложения с конфигами и данными в перемешку. Переустанавливаешь. А он: шеф, все пропало! А если бы все данные на USB-винте были, а конфиги и настройки сети на флешке? Плюс скрипт, который знает какие игрухи поставить, да приложения скачать?

Но опять же профит не в том, чтобы определиться виртуалки или контейнеры. Особенно, когда вы строите инфраструктуру для роста. А в том, чтобы использовать их совместно, научившись управляться с этим хозяйством. В целом, приложениям не надо знать на железе они работают или в виртуальных средах, они не знают есть ли в одной ОС рядом с ними БД или где-то далеко. В целом, поняв что астериски все одинаковы, а различаются только конфигурацией, вы спокойно используете один образ астериска для докера на десятках машин, просто создав нужную конфигурацию. Вы понимаете, что данные полученные от астериска – логи звонков, записи разговоров – далее не имеют отношения к астериску и вы их можете использовать, обрабатывать, сохранять не зависимо от того есть астериск или нет, есть БД или нет. Вы можете развернуть свои контейнеры на железе, сконфигурировав одним образом, вы может развернуть те же контейнеры на виртуалке в DigitalOcean, а затем переконфигурировать свой трафик туда сейчас или потом в случае аварии железа. По сути, вам уже и виртуалки бекапить не надо, т.к. в случае необходимости вы ее создаете с базовым образом ОС, закидываете докер-образ приложения, заливаете конфиги, необходимые данные – все работает. В идеале. : )

 

 

Advertisements
Виртуализация и контейнеризация #webdev

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s