Налаштування деплою сайту на Azure (App Service)

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування деплою сайту на Azure (App Service)
Середня
~2-3 робочих дні
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Налаштування розгортання сайту на Azure (App Service)

Azure App Service — PaaS платформа для веб-додатків. Підтримує Node.js, PHP, Python, .NET, Java. Вбудований CI/CD через GitHub Actions, Deployment Slots для staging, автоскейлинг.

Створення App Service

# Azure CLI
az group create --name myapp-rg --location westeurope

az appservice plan create \
    --name myapp-plan \
    --resource-group myapp-rg \
    --sku B2 \
    --is-linux

az webapp create \
    --name myapp-prod \
    --resource-group myapp-rg \
    --plan myapp-plan \
    --runtime "PHP|8.3"

Настройка через Azure CLI

# Змінні окружения
az webapp config appsettings set \
    --name myapp-prod \
    --resource-group myapp-rg \
    --settings \
        APP_ENV=production \
        APP_KEY="base64:..." \
        DB_HOST="myserver.postgres.database.azure.com" \
        DB_DATABASE=myapp \
        WEBSITES_PORT=8000

# Підключити PostgreSQL
az postgres flexible-server create \
    --name myapp-db \
    --resource-group myapp-rg \
    --location westeurope \
    --sku-name Standard_B1ms \
    --storage-size 32 \
    --admin-user dbadmin \
    --admin-password "$DB_PASSWORD"

Deployment Slots

Deployment Slots — окремі окружения всередині одного App Service. Ідеально для staging:

# Створити staging slot
az webapp deployment slot create \
    --name myapp-prod \
    --resource-group myapp-rg \
    --slot staging

# Розгортання в staging
az webapp deploy \
    --name myapp-prod \
    --resource-group myapp-rg \
    --slot staging \
    --src-path deployment.zip

# Swap staging → production (миттєво, zero-downtime)
az webapp deployment slot swap \
    --name myapp-prod \
    --resource-group myapp-rg \
    --slot staging \
    --target-slot production

# Swap Back якщо щось пішло не так
az webapp deployment slot swap \
    --name myapp-prod \
    --resource-group myapp-rg \
    --slot production \
    --target-slot staging

GitHub Actions + Azure Web App

# .github/workflows/azure-deploy.yml
name: Deploy to Azure

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with: { php-version: '8.3' }

      - name: Install dependencies
        run: composer install --no-dev --optimize-autoloader

      - name: Build frontend
        run: npm ci && npm run build

      - name: Deploy to Azure Web App
        uses: azure/webapps-deploy@v3
        with:
          app-name: myapp-prod
          publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
          package: .

Docker-розгортання

# Створити Azure Container Registry
az acr create \
    --name myappcr \
    --resource-group myapp-rg \
    --sku Basic

# Складання і push
az acr build \
    --registry myappcr \
    --image myapp:$GITHUB_SHA \
    .

# Оновити App Service
az webapp config container set \
    --name myapp-prod \
    --resource-group myapp-rg \
    --container-image-name myappcr.azurecr.io/myapp:$GITHUB_SHA

Автоскейлинг

az monitor autoscale create \
    --resource-group myapp-rg \
    --resource myapp-plan \
    --resource-type Microsoft.Web/serverfarms \
    --name autoscale-rule \
    --min-count 2 \
    --max-count 10 \
    --count 2

az monitor autoscale rule create \
    --autoscale-name autoscale-rule \
    --resource-group myapp-rg \
    --scale out 2 \
    --condition "Percentage CPU > 75 avg 5m"

Терміни реалізації

  • Базовий деплой App Service + GitHub Actions: 1–2 дні
  • Deployment Slots + swap: +1 день
  • Terraform для всієї інфраструктури: 3–4 дні