Какие знаешь способы доставки в облачные ресурсы

«Какие знаешь способы доставки в облачные ресурсы» — вопрос из категории DevOps, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

  1. CI/CD пайплайны (GitHub Actions, GitLab CI, Jenkins)
    Автоматизируют сборку, тестирование и деплой. Пример для GitHub Actions:
    jobs:
      deploy:
        steps:
          - run: scp ./app user@server:/path
  1. Terraform/Ansible
    Инфраструктура как код (IaC). Terraform для облачных провайдеров (AWS, GCP), Ansible для конфигурации.

  2. Облачные CLI/SDK (AWS CLI, gcloud)
    Ручной или скриптовый деплой через инструменты провайдера:

    gcloud app deploy app.yaml
  1. Docker + Kubernetes
    Упаковка в контейнеры и оркестрация (Helm для управления релизами).

  2. Сервисы PaaS (Heroku, Vercel)
    Простое подключение репозитория для автоматического деплоя.

  3. SCP/RSync
    Ручная загрузка файлов на сервер через SSH.

Для сложных сценариев комбинируют подходы (например, Terraform + Kubernetes + CI/CD).