5 passaggi per creare un'architettura applicativa predisposta per il cloud
Pubblicato: 2019-03-01È sempre una buona idea creare la tua applicazione per la tua piattaforma specifica. Per molti oggi, ciò significa costruire per l'applicazione pronta per il cloud . Assicurarti che l'architettura della tua applicazione sia progettata specificamente per il cloud ti garantirà di affrontare meno problemi lungo il percorso, ma può anche diventare una sfida in sé.
Se desideri creare un'applicazione pronta per il cloud , ci sono molti passaggi da eseguire per garantire il successo la prima volta. Sì, è vero che quasi tutte le applicazioni create oggi possono essere basate su cloud. Tuttavia, ci sono passaggi di sviluppo unici che devono facilitare questo se desideri un'applicazione pronta per il cloud che possa crescere con le esigenze del tuo progetto.
Cosa c'è di diverso con l'architettura predisposta per il cloud rispetto all'architettura tradizionale? Poiché l'applicazione ei relativi componenti verranno ospitati su risorse virtuali anziché su una risorsa in loco, queste risorse verranno assegnate in modo diverso. Dovranno essere distribuiti su una rete WAN (Wide Area Network) anziché localmente. Dovrai anche gestire le risorse per assicurarti che l'utente dell'applicazione non abbia accesso alle informazioni del cloud pubblico.
Ora che sai cosa c'è di diverso, devi anche riconoscere ciò che rende un'applicazione "pronta per il cloud". Secondo Kyle Brown e Mike Capern di IBM, "un'applicazione è pronta per il cloud se può essere efficacemente distribuita in un cloud pubblico o privato". In altre parole, la tua app deve essere in grado di sfruttare tutte le funzionalità Platform-as-a-Service (PaaS) del suo host.
Questo non è così innovativo come sembra. In effetti, non devi abbandonare tutti gli strumenti esistenti per creare le tue applicazioni pronte per il cloud . La chiave è tenere a mente i passaggi e le regole più essenziali per ottenere il massimo dal processo di implementazione.
La migrazione a un ambiente cloud non è mai stata così facile o più necessaria. Grazie alle esigenze dei consumatori in rapida evoluzione, gli sviluppatori devono essere sempre all'erta e migliorare sempre. Giusto; non c'è spazio per mettersi a proprio agio. La tecnologia cloud rende la scalabilità più semplice e conveniente, quindi non è più facoltativa nel mondo di oggi.
Architettura cloud-ready vs. cloud-native
Per prima cosa, dobbiamo rivolgerci all'elefante nella stanza. C'è una differenza tra l' architettura cloud-ready e l'architettura cloud-native, e questa differenza è piuttosto significativa. Un'applicazione nativa del cloud è qualsiasi progetto scritto per essere eseguito su un cloud pubblico. Questi sono stati originariamente creati con una distribuzione basata su container.
Le applicazioni cloud-native utilizzano lo sviluppo software Agile per creare sempre nuove iterazioni. Vedrai molto affidamento sui servizi cloud come l'archiviazione di oggetti o i sistemi di accodamento. Questo è molto diverso dal cloud-ready, che è ciò di cui stiamo parlando qui.
Come descritto sopra, il cloud-ready è quando trasformi le applicazioni aziendali classiche in modo che possano funzionare sul cloud. Anche se probabilmente non saranno mai in grado di sfruttare tutti i servizi offerti dai cloud pubblici (questo è qualcosa che solo il cloud-native può fare), ci sono comunque molti vantaggi nell'effettuare la transizione.
Il fattore limitante in questa situazione non è il codice. In realtà sono le meccaniche di schieramento. Le applicazioni aziendali sono classicamente multi-tier e questo le rende difficili da abbinare a quelle cloud-native che hanno il ridimensionamento automatico orizzontale integrato nel design originale. Questo è il motivo per cui è così importante esaminare come viene attualmente distribuita la tua applicazione. Se è già dotato di un set di script per automatizzare l'installazione degli aggiornamenti, sarà molto più semplice trasformarlo in cloud-ready.
Ora che hai capito cosa significa creare un'architettura pronta per il cloud per la tua app, discutiamo dei 5 passaggi da seguire quando si effettua la transizione.
1. Considera gli effetti del ridimensionamento
Non è facile cambiare il tuo ambiente di programmazione in uno basato su cloud. È un cambiamento drastico e richiede molti cambiamenti fondamentali se vuoi evitare di incorrere in problemi quando è il momento di ridimensionare.
Il ridimensionamento è uno dei tanti vantaggi dell'utilizzo di una piattaforma cloud. Le applicazioni virtuali sono facili da costruire e aggiornare. Tuttavia, se codifichi la tua app con una topologia specifica, incontrerai problemi rapidamente. Il ridimensionamento dinamico può provocare il caos se non ti prepari ora. Affronta ogni nuovo progetto come se fossi solo nelle prime fasi.
La strategia migliore è sviluppare la tua app nel modo più generico possibile. In questo modo è molto più efficiente sviluppare aggiornamenti regolari e mantenere la tua app il più collaborativa possibile, non solo ora ma anche in futuro.

2. Separare elaborazione e dati
Un errore comune che impantana le app è la pratica di accoppiare i dati alla tua applicazione. Anche se questo potrebbe andare bene in altre circostanze, quando stai progettando un'app pronta per il cloud , dovrai mantenere l'elaborazione e i dati come componenti separati.
La maggior parte dei cloud pubblici e privati desidera che questi dati e l'elaborazione siano separati. È anche molto più sicuro, soprattutto se stai archiviando informazioni sensibili. Ancora più importante, la tua app funzionerà molto meglio perché non c'è spazio di archiviazione aggiuntivo per i dati che la appesantisce.
Nell'era di oggi, non puoi permetterti un'app lenta, inaffidabile e non reattiva ai tuoi utenti. Con l'architettura cloud, è essenziale disaccoppiare i dati se vuoi che la tua app funzioni sempre al massimo.
3. Mantieni accessibili i tuoi registri
Nessuna applicazione è sicura al 100% e priva di errori. Questa non è colpa dei tuoi sviluppatori, è solo la realtà della tecnologia. Non scrivere i tuoi log nel file system locale. Se lo fai e riscontri un problema, è molto più difficile accedere a questi registri. In che modo questi registri locali ti aiuteranno se riscontri un arresto anomalo dell'applicazione?
Non perdere i tuoi dati preziosi. I log sono le tracce di breadcrumb che ti riconducono ai tuoi problemi prima ancora che tu sappia che esiste un problema. Invece di archiviare i file localmente, utilizza un aggregatore di log di terze parti. Sia che utilizzi un aggregatore open source o un aggregatore commerciale, mantieni il tuo server scala e il monitoraggio dell'infrastruttura accessibili al tuo team di sviluppo, qualunque cosa accada.
Ci sono molti vantaggi nell'utilizzo di questi framework di log. Puoi filtrare le informazioni che desideri visualizzare e tenere traccia dei tuoi file di registro sul tuo spazio di archiviazione cloud. Il modo migliore per evitare che si verifichi un problema in primo luogo è utilizzare un aggregatore per rimanere aggiornati sulle modifiche in tempo reale.
4. La sicurezza prima di tutto
Sì, la sicurezza è tecnicamente al primo posto in questo elenco, ma dovrebbe sempre venire prima per gli sviluppatori. Non puoi scorrere il tuo feed di notizie oggi senza vedere un altro rapporto di un'altra violazione dei dati della società di sviluppo di app mobili. Ogni giorno gli attacchi informatici diventano più comuni. Non vuoi che la tua app sia solo un'altra statistica.
I dati nella tua app devono essere crittografati. Poiché scorre tra i sistemi, è più vulnerabile. Creare un sistema per archiviare e proteggere queste informazioni.
La tua sicurezza basata su cloud dovrebbe essere basata sulla sicurezza della tua azienda. Anche se non sei ancora completamente nel cloud, sii coerente con il tuo approccio alla sicurezza delle app nelle fasi di sviluppo e oltre. Crea specifiche di sicurezza chiare e mantieni la tua automazione DevOps a questi standard. Infine, informati sulle normative di sicurezza e sui termini di conformità nel tuo settore. Questi possono variare ampiamente.
5. Crea una strategia per spostare i dati
Infine, dovrai considerare come sposterai i dati di sviluppo dell'app nel cloud. Se ti prepari a sufficienza durante questi passaggi precedenti, sarà un processo semplice. Naturalmente, tutto dipenderà dalla quantità di dati che stai spostando. Se non hai molti dati, è semplice come copiare questi dati tramite una connessione Internet.
Per carichi di lavoro più grandi, potrebbe essere necessario comprimere i dati prima dell'invio. Se è eccezionalmente grande, potresti dover spedire unità fisiche al tuo provider cloud. Il tuo provider può fornire istruzioni specifiche sulle migliori pratiche di trasloco.
Tuttavia, assicurati che la tua applicazione delle società di sviluppo di app sia portatile una volta inserita nell'unità. Non vuoi che il tuo provider "blocchi" la tua applicazione solo con loro. I metadati sono spesso specifici per una singola piattaforma, quindi dovrai mantenere anche questo portatile. Infine, procedi con una strategia di test finale, idealmente automatizzata. Ecco fatto, sei nel cloud!
Conclusione
Ci sono molte cose a cui prestare attenzione quando si passa dallo sviluppo tradizionale all'architettura cloud-ready . Sì, potresti commettere errori lungo la strada. Tuttavia, finché impari e cresci con la tua tecnologia, crei strategie più efficaci.
Investire nella tecnologia cloud apre i tuoi progetti a un mondo di vantaggi. Ora sei in grado di scalare in modo rapido ed efficace. Tuttavia, dovrai essere all'altezza della sfida di effettuare una transizione sicura e stabile utilizzando i passaggi precedenti. Non è facile, ma ne vale più che la pena.
Leggi di più Come promuovere con sicurezza la tua applicazione mobile nel 2020