Che cos'è Funzioni di Azure?

Completato

In questo articolo si segue il team Web Tailspin Space Game che illustra il modo migliore per offrire nuovi requisiti di marketing basati sulla gestione. Il team deve integrare alcune tecnologie serverless, in particolare Funzioni di Azure, nel processo DevOps.

Queste sono le impressioni del team.

Nuovi requisiti

Irwin: Grazie per l'incontro su un breve preavviso. La situazione si sta scaldando e il team di marketing ha fatto alcune promesse che potrebbero rendere le cose complicate per tutti noi. Apprezzano molto il nostro sito. Ritengono che la classifica possa essere usata per promuovere il gioco man mano che ci avviciniamo al lancio finale e in seguito. Vogliono ridimensionarlo ben oltre quello che avevamo pianificato inizialmente.

Mara: È fantastico, vero? Siamo in Azure, quindi possiamo aumentare le prestazioni del servizio in base alle esigenze.

Irwin: desiderano solo la possibilità per chiunque di integrare i dati del tabellone punteggi nelle proprie applicazioni. Pensano che sarebbe davvero interessante avere le stesse opzioni del tabellone punteggi sul nostro sito, nel gioco, sui siti di recensione dei giochi e anche sui blog esterni e sui siti personali. Una delle problematiche è che il team del motore di gioco è il proprietario del database di produzione da cui estraiamo i dati della classifica. Pensano che debbano creare e possedere l'API in futuro.

Andy: Mara, hai qualche pensiero?

Mara: sono sicura che possiamo trovare una soluzione. Ecco le mie note:

  • Dobbiamo consegnare rapidamente, quindi è necessario trovare una soluzione in cui possiamo sfruttare il nostro codice e le nostre competenze.
  • È necessario effettuare il refactoring di una piccola parte di funzionalità in un servizio indipendente.
  • È necessario ridurre al minimo il sovraccarico amministrativo nell'ambiente di produzione.
  • Dobbiamo avere una vasta scala senza impegnarci enormemente.

Il team annuisce concordando.

Funziona sul mio computer

La riunione si interrompe. La mattina successiva, Andy si eccitatamente nell'ufficio di Mara per una chat impromptuoso.

Andy: Ce l'ho! Ho trovato una soluzione che soddisfa tutti i nostri requisiti per l'API tabellone punteggi. Si tratta di un'offerta serverless denominata Funzioni di Azure.

Mara: È fantastico! Quanto tempo serve per qualcosa da presentare?

Andy: ho già pensato a qualcosa. Ho creato una copia tramite fork del nostro repository GitHub e ho eseguito il refactoring del codice del tabellone punteggi in un nuovo progetto di Funzioni di Azure. Espone i dati del tabellone punteggi tramite una semplice richiesta HTTP GET. Ho aggiornato anche il sito Web per usare l'endpoint quando si richiede la classifica e chiunque altro può fare lo stesso.

Mara: Sembra esattamente quello di cui abbiamo bisogno. È possibile estendere la pipeline CI/CD esistente per supportare la compilazione e la distribuzione come per il progetto del sito principale.

Nota

In questo modulo non verrà illustrato come connettere l'app a Funzioni di Azure. Tuttavia, se si è interessati, è possibile esaminare il codice sorgente. Il codice usa il runtime di Funzioni di Azure per C# per leggere i dati del tabellone punteggi da Funzioni di Azure.

Che cos'è Funzioni di Azure?

Funzioni di Azure è un'offerta specifica all'interno del più ampio spettro di tecnologie di elaborazione serverless di Azure. Offre agli sviluppatori un modo semplice per creare funzioni semplici che esistono in un ambiente serverless senza stato. Le funzioni possono essere attivate con diversi metodi, tra cui richieste HTTP, modifiche ai dati nell'archivio, ricezione di un messaggio da una coda e altro ancora. Per altre informazioni sui diversi trigger e binding, vedere Concetti relativi a trigger e binding di Funzioni di Azure.

Il team di Tailspin ha selezionato Funzioni di Azure per questo scenario perché soddisfa tutte le proprie esigenze:

  • Dobbiamo consegnare rapidamente, quindi è necessario trovare una soluzione in cui possiamo sfruttare il nostro codice e le nostre competenze.
    • Possiamo creare rapidamente la soluzione come applicazione ASP.NET Core sfruttando il codice di cui disponiamo già.
  • È necessario effettuare il refactoring di una piccola parte di funzionalità in un servizio indipendente.
    • È possibile fornire una funzione indipendente senza altre aree di superficie dell'applicazione di cui preoccuparsi.
  • È necessario ridurre al minimo il sovraccarico amministrativo nell'ambiente di produzione.
    • Funzioni di Azure rimuove la necessità di preoccuparsi degli ambienti di hosting.
  • Dobbiamo avere una vasta scala senza impegnarci enormemente.
    • Le tecnologie serverless hanno una scalabilità praticamente illimitata che può aumentare e ridurre automaticamente le prestazioni molto più velocemente rispetto alle macchine virtuali o ai servizi app.

Funzioni di Azure e altre tecnologie serverless non sono sempre la scelta ottimale per ogni soluzione. Più avanti in questo argomento verrà spiegato dove trovare le risorse che consentono di selezionare la tecnologia adatta per il processo.

Verificare le conoscenze

1.

Quale di questi progetti è un buon candidato per l'elaborazione serverless?

2.

Quale dei seguenti non è un motivo valido per usare Funzioni di Azure?

3.

Quale dei seguenti non è un modo supportato per attivare direttamente un'app di Funzioni di Azure?