Non so se i passi sono proprio quattro, ma direi che l'intento del post è chiaro: fornire alcuni rudimenti per poter interagire con il portale Azure.
Sappiatelo: questa non è assolutamente una guida esaustiva, in rete peraltro ne troverete di fantastiche e molto complete. Qui voglio semplicemente fornire uno starting-point per la creazione del backend della app Focac-Book, oggetto di questa serie, evidenziando gli aspetti per me più interessanti (daltronde il blog e mio... o no ??).
Come noto il servizio Azure Mobile App si configura come una Platform as a Service (Paas): in questo caso i servizi forniti sono di supporto alle app mobile.
Per creare un servizio backend occorre accedere al portale Azure e azionare il tasto Create a Resource, selezionando quindi la voce Mobile App. Sarà quindi necessario completare l'operazione assegnando un un nome al al backend nonchè la subscription (dove attingere i soldini) e infine il Resource Group.
Giusto due parole sul Resource Group: è un semplice aggruppamento delle varie risorse impegnate in un progetto. Per esempio è possibile raggruppare i servizi Azure Sql Server, Mobile App e magari Azure Function e in generale tutto quello che serve per far funzionare la nostra app Focac-Book lato server nello stesso resource group, in modo tale da averli facilmente accessibili e controllabili.
Quindi nel caso in analisi nello stesso Resource Group ho anche aggiunto l'istanza di Sql Server e il database usato. Il dettaglio circa la creazione di questi due ultimi elementi non sarà mostrato, ma il processo è assolutamente banale e intuitivo.
Una volta salvato il servizio ci mette qualche minuto per essere disponibile: passato questo tempo (l'icona in alto Vi informerà circa l'evolversi del processo) è meglio accederVi per eseguire le ultime configurazioni.
Per inziare occorre osservare verificare i Service Plan utilizzati (sono a Genova dopotutto, e i soldini sono la cosa più importante...). Il Service Plan altro non è che la rappresentazione delle risorse disponibili per fare andare il nostro servizio: più soldini si spendono e più il Focac-Book Azure Mobile Service avrà RAM, CPU e spazio disco a disposizione, nonchè istanze di funzionamento contemporanee per assicurare resilienza.
Occorre dire che anche usando service plan economici o gratuiti il servizio offre ottime perfomance: ottenere lo stesso grado di servizio e affidibilità on premise (cioè con server e connettività in casa del cliente) può essere molto più costoso.
In Overview si ha una visione di insieme delle risorse utilizzate: da questa maschera conviene scaricarsi subito il file che si ottiene usando il link Get Publish Profile: ci servirà a breve.
Azionando l'opzione Application Settings (nel mondo Azure da selezionare = Blade) si impostano, invece, i dati di funzionamento del Mobile Service: nel mio caso ho impostato i seguenti parametri.
- .Net Framework Version: 4.7
- PHP Version: Off - non la uso
- Platform: 64 bit
- Remote Debugging: ON / Remote Visual Studio version: 2017 - Ebbene sì: è possibile fare il debug del codice posto in Azure, a patto di aver abilitato questa opzione, e aggkungerei anche di avere una buona connettività.
- Connection strings: Creare una nuova connection string MS_TableConnectionString che punta al database che conterrà i dati della app Focac-Book.
Una volta salvato dovrebbe essere tutto pronto per fornire i servizi: occorre solo compilare il codice del backend e installarlo nell'hosting.
Però prima di proseguire ritengo utile dare ancora uno sguardo ad alcuni punti che trovo indispensabili conoscere.
Siccome il tutto è ospitato remotamente è molto importante avere accesso ai log per capire se tutto sta funzionando nel modo corretto, oppure per comprendere dove possono annidarsi le criticità.
Per abilitare detti log occorre agire nella voce Diagnostics Logs: io preferisco non solo abilitarli (Application Log: ON) ma anche forzare il dettaglio di questi a verbose (Level: Verbose), perlomeno in una prima fase dello sviluppo del progetto.
Sempre da qui è possibile impostare di salvare detti log da qualche parte (file system o Azure Blob) per poter poi essere scaricati e analizzati localmente.
Io preferisco spesso usare lo stream diretto: in tal caso lasciare le impostazioni oltre a quelle segnalate come nel default e salvare, quindi guadagnre l'accesso alla voce Log Stream: questa sarà la maschera che riporterà tutti i log.
Devo evidenziare ai più distratto che quando si abilitano i log, questi rimangono attivi per 12 ore: terminato questo tempo il valore di Application Log si porterà automagicamente su OFF. Questo con l'intento di non sprecare risorse e immaginando che molti si comportano come il sottoscritto: distrattoni sciagurati che abilitano il log eppoi dopo averlo utilizzato se lo dimenticano mestamente attivato.
Altro punto interessante e degno di nota è la voce Quick Start: da qui è possibile scaricare dei progetti di esempio in tutte le piattaforme utilizzate sia per la parte di backend che client (quindi una app di test dotatta di backend). Nel caso si inizi da zero un nuovo progetto è il punto dove scaricarsi lo scaffold da cui partire.
Ora la mia coscienza è a posto: un pò di Azure e di come configurare l'hosting del backend Ve l'ho mostrato, e il prossimo passo è scrivere il backend e installarlo sul servizio ora creato.