I microservizi fanno riferimento alla molteplicità di standard web indipendenti, linguaggi di programmazione, piattaforme di database e componenti dei server web che si utilizzano nel ciclo di vita di sviluppo del software in forma di strumenti per sviluppatori. Per tradizione, le aziende un tempo erano orientate a un approccio di tipo SOA (Service-Oriented Architecture) che rappresentava la tecnologia hardware e software integrata da un'unica azienda IT. Con i microservizi, migliaia di diversi componenti sono supportati nelle applicazioni software per il cloud e nei server web offerti dalle aziende di sviluppo indipendenti o dalle community Open Source. I reparti IT hanno dovuto implementare una nuova filosofia per gestire i microservizi nel processo di produzione in ambienti multi-tenant isolati in data center public cloud iperscalabili e, per ovviare a questo problema, hanno adottato le soluzioni di virtualizzazione su larga scala con standard SDDC basati su tecnologia service mesh. I microservizi sono gli elementi essenziali o componenti, piattaforme e framework fondamentali in cui il codice viene creato e utilizzato su server web in un data center su cloud.
La funzione principale dei microservizi è quella di incrementare la funzionalità disponibile su un server in tutte le operation relative a sistema operativo predefinito, rete o piattaforma di gestione del data center. Alcuni microservizi sono estensioni dello stack del server web, come le piattaforme dei linguaggi di programmazione e i framework di database. Al fine di sviluppare applicazioni PHP e MySQL, è necessario che l'ambiente di server web sia configurato con il supporto della piattaforma LAMP. Le soluzioni basate su microservizi devono fare fronte alla concorrenza delle soluzioni SOA (Service-Oriented Architecture) offerte da Microsoft, Oracle, IBM e altri colossi dell'IT che forniscono distribuzioni closed-source. Le aziende del settore Enterprise ora devono garantire il supporto simultaneo di due o più applicazioni scritte nei linguaggi PHP, Python, Ruby-on-Rails, Java, C++, ASP.net e così via, negli ambienti di produzione. In altre situazioni, un data center può avere in esecuzione più framework di database tramite VM su hardware multi-tenant. È necessario che un server web sia configurato per il supporto di estensioni personalizzate per l'esecuzione dello streaming, le integrazioni API oppure mediante l'aggiunta di utility proprietarie per le funzionalità di analisi. L'aggiunta contestuale di tutti questi servizi di terze parti e Open Source equivale a migliaia di microservizi su un tipico server web in ambienti di produzione, moltiplicati per milioni di VM su larga scala in un ambiente di servizi di public cloud.
L'uso dei microservizi ha preso piede dopo l'era Web 2.0, in quanto le multinazionali dell'IT necessitavano di un nuovo modo per concettualizzare l'ambiente di sviluppo del software in modo che riflettesse l'ecosistema e le best practice correnti. L'uso di microservizi per lo sviluppo di applicazioni web e mobili ha determinato maggiori complessità in termini di supporto delle operation aziendali da parte degli amministratori dei data center. Ora le aziende non devono solo prendere accordi con Oracle, IBM o Microsoft per tutte le soluzioni software e per data center necessarie, ma devono anche destreggiarsi in un panorama che pullula di milioni di progetti di codici Open Source che offrono soluzioni di classe Enterprise per uso aziendale. Diversi standard web sono disponibili in diverse versioni della concorrenza sviluppate da aziende differenti. Diversi linguaggi di programmazione e database coprono la stessa funzionalità d'uso. Ogni team di sviluppo ha le proprie preferenze circa gli strumenti e i metodi di programmazione. La gestione di tutte queste complessità nell'era del cloud nell'ambito di un unico reparto IT aziendale ha comportato, per diverse aziende complesse di tutto il mondo, la necessità di supportare i microservizi nello sviluppo di software professionale.
Il modo migliore per comprendere l'architettura dei microservizi è quello di immaginare i layer del software in uno stack del server web. Il sistema operativo può essere Windows, Linux o BSD per il server web. Ci sono strumenti per il bilanciamento del carico e la gestione del data center sulla rete. Per il server web, la scelta spazia da Apache a IIS, da NGINX a Caddy, a Tomcat e così via. Poi c'è il layer per il supporto del linguaggio di programmazione installato, ad esempio PHP, ASP.net, Python, Ruby, Perl, Java e Go. Successivamente c'è il layer per i framework di database, come MySQL, MSSQL, PostgreSQL e MongoDB. Quindi un altro layer per le utility di caching come Varnish, Redis, CDN e le utility per l'ottimizzazione. Altri layer dedicati al supporto includono i server edge, le piattaforme serverless e l'integrazione AI/ML. Nell'ambito di un ecosistema di public cloud, migliaia di microservizi attivi simultaneamente devono essere gestiti nel service mesh per poter supportare interoperabilità, routing e comunicazioni.
Il modello SOA (Service-Oriented Architecture) prevede generalmente l'offerta di un unico vendor e include un pacchetto di soluzioni hardware e software che possono essere distribuite per rispondere alle necessità di uno specifico settore. Il modello SOA supporta il data center, il server web e il layer dello stack tramite diverse distribuzioni o diversi modelli di prodotto. L'approccio SOA è offerto da soluzioni proprietarie e da soluzioni Open Source in base al vendor. Le apparecchiature di rete e le connessioni in fibra sono gestite diversamente in data center su cloud e in data center privati interni. Allo stato attuale del panorama di sviluppo di software, i microservizi si rendono necessari ai fini di un'innovazione. Anche le grandi aziende multinazionali hanno la necessità di adottare i microservizi a supporto dei team di programmazione Agile che si occupano di introdurre sul mercato nuove applicazioni web/mobili, dove il supporto del prodotto può includere migliaia di marchi o domini. I microservizi spesso sono necessari per la modernizzazione e per la containerizzazione di software aziendale legacy.
Il Software-Defined Storage di VMware è un'architettura di storage per il data center semplice ma intelligente che consente di allineare le richieste dell'azienda con quelle delle applicazioni. Ottieni subito ulteriori informazioni.
Getta le basi di un modello operativo orientato ai servizi e basato sull'azienda mediante best practice per la definizione dei servizi cloud.
La virtualizzazione è il modo più efficace per ridurre le spese IT, aumentando al tempo stesso l'efficienza e l'agilità per le aziende di qualsiasi dimensione.
Le organizzazioni IT oggi usano "progetti" come costrutto per la gestione del lavoro. Adottare un approccio orientato ai servizi può garantire un provisioning più rapido e ridurre i costi.
Una Enterprise Cloud Suite è un insieme integrato di prodotti dedicati alla gestione degli hybrid cloud e all'abilitazione del provisioning self-service.
Per creare la definizione di un servizio e un endpoint virtuale per l'appliance di servizio nel public cloud, devi usare le API di NSX Manager.