15. Инфраструктура, Docker и DevOps
Что такое Docker?
JuniorОтвет: Платформа для разработки, доставки и запуска приложений в контейнерах, гарантирующая одинаковую работу приложения в любом окружении.
Docker ENV и ARG: в чём разница?
MiddleОтвет:
ARG: Переменные, доступные только во время сборки образа.ENV: Переменные, доступные как во время сборки, так и во время работы контейнера.
Что такое Docker Volumes?
MiddleОтвет: Способ сохранения данных, генерируемых и используемых контейнерами Docker, независимо от жизненного цикла контейнера.
В чём разница между горизонтальным и вертикальным масштабированием?
MiddleОтвет:
- Вертикальное масштабирование: Добавление ресурсов (CPU, RAM) к одному серверу.
- Горизонтальное масштабирование: Доба вление новых серверов для распределения нагрузки.
Что такое CI/CD?
SeniorОтвет:
- Непрерывная интеграция (CI): Автоматизация сборки и тестирования кода при каждом коммите.
- Непрерывная доставка/развёртывание (CD): Автоматизация развёртывания кода на продакшен- или стейджинг-окружения.
RabbitMQ и Kafka: сравнение
SeniorОтвет:
- RabbitMQ: Брокер сообщений, ориентированный на доставку сообщений потребителям (Push-модель). Отлично подходит для сложной маршрутизации.
- Kafka: Распределённая потоковая платформа, ориентированная на высокую пропускную способность и сохранение данных (Pull-модель). Отлично подходит для обработки логов.