Salta al contenuto

Azure App Service

Azure App Service è il servizio Platform-as-a-Service (PaaS) di Azure per ospitare applicazioni web, API REST/GraphQL, mobile backend e funzioni serverless. A differenza delle Azure VM (dove gestisci sistema operativo, patching, scaling manuale), App Service è completamente gestito: tu pubblichi il codice, Microsoft gestisce sistema operativo, patching, ridondanza, scaling automatico. Tu paghi per il piano scelto e per le risorse usate.

È la scelta default per la maggior parte delle web app moderne: supporta .NET, Node.js, Python, Java, PHP, Ruby, container Docker custom. Include features enterprise: deployment slots per blue/green deployment (rilascia nuova versione a un sottoinsieme utenti, valida, swap atomico), custom domains con SSL gratuito (Let's Encrypt integrato), autenticazione integrata (Microsoft Entra ID, social login), backup automatici, integrazione GitHub Actions / Azure DevOps per CI/CD nativo.

In SynSphere usiamo Azure App Service come piattaforma di hosting per la maggior parte delle web app custom che sviluppiamo (vedi pagina Web application), per backend di mobile app, per API B2B per integrazioni. Ci occupiamo della scelta del piano corretto (Basic per dev/test, Standard per piccole produzione, Premium V3 per produzione enterprise), della configurazione di deployment slots, dell'integrazione CI/CD, del monitoring (Application Insights), e dell'ottimizzazione costi.

A chi è rivolto

Profili e dimensioni aziendali per cui Azure App Service è la scelta più efficace.

  • Aziende che ospitano web app custom (sviluppate da SynSphere o internamente) e cercano hosting managed
  • ISV italiane con prodotti SaaS che vogliono semplificare gestione infrastruttura hosting
  • PMI con backend per app mobile (sviluppate da SynSphere o partner) che necessitano hosting scalabile
  • Organizzazioni che hanno bisogno di esporre API B2B verso partner/clienti
  • Realtà che usano oggi server on-premise per web app interne e vogliono modernizzare con scaling automatico

Funzionalità chiave

Cosa è incluso in Azure App Service e perché ha valore per la tua azienda.

  • Multi-linguaggio supportato

    .NET (Framework e Core), Node.js, Python, Java, PHP, Ruby, container Docker custom. Free choice basato su skill team.

  • App Service Plans

    Tier scelti per workload: Free/Shared (test), Basic (B1/B2/B3 piccola produzione), Standard (S1/S2/S3 produzione standard), Premium V3 (P0V3-P3V3 enterprise), Isolated (App Service Environment).

  • Deployment slots

    Slot multipli (production, staging, qa) per blue/green deployment. Nuova versione su staging, validazione, swap atomico zero-downtime con production.

  • Autoscaling

    Auto scale-out (aggiungi istanze) basato su metriche (CPU, memoria, custom). Scale-up (cambia size) manuale o programmato. Ottimizza costi mantenendo performance.

  • Custom domain + SSL gratuito

    Custom domain (www.tuoazienda.it) e certificati SSL gratuiti (App Service Managed Certificate, Let's Encrypt). Setup in pochi minuti via portale.

  • Authentication integrata

    Microsoft Entra ID per app interne aziendali (SSO con account M365), Entra External ID per app B2C, social login (Google, Facebook, Apple) — tutto senza scrivere codice auth.

  • CI/CD nativo

    Integrazione GitHub Actions, Azure DevOps Pipelines, Bitbucket Pipelines. Deploy continuo su commit/PR merge. Rollback con un click.

  • Application Insights

    APM (Application Performance Monitoring) integrato: log, metriche, distributed tracing, alerting, dashboard real-time, query Kusto su log storici.

  • Backup automatici

    Backup configurabili (giornalieri/settimanali) di app + database collegato. Restore granulare a punto nel tempo. Critico per produzione.

Casi d'uso reali

Scenari concreti basati su clienti che abbiamo seguito o profili tipici per cui Azure App Service ha senso.

  • Web app custom — portale clienti — Bologna

    Situazione di partenza

    Portale clienti web (sviluppato da SynSphere) per PMI manifattura: clienti accedono per consultare ordini, scaricare DDT, gestire reclami. Hosting attuale su VPS shared = no scaling, no SSL gestito.

    Migrazione del portale a Azure App Service Standard S1: deployment slot (production + staging) per deploy senza downtime, SSL gratuito su dominio custom, integrazione Microsoft Entra External ID per login clienti, Application Insights per monitoring. Costo nell'ordine di poche centinaia di euro/mese, performance superiore al VPS precedente.

  • API B2B per partner — distributore — Verona

    Situazione di partenza

    15 partner distributori richiedono integrazione via API per consultare prodotti, prezzi, disponibilità, inviare ordini. Esposizione attuale: nessuna o ad-hoc per partner singoli.

    API REST hostata su Azure App Service Premium V3 (P0V3): autenticazione OAuth 2.0 via Microsoft Entra ID, rate limiting via API Management front, autoscaling per gestire picchi (es. ordini fine settimana), deployment slot per zero-downtime updates, monitoring Application Insights con alerting su SLA. Portale developer self-service per onboarding nuovi partner.

  • Backend mobile app — sales force — Milano

    Situazione di partenza

    25 commerciali con app mobile React Native (sviluppata da SynSphere) per gestione clienti/preventivi offline-first. Backend necessario per sync dati con CRM Dynamics 365.

    Backend Node.js + TypeScript su Azure App Service Standard S2: API REST per sync mobile-CRM, autenticazione Microsoft Entra ID per commerciali aziendali, integrazione Dynamics 365 via Web API, code background per sync periodici, monitoring con alerting su anomalie sync. Scaling automatico per gestire picchi (commerciali che sincronizzano simultaneamente fine giornata).

  • ISV italiana — modernizzazione SaaS legacy — Milano

    Situazione di partenza

    ISV italiana con SaaS gestionale legacy ASP.NET Web Forms su 3 server on-premise. Manutenzione costosa, scaling difficile per nuovi clienti, deploy mensile con downtime.

    Refactoring incrementale: nuovi moduli scritti come ASP.NET Core API + Blazor frontend deployati su Azure App Service Premium V3 con autoscaling. Vecchio monolite mantenuto on-premise durante migrazione (proxy verso nuovi servizi). Deployment slot per blue/green deploy. CI/CD con GitHub Actions. Crescita customer base senza problemi infrastrutturali.

Pricing e modelli di consumo

Come funziona il pricing Azure App Service e quale tier scegliere.

Azure App Service ha pricing basato su tier scelto e ore di utilizzo del piano.

Tier disponibili:

Free / Shared:

  • F1 Free, D1 Shared. Per test, dev, demo.
  • Limiti significativi (no SSL custom, no scaling, no slots).
  • Non per produzione.

Basic (B1, B2, B3):

  • Per piccola produzione, dev/test serio.
  • Custom domain + SSL gratuito incluso.
  • No autoscaling, no deployment slots.
  • ~50-200€/mese in base a size.

Standard (S1, S2, S3):

  • Produzione standard PMI.
  • Autoscaling fino a 10 istanze.
  • 5 deployment slots inclusi.
  • Daily backups.
  • ~70-300€/mese in base a size.

Premium V3 (P0V3, P1V3, P2V3, P3V3):

  • Produzione enterprise.
  • Autoscaling fino a 30 istanze.
  • 20 deployment slots.
  • Hardware più recente (Dv4-series), VNet integration, hybrid connections.
  • ~100-1.500€/mese in base a size.
  • Reserved Instances 1 o 3 anni: sconto 30-55% per workload stabili.

Isolated (App Service Environment v3):

  • App in tenant Azure dedicato (no multi-tenancy).
  • Per scenari high-security, compliance enterprise, banche/sanità.
  • Costo significativamente maggiore (parte da migliaia di euro/mese).

Cosa è incluso nel tier:

  • Hosting app (Windows o Linux)
  • Custom domain + SSL gratuito
  • Deployment slot (Standard+)
  • Backup automatici (Standard+)
  • VNet integration (Premium V3+)
  • Always On (Standard+, mantiene app sempre attiva)

Cosa è separato (paghi extra):

  • Database (Azure SQL, MySQL, PostgreSQL — pricing separato)
  • Storage extra (oltre quanto incluso nel piano)
  • Bandwidth in uscita oltre soglia inclusa
  • Application Insights data retention (inclusi 5GB/mese gratuiti)

Servizi SynSphere su Azure App Service:

  • Pre-vendita: assessment workload, scelta tier appropriato, calcolo TCO.
  • Architettura: design infrastruttura completa (App Service + database + storage + networking + identity).
  • Setup CI/CD: GitHub Actions o Azure DevOps Pipelines per deploy continuo.
  • Migrazione: da hosting esistente (VPS, server on-premise) ad Azure App Service.
  • Monitoring: Application Insights setup con dashboard, alerting, query Kusto custom.
  • Operations: gestione patch (App Service patcha automaticamente), gestione scaling, troubleshooting performance.

Domande frequenti

Risposte rapide alle domande che ci fanno più spesso su Azure App Service.

Azure App Service vs VM Azure: quale scegliere?
App Service: PaaS managed, no gestione OS/patching, scaling semplice, ottimo per web app standard. VM: IaaS, controllo totale OS e configurazione, necessario per scenari custom (es. installazione software server-side che non gira in App Service, configurazioni di rete particolari, applicazioni legacy che richiedono accesso al sistema). Per la maggior parte delle web app moderne: App Service è la scelta giusta. Per legacy o scenari custom: VM.
Quanto costa indicativamente?
Variabile in base a tier: Basic B1 ~50€/mese (small production), Standard S1 ~70€/mese (medium production), Premium V3 P1V3 ~250€/mese (enterprise production), Premium V3 P3V3 ~1.000€/mese (high-traffic). Reserved Instances 3 anni Premium V3: sconto 55%. Per scenari PMI standard: budget tipico Standard S1-S2 ~70-150€/mese per app + database SQL Azure separato ~50-200€/mese.
Come funziona il deployment slot?
Slot = istanze separate della stessa app (production, staging, qa). Process: deploy nuova versione a 'staging' slot, validazione (testing, smoke test), swap atomico con 'production' slot. Lo swap è istantaneo e zero-downtime (Azure scalda istanze staging poi swappa il routing). Se nuova versione ha problemi: swap-back istantaneo a versione precedente. Pattern essenziale per produzione moderna.
Funziona con il nostro stack tecnologico?
Probabilmente sì. Linguaggi runtime supportati nativamente: .NET (Framework 4.8 e Core 6/7/8/9), Node.js (16/18/20/22), Python (3.9-3.12), Java (8/11/17/21), PHP (8.x), Ruby. Per stack non standard: container Docker custom. Database: Azure SQL Database (consigliato per app .NET), Azure Database for MySQL/PostgreSQL/MariaDB, Cosmos DB (NoSQL globale), database esterni via connection string.
Possiamo collegarci alla nostra rete on-premise?
Sì, con Premium V3 tier o superiore. VNet integration consente all'app di parlare con risorse in VNet Azure, e VNet può essere connessa alla rete on-premise via VPN site-to-site o ExpressRoute (link dedicato). Pattern tipico: app web pubblica su Azure App Service che si collega a database/gestionale on-premise via Hybrid Connections (più semplice) o VNet integration (più completo).
Backup e disaster recovery?
Backup automatici inclusi in tier Standard+ (configurabili giornalieri/settimanali, retention fino a 30 giorni). Per DR enterprise: deploy multi-region con Azure Front Door per geo-routing automatico — utenti vanno alla region più vicina, in caso di disastro region-wide il traffico routea automaticamente alla region superstite. SynSphere progetta strategie DR appropriate al criticità del workload.
Cosa succede in caso di problemi performance?
Application Insights mostra dove si trova il bottleneck: CPU app, latenza database, chiamate API esterne lente, query SQL inefficienti. Azione: scale-up (cambia tier a size superiore), scale-out (aggiungi istanze), ottimizzazione codice/query. Per scenari di degrado in produzione, alerting Application Insights notifica team SynSphere prima che impatti utenti significativamente.

Altri prodotti in Microsoft Azure

Continua a esplorare le tecnologie della categoria.