Che cos’è il cloud nativo?

Cloud Native è il modo moderno di sviluppare software. […]

L’approccio cloud-native è sviluppato da aziende nate nel cloud (c) pixabay.com

Il cloud-native computing utilizza molte moderne tecnologie di sviluppo come microservizi, container, CI/CD, Agile e devops. Leggi ciò che devi sapere su questo approccio, sull’architettura cloud nativa e sui pro e contro.

nuvola originale È un approccio moderno allo sviluppo di applicazioni software. Il modello è progettato specificamente per le infrastrutture cloud e utilizza flessibilità, scalabilità e affidabilità in nuvole. Cloud Native include i vari strumenti e tecnologie che gli sviluppatori di software utilizzano oggi per creare applicazioni per il cloud pubblico. Al contrario, esistono architetture tradizionali e metodi di sviluppo (a cascata) adatti ai data center on-premise.

L’approccio cloud-native è stato sviluppato da un gruppo di aziende che hanno il “Nato nel cloud“Applicabile. Queste società includono i giganti dello streaming Netflix e Spotify, la società di trasporti Uber e la piattaforma di prenotazione Airbnb. L’approccio cloud-native è stato ora adottato anche da altre società che cercano una resilienza digitale simile e vantaggi competitivi dirompenti.

Cloud-native Corporation (CNCF) definisce cloud-native un po ‘più vicino Si concentra su contenitori di applicazioni che sono segmentati in servizi containerizzati piccoli e leggeri per l’implementazione e l’organizzazione su una varietà di server e sistemi operativi: “Le tecnologie cloud-native consentono alle aziende di creare applicazioni scalabili moderne per il loro sviluppo e consegna in ambienti dinamici come come cloud pubblici, privati ​​e ibridi.”

Quando si sviluppano applicazioni cloud-native, i seguenti elementi sono generalmente combinati con tecnologie come DevOps o Agile:

Questo cambiamento nello sviluppo del software ha portato a un nuovo panorama con strumenti per lo più open source. CNCF presenta un Grafica interattiva Questo ecosistema:

Ci sono quattro livelli di cloud-native computing da comprendere:

  1. Definizione dell’applicazione e livello di sviluppo: Il livello più alto del pacchetto cloud-native si concentra sugli strumenti utilizzati dagli sviluppatori per creare applicazioni. Ciò include database, sistemi di messaggistica, immagini di contenitori e pipeline CI/CD.
  2. strato di conduzione: Include tutto il necessario per creare e proteggere l’ambiente in cui viene eseguita l’applicazione. Nel mondo cloud-native, questo di solito significa che l’infrastruttura viene trattata come codice; che le immagini siano archiviate nel repository; Questi vengono generati automaticamente e i requisiti di sicurezza delle applicazioni vengono soddisfatti tramite controlli di vulnerabilità, gestione delle chiavi, policy e strumenti di autenticazione.
  3. Livello di runtime: Questo livello include tutto ciò che riguarda l’esecuzione di un’applicazione cloud-native, come il runtime del contenitore, l’archiviazione e il networking.
  4. Livello di organizzazione e gestione: Riunisce gli strumenti necessari per distribuire, gestire e scalare le applicazioni containerizzate, inclusi il coordinamento e la pianificazione. Nella maggior parte dei casi ciò significa: Kubernetes più Service Discovery, Service Proxy, API Gateway e Service Mesh.

Al di fuori di questi livelli, è anche importante implementare il monitoraggio delle prestazioni per poter monitorare efficacemente tutti questi servizi. Alcune aziende scelgono anche di integrare lo stack nativo del cloud in una piattaforma di sviluppo self-service interna o di rivolgersi a un provider PaaS per aiutare gli sviluppatori a iniziare.

Lo sviluppo di applicazioni cloud-native richiede un’architettura molto diversa rispetto alle tradizionali applicazioni aziendali, che in genere vengono eseguite in un data center interno. Queste sono le principali differenze e vantaggi che Cloud Native offre rispetto ai tradizionali modelli di sviluppo delle applicazioni:

  • linguaggi di programmazione: Le applicazioni locali scritte per essere eseguite sui server aziendali sono generalmente scritte in linguaggi tradizionali come C/C++, C# ed Enterprise Java. È più probabile che le applicazioni cloud-native vengano scritte in un linguaggio incentrato sul Web come HTML, CSS, Java, JavaScript, .NET, Go, Node.js, PHP, Python o Ruby. L’utilizzo di linguaggi e piattaforme di programmazione moderni può anche aiutare la tua azienda a competere in “guerra dei talenti“Per essere un passo avanti.
  • Attualità Barkeit: Le applicazioni cloud-native sono sviluppate in modo tale da essere altamente disponibili, flessibili e aggiornabili regolarmente. D’altra parte, le app native vengono solitamente aggiornate una o due volte all’anno utilizzando il metodo a cascata. La flessibilità che Cloud Native offre a questo punto può contribuire, da un lato, alla produttività degli sviluppatori software e, dall’altro, anche alla soddisfazione del cliente o alla customer experience.
  • flessibilità: Le applicazioni native del cloud in genere sfruttano la flessibilità del cloud regolando il consumo in base alle esigenze. Nel caso di un’applicazione locale, la distribuzione fisica richiederà un’infrastruttura aggiuntiva per scalare in modo efficace. Questo incide anche sui costi: nel cloud paghi solo quello che usi.
  • Multimandantenfähigkeit: L’applicazione nativa del cloud funziona senza problemi in una stanza virtuale e condivide le risorse con altre applicazioni in un modello multi-tenant. Questo può dare allo sviluppo del software un aumento dell’efficienza.
  • Fermare: A causa delle sue dimensioni e della natura decentralizzata, il cloud offre una maggiore ridondanza. Reindirizzando rapidamente il traffico verso un’altra area, è possibile gestire meglio le interruzioni ed evitare costosi tempi di inattività.
  • Automazione: Cloud Native apre una vasta gamma di opzioni di automazione. Idealmente, devi solo sviluppare una volta e poi puoi dedicarti ad altre sfide più urgenti.
  • apolide: Le applicazioni native del cloud sono generalmente stateless, il che significa che non trasferiscono i dati archiviati da una sessione all’altra. Questo modello facilita la scalabilità su più server, semplifica la memorizzazione nella cache per prestazioni migliori e utilizza meno memoria. Inoltre, questo contribuisce anche al terribile venditori di pugno in Per evitarlo perché non sei legato a un’infrastruttura specifica con applicazioni cloud-native.

Il tentativo di convertire un’applicazione locale esistente in un’applicazione nativa del cloud utilizzando il metodo lift-and-move senza modifiche all’architettura non ha esito positivo. Altre sfide per le aziende che vogliono essere cloud native sono:

  • Trova il giusto mix di qualifiche,
  • Adattarsi a un modello di sicurezza incentrato sul cloud,
  • Gestire il profilo di costo variabile per l’ambiente cloud.

Gli sviluppatori dovrebbero essere interessati ad adottare Cloud Native come principio organizzativo, sviluppando nuove applicazioni per il cloud o dividendo le applicazioni esistenti e omogenee in microservizi in modo che siano più adatte all’ambiente cloud. Ciò richiede un cambiamento completo di mentalità: lontano dal tradizionale sviluppo a cascata verso principi di sviluppo più flessibili come prodotti minimi praticabili, automazione, test multivariati, osservabilità e modello devops.

Questo articolo si basa su un articolo della nostra pubblicazione gemella negli Stati Uniti, Infoworld.com.

READ  Matt Pokora celebra la festa del papà con un'adorabile foto dei suoi figli Isaiah e Kenna

You May Also Like

About the Author: Jemma Romani

"Creatore. Piantagrane. Lettore. Nerd televisivo. Sostenitore orgoglioso della birra. Impossibile scrivere con i guantoni da boxe. Introverso. Praticante zombi certificato. Pensatore."

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *