Что такое homelab и какое главное отличие от samohosting!
Чем отличается самохостинг сервисов от homelab и почему это важно. Критика избыточного усложнения: зачем ставить Proxmox и Docker внутри, если нужен простой облачный диск.
Салют, $USER!
Эй, кстати, наш Telegram уже ждёт именно тебя. Забегай!
Мысли
Главная причина, которая побудила меня написать данную статью, — это ролики в YouTube, а также статьи, которые часто попадаются при поиске какой-либо технической информации.
Важно понимать, что это мои мысли на данную тему. И я не претендую на истину.
samohosting
Ну что же, давай те начнём с самого лёгкого – это самохостинг. Обратимся к Википедии и посмотрим, что она нам скажет на тему самохостинг.
Самохостинг (англ. self-hosting) — идеология и практика, предусматривающая размещение веб-сервисов на собственных серверах, например домашних, вместо использования стороннего хостинга, как коммерческого, так и бесплатного
Поговорим подробнее: К примеру, мы решили разместить свой облачный диск на своих мощностях, и не важно, где – в облаке, на виртуальной машине или домашнем сервере. И это уже и есть самохостинг. То же самое относится и к случаям, когда люди разворачивают у себя сервисы типа:
- Медиа и развлечения
- Данные и синхронизация
- Сеть
- Публичные сервисы и доступ извне
- Автоматизация и умный дом
Это всё хорошо, но вышесказанные типы не имеют никакого отношения к homelab – это всё самохостинг.
Если посмотреть, что рекомендуют авторы статей или роликов по настройке домашнего хостинга, то шаблон часто сводится к следующему:
- Устанавливаем Proxmox VE.
- Для развёртывания сервисов используем либо виртуальные машины (QEMU/KVM), либо LXC-контейнеры.
- Внутри виртуальной машины или LXC-контейнера устанавливают Docker и уже в нём запускают приложения.
Вопрос один: зачем?
Как-то раз мне попалась статья с громким названием «Не усложняй» вот сама статья, рекомендую к прочтению.
Но давайте вернемся к нашим баранам: Подмена понятий возникает, когда советы по настройке самохостинга автоматически начинают с рекомендации инструментов Homelab (Proxmox), не объясняя, для каких сценариев они действительно необходимы, а для каких — избыточны.
Для самохостинга мы можем взять хоть голую Ubuntu/Debian, поставить на железо без графического окружения, накатить туда Docker и в Docker поднять все нужные нам сервисы, поставить web-панель управления, и даже такой вариант масштабируемый, если вдруг захочется, есть Docker Swarm.
К чему я вам порекомендовал к прочтению статью вот сама статья, только для того, чтобы вы поняли, что если вам нужно поднять, к примеру, два или три сервиса в приватной зоне, то есть дома, вам не нужны сложные системы виртуализации. Достаточно TrueNAS или чистой системы Linux с Docker на борту.
Рекомендации:
- Используйте наиболее простой путь к самохостингу.
- Второе, не опирайтесь на мнение лишь одного автора, посмотрите вокруг.
- Задумайтесь, а нужно ли вам крутить какие-то сервисы дома. Думаю, тему самохостинга я затрону ещё в следующих статьях, и вместе выберем, на чём хостить свои домашние сервисы. Думаю, с самохостингом всё понятно, перейдём к homelab.
Homelab
Теперь самое интересное – что же такое homelab. По большому счету, homelab предназначена для IT-специалистов или тех, кто только хочет ими стать, к примеру, студентов. Основное назначение Home Laboratory – «домашняя лаборатория», где IT-специалист тестирует и изучает новые технологии, к примеру:
- Виртуализация:
- qemu/kvm (libvirt)
- Hyper-V
- Proxmox VE
- VMware (ESXi, vSphere)
- CloudStack
- OpenStack
- oVirt
- OpenNebula
- Контейнеризация:
- lxc/lxd
- Docker/Podman
- Kubernetes:
- K8s – Большой Kubernetes
- K3s – Маленький Kubernetes
- DNS:
- bind
- unbound
- PowerDNS
- CoreDNS (специфичен для Kubernetes)
- Базы данных:
- PostgreSQL
- MySQL
- Redis
- MongoDB
- etc.
- Сетевые технологии в своей среде, к примеру eve-ng или её аналоги:
- Настройка маршрутизаторов
- Настройка коммутаторов
- Постройка сложных сетевых топологий
- Работа с VLAN/VXLAN
- Работа с прошивками различных вендоров
- Также прямо там же можно строить мини-облака для изучения.
- Кибербезопасность:
- Pentest
- Защита
- Изучение IaC-подхода + GitOps/DevOps-методологии:
- Terraform
- Ansible
- Chef
- etc.
- Разработка новых решений, где нужна соответствующая инфраструктура
- etc.
Как вы видите, список очень внушительный, который можно продолжать. И даже этот список можно разделить на две группы:
- То, что строим на железе
- То, что мы можем виртуализировать и контейнеризировать
Как вы видите по списку, в homelab изучаются новые технологии и повышаются навыки, либо тестируются идеи и решения.
Резюме
Подведём краткий итог:
самохостинг – это когда мы хостим сервис или сервисы для своих нужд, сюда даже можно отнести виртуальную машину с сайтом в облаке, не обязательно на домашнем сервере, об этом поговорим в следующих статьях.
homelab – или домашняя лаборатория, это когда мы тестируем, изучаем новые технологии либо же вспоминаем то, что давно уже забыли. Реализуем даже архитектурные решения.
