Applicazioni in cloud – altre considerazioni

Share post

Creare e utilizzare web services REST-based

Tempo di lettura: 5 min
Continua da QUI.
Come abbiamo visto nei precedenti articoli, l’implementazione del codice dell’applicazione nel cloud offre molti vantaggi; un vantaggio cruciale per le applicazioni ad alta richiesta è la possibilità di scalare i layer web e database in modo indipendente. Detto questo, è anche una buona pratica separare la vostra logica di business in web services che il vostro codice front-end può utilizzare. Adottate questa pratica per scalare il livello dei web service in modo indipendente sia dal database che dal codice front-end. Separare la vostra logica applicativa dal livello di presentazione apre nuove porte a tecnologie che forse in passato non avevate considerato, come la creazione di un’applicazione a una pagina singola utilizzando un linguaggio come Node.

Implementare continuous delivery e integration

DevOps sembra essere l’ultima parola d’ordine che sta guadagnando molto interesse tra le imprese. Per andare avanti, dovreste probabilmente iniziare a guardare e implementare sia continuous integration che delivery del vostro prossimo progetto software. Quando si distribuiscono applicazioni su un’infrastruttura basata su cloud, bisogna assicurarsi di avere workflow sul sistema di build in modo che il codice possa essere distribuito in tutti i diversi ambienti.

Fortunatamente, la maggior parte dei sistemi di compilazione più popolari forniscono plugin per alcuni dei principali fornitori di cloud attuali. In questo modo diviene semplice la configurazione delle regole di distribuzione in base ai permessi corretti di chi ha accesso al codice da distribuire in ogni ambiente. Se attualmente non state usando un sistema di compilazione per il vostro team di sviluppo, iniziate ad usarne uno ora!

Quale fornitore di cloud dovreste scegliere per continuous integration e delivery?

Scegliete un fornitore di cloud che soddisfi tutti i requisiti di cui sopra con l’aggiunta di strumenti integrati di  CI/CD sulla piattaforma. Il fornitore che scegliete dovrebbe consentirvi di implementare il vostro sistema di build o avere la possibilità di integrarvi facilmente con i sistemi esistenti che risiedono al di fuori della piattaforma cloud.

Evitare il vendor lock-in

Se vi resterà un concetto di questo articolo, spero che sia questo: mentre molti fornitori di cloud forniscono API proprietarie di grande effetto che riducono la quantità di codice o di lavoro che devi fare, dovresti evitarle a tutti i costi. Questo non è altro che un semplice stratagemma per bloccarvi nel loro ecosistema, rendendo estremamente difficile spostare la vostra applicazione verso un altro fornitore o verso il vostro centro dati interno. Per evitare queste API personalizzate, si consiglia di utilizzare stack di tecnologia collaudata in tutta l’applicazione, compresi il livello del database, il livello di archiviazione e qualsiasi endpoint di microservizi che si desidera creare. Anche se l’investimento iniziale può essere un po’ più elevato rispetto all’utilizzo di una soluzione proprietaria, il vostro debito tecnico si riduce notevolmente, il che può farvi risparmiare tempo e denaro nel lungo periodo.

Sviluppare localmente o nel cloud

Come sviluppatori, spesso codifichiamo le applicazioni sul nostro sistema locale e poi, quando raggiungiamo una milestone del lavoro, spostiamo il nostro codice nell’ambiente di sviluppo del team. La maggior parte degli sviluppatori vorrebbe poter sviluppare quotidianamente con un’infrastruttura che assomigli il più possibile alla produzione. Questo obiettivo può spesso essere impegnativo a causa delle spese di amministrazione del sistema sostenute per fornire a ogni sviluppatore un cluster di macchine.

Ora che PaaS è disponibile, tutti gli sviluppatori dovrebbero iniziare a sviluppare e distribuire il loro codice nel cloud. La maggior parte degli ambienti di sviluppo integrati (IDE) forniscono plugin per snellire il processo e farlo sentire il più vicino possibile allo sviluppo locale.

Quale IDE si dovrebbe scegliere?

Scegliete un IDE che fornisca un plugin per il fornitore di cloud di vostra scelta. Considerate di scegliere un provider che fornisca la possibilità di distribuire a caldo il codice dell’applicazione e la possibilità di abilitare il debug remoto del vostro codice sorgente. Una volta scelto un provider che offre queste due cose, potete continuare a impostare break point all’interno del vostro IDE e passare attraverso il codice proprio come se steste eseguendo il deploy locale. Questo permette di catturare più rapidamente i bug che appaiono solo quando ci si sposta in un ambiente clusterizzato.

Cosa cercare nei prossimi anni dai fornitori di cloud

Questo articolo si è concentrato sullo stato attuale delle applicazioni che vengono distribuite nel cloud. Una cosa da cercare e da considerare quest’anno e il prossimo è il movimento di massa dell’industria verso le implementazioni basate sui container – probabilmente avete già sentito parlare di Docker e dei rocket container. Quando scegliete un fornitore di cloud, assicuratevi che la roadmap per la migrazione delle applicazioni verso le implementazioni basate su container sia definita chiaramente con una linea temporale che definisca chiaramente il vostro percorso di migrazione. Inoltre, siate alla ricerca di fornitori che si attengano a soluzioni standard del settore intorno ai container e all’orchestrazione, piuttosto che creare soluzioni proprietarie.

Conclusione

Il cloud computing offre molti vantaggi di cui dovreste approfittare nello sviluppo e nella distribuzione quotidiana del software per rendere il vostro software più stabile, scalabile e sicuro. Quando spostate le applicazioni nel cloud, considerate le seguenti indicazioni:

  1. Per lo sviluppo di applicazioni, scegliere PaaS. L’infrastruttura è gestita da un fornitore, il che vi dà più tempo per concentrarvi sul codice della vostra applicazione.
  2. Per lo sviluppo di applicazioni, scegliete una piattaforma abilitata per lo scaling orizzontale manuale e automatica della vostra applicazione.
  3. Nel caso delle applicazioni green-field, progettate applicazioni che siano stateless.
  4. Per le applicazioni legacy o esistenti, scegliete un fornitore PaaS che supporti sia le applicazioni stateful che quelle stateless.
  5. Scegliete un database scalabile e situato su un server o contenitore separato dal codice della vostra applicazione. Poi si può scalare il database in modo indipendente.
  6. Scegliete un provider cloud che vi consenta di implementare e scalare la vostra infrastruttura applicativa su più aree geografiche in tutto il mondo.
  7. Sviluppate utilizzando servizi web basati su REST.
  8. Scegliete un fornitore di cloud che soddisfi tutti i requisiti precedenti con l’aggiunta di CI integrate e strumenti di CD nella piattaforma.