che cos'è un'applicazione Cloud-Native?

7

Ho sentito questo termine un paio di volte. A cosa si riferisce esattamente un'applicazione Cloud-Native ? Quali sono le caratteristiche di un'applicazione Cloud-Native ?

    
posta ambes 03.11.2016 - 20:30
fonte

3 risposte

3

tl; dr

Come altre risposte hanno detto, è un'applicazione progettata per funzionare nel cloud e non solo adattata in seguito al shoehorn nel cloud. È principalmente un termine di marketing, non così significativo in termini tecnici.

Prospettiva del manager del prodotto

Come responsabile di un prodotto commerciale, trovo di tanto in tanto un concetto utile perché in genere il cliente vuole sentire di aver acquistato un prodotto migliore delle alternative o almeno "autentico" e non un falso. Pertanto, gli addetti al marketing dei prodotti tendono a definirlo in modo conveniente in modo da rendere il maggior numero possibile di concorrenti non autentici. In alcune industrie l'utilità di questa tattica è finita da tempo. Tutti sono Cloud.

Prospettiva dello sviluppatore

Come ingegnere del software, il termine è piuttosto inefficace per trasmettere informazioni tecniche. Si basa sulle percezioni, opinioni e conoscenze del pubblico delle applicazioni basate su cloud. Dal momento che l'essenza di fornire un prodotto basato su cloud è che i clienti dovrebbero avere una grande esperienza senza preoccuparsi dei dettagli di implementazione, un prodotto che raggiunge quello che dovrebbe sembrare nativo per i clienti.

Avendo costruito prodotti commerciali per il cloud da zero e avendo architettato la migrazione di grandi prodotti pre-cloud nel cloud, posso dire che in ogni caso la provenienza di un prodotto non è del tutto predittiva di come il cloud la versione risulterà Un set di prodotti pre-cloud su cui ho lavorato ha avuto grossi problemi nell'ottenere il cloud con effetti piuttosto evidenti per i clienti e in termini di costi dell'infrastruttura e di sviluppo. Un altro era una passeggiata torta relativa e una volta completata la migrazione nessuno avrebbe mai dovuto sapere da dove proviene.

Il software progettato per il cloud sin dal primo giorno non è sempre "ben progettato" per il cloud. Spesso perpetua ipotesi che non sono particolarmente scalabili o riparabili, trascura i problemi di sicurezza o isolamento, o non offre i vantaggi tipicamente associati a Cloud.

Esiste un riferimento autorevole?

Non esiste un elenco standard di proprietà universalmente accettato per definire una "Applicazione cloud nativa". Se cerchi una definizione abbastanza neutrale di Cloud Computing, c'è sempre la NIST Definition dal Governo degli Stati Uniti. Mi sento già un po 'vecchio dopo quattro anni. Delinea cinque caratteristiche ...

  1. Self-service su richiesta
  2. Accesso di rete esteso
  3. Pool di risorse
  4. Elasticità rapida
  5. Servizio misurato

Si noti che non sembra menzionare cose che sono spesso viste come essenziali per Cloud-ness, come ...

  • Un'interfaccia utente che richiede zero risorse IT da distribuire. (Browser o App Store ad esempio). Potremmo inserirlo sotto "Self Service"
  • Un database condiviso multi-tenant. Alcuni ritengono erroneamente che sia essenziale per il cloud. La vera risposta dipende dall'applicazione e dai regolamenti pertinenti. Esistono molti modi per raggruppare le risorse.

Quindi ti suggerisco di guardarlo in questo modo ... Il prodotto offre le caratteristiche di un'applicazione cloud, comprese le caratteristiche del NIST e quelle che sono importanti per te. Quella caratteristica dell'interfaccia utente è sempre stata molto importante per me.

Inoltre, specialmente se si sta acquistando l'azienda, o se si è appena entrati a far parte di un dipendente, considerare se il prodotto ha problemi dietro le quinte per devops, sicurezza, costi infrastrutturali che non sarebbero presenti se fosse stato progettato bene per il cloud.

    
risposta data 04.11.2016 - 00:49
fonte
2

Un'applicazione "cloud native" è semplicemente un'applicazione progettata da zero per essere eseguita in un ambiente cloud.

Confrontalo con un'applicazione che viene eseguita nel cloud, ma originariamente progettata per contesti non cloud. Ad esempio, un'applicazione web che può essere eseguita su un normale server web o in un ambiente cloud.

Per un confronto con il mondo reale, guarda le attuali offerte cloud. Ambienti come Amazon EC2 sono più simili agli ambienti non cloud dinamicamente scalabili, mentre prodotti come Salesforce sono ambienti cloud solo di proprietà. Esecuzione di applicazioni native cloud è ciò che Salesforce è tutto, mentre in EC2 la distinzione è meno chiara.

    
risposta data 03.11.2016 - 20:51
fonte
1

Cloud-Native si riferisce semplicemente alle applicazioni che nascono nel cloud - al contrario delle applicazioni che sono nate e cresciute on-prem. Un'applicazione Cloud-Native è progettata specificamente per un'architettura di cloud computing. Cloud-Native è progettato per trarre vantaggio dai framework di cloud computing, che sono composti da servizi cloud liberamente accoppiati.

    
risposta data 03.11.2016 - 21:03
fonte

Leggi altre domande sui tag