Video: Continuous integration and deployment using Azure Data Factory | Azure Friday 2024
In un ambiente cloud ibrido, potresti voler lavorare con i tuoi partner tramite un servizio cloud ibrido o sviluppare e distribuire alcune applicazioni basate su cloud specificatamente per il tuo team di vendita. Avrai bisogno di sapere come costruire, distribuire e gestire le applicazioni nel cloud e per il cloud.
Esistono numerosi scenari in cui è possibile scrivere un'applicazione per il cloud ibrido. Eccone alcuni:
-
Si desidera scrivere un'applicazione per il cloud che funzioni con le applicazioni personalizzate già in uso.
-
Si desidera scrivere applicazioni che possono funzionare in locale e raggiungere il cloud. Ad esempio, queste applicazioni potrebbero esplodere nel cloud per situazioni di picco.
-
Potresti voler scrivere applicazioni per il cloud che possono essere sfruttate su più cloud.
Il mercato è ancora molto emergente quando si tratta di creare e distribuire applicazioni ibride basate su cloud. Quindi, cosa è importante? Alcune parti del puzzle includono
-
Orientamento al servizio: L'orientamento al servizio è un approccio architettonico basato sull'implementazione dei processi aziendali come servizi software. Questi servizi aziendali sono costituiti da un insieme di componenti liberamente accoppiati - progettati per ridurre al minimo le dipendenze - assemblati per supportare un'attività aziendale ben definita.
Le imprese che hanno investito nella progettazione di infrastrutture con un approccio orientato ai servizi saranno in una posizione migliore per integrare i servizi interni con i servizi cloud. Le aziende che si sono concentrate sull'infrastruttura esistente e sul confezionamento di componenti chiave in modo che possano essere esposte come servizi sono pronte per iniziare a integrare il servizio in un ambiente ibrido.
-
Scalabilità: Le applicazioni dovranno essere progettate e costruite per funzionare in un cloud in modo che possano scalare i confini del cloud. Non si tratta solo di scrivere un'applicazione che risiederà su alcuni server. Si tratta di costruirli per utilizzare potenzialmente molti server.
Quando le persone che hanno familiarità con la nuvola parlano di scalabilità, usano i termini scala-su contro scala-fuori . Il ridimensionamento si riferisce all'aumento di memoria / CPU sul server e la scalabilità orizzontale si riferisce al ridimensionamento delle risorse su molti, molti nodi. È necessario progettare un'applicazione in modo da funzionare su più macchine.
È inoltre necessario prevedere come si comporta un'applicazione perché deve essere costruita in modo tale da supportare questa scalabilità orizzontale del cloud. In altre parole, il codice deve funzionare potenzialmente come pezzi su più macchine.Ciò include i fatti che l'applicazione dovrà supportare un modello di protocollo stateless (cioè ogni chiamata su un oggetto può stare da solo), che ogni pezzo di codice è modulare con accoppiamento lento e che lo stesso codice può essere eseguito su più macchinari.
-
Sincronizzazione e dipendenze del servizio: Un'applicazione potrebbe includere database, servizi di messaggistica e altri servizi. Tradizionalmente, se un'applicazione richiedeva un determinato servizio, ad esempio un servizio di database, il servizio veniva gestito associando i riferimenti agli indirizzi fisici. Ovviamente, questo cambia nel cloud perché potresti non conoscere in anticipo gli indirizzi IP, il che significa che trovare le risorse deve essere parte dell'applicazione.
-
Disponibilità: Gli esperti consigliano inoltre agli sviluppatori di prendere in considerazione un piano per il fallimento, incluse considerazioni su Tempo medio di errore (MTTF, il tempo trascorso previsto tra guasti di sistema) e Media Tempo di recupero (MTTR).
Se guardi una qualsiasi impresa, ci sono buone probabilità che trovi un mix di ambienti e processi di sviluppo. Lo sviluppo può essere fatto in silos per applicazioni a silos. Gli sviluppatori possono essere limitati dalla mancanza di risorse. Forse gli strumenti che stanno usando sono stati sviluppati per gestire i problemi più complessi. Quando le aziende passano allo sviluppo nel cloud, è importante per loro capire come estrapolare parte della complessità. Questo richiederà tempo.
I grandi vantaggi dello sviluppo e dell'implementazione di applicazioni nel cloud sono la sua elasticità e scalabilità. L'infrastruttura necessaria per lo sviluppo e la distribuzione può essere aumentata o ridotta automaticamente in base ai requisiti dell'applicazione. Questo campo si sta evolvendo, tuttavia, e paga per fare i conti. Molti fornitori si ricaricheranno in base all'utilizzo delle risorse sottostanti, che potrebbero includere l'utilizzo all'ora, l'elaborazione, la larghezza di banda e lo spazio di archiviazione.