• info@it-impresa.it

  • +39 0372 838068

  • Lavora con noi

  • Apri Ticket

itimpresa soluzioni informatiche
  • Il Gruppo
  • Chi Siamo
  • Servizi IT
  • Software
  • Cyber Security
  • Blog
    • Data Center
    • Cyber Security
    • Analytics
    • Approfondimenti
    • Casi di Successo
  • Contatti

Service mesh: l’infrastruttura che facilita le comunicazioni

  • Home
  • Blog
  • Data Center
  • Service mesh: l’infrastruttura che facilita le comunicazioni
Service mesh: l’infrastruttura che facilita le comunicazioni
Data di pubblicazione: 4 Dicembre 2021

La service mesh è una soluzione ideata per facilitare le comunicazioni tra servizi mantenendo sicurezza e controllo.
Una risorsa emergente con cui affrontare la trasformazione digitale e gestire i microservizi implementati nel Cloud.

Vediamo quindi come funziona e quali vantaggi porta al sistema e all’utente.

Indice dei contenuti

  • Cos’è una service mesh?
    • Quali sono i principali vantaggi
  • Come funziona una service mesh
    • L’architettura e i componenti
  • Service mesh e microservizi, le differenze

Cos’è una service mesh?

La service mesh è un livello di infrastruttura che, in un’architettura software, gestisce e facilita le comunicazioni che intercorrono tra servizi e applicazioni, grazie all’uso di API.

Nello specifico monitora come le differenti componenti di un’applicazione condividono i dati, documentando la qualità dell’interazione e ottimizzandola.
L’obiettivo è evitare momenti di inattività e mettere in sicurezza l’intera applicazione.
Ogni giorno si sviluppano infatti nuove applicazioni ed è essenziale tracciarne le comunicazioni per prevenire i rischi e garantire affidabilità.

Una service mesh serve quindi negli ambienti distribuiti di microservizi, dove i servizi, inseriti in container, compongono una rete svolgendo funzioni specifiche.
Questi servizi sono modificabili senza intervenire sull’intera applicazione e si possono scalare senza prevedere un upgrade dell’intero sistema.

La difficoltà è nella comunicazione tra le componenti – dato che i microservizi possono essere anche centinaia – ed è proprio per questo che entra in gioco la service mesh, coordinando in sicurezza l’intera applicazione.

Quali sono i principali vantaggi

Perché scegliere di ricorrere a una service mesh conviene?

Come abbiamo visto i vantaggi che porta sono concreti e numerosi, ma proviamo ad analizzare tutti i benefici più nel dettaglio:

  • si riducono considerevolmente i tempi di inattività dell’applicazione, reindirizzando le richieste e allontanandole dai servizi che non funzionano
  • i servizi sono costantemente monitorati e se ne può controllare la disponibilità grazie a circuit breaker e health check
  • se si riscontrano problemi o anomalie nei microservizi, oppure se l’endpoint viola i parametri di prestazione, si possono interrompere le connessioni
  • nell’ambiente di runtime le comunicazioni sono ottimizzate
  • si esegue un monitoraggio operativo che permette di conoscere in qualsiasi momento lo stato di salute del sistema, basandosi anche sugli output ricevuti
  • si possono attivare dei servizi di autorizzazione, autenticazione e crittografia che convalidino le richieste in arrivo e garantiscano la sicurezza dell’intero canale comunicativo
  • l’utente ha accesso a un’interfaccia che gestisce e configura funzionalità come i parametri di prestazioni o i criteri di sicurezza e routing
  • è più facile individuare eventuali criticità
  • il carico di lavoro è distribuito uniformemente e si possono dirigere routing e connessione delle richieste di servizio alle istanze corrette
  • gli sviluppatori e il personale tecnico interno non deve perdere tempo a connettere i servizi, ma può concentrarsi su altre attività che incrementino il valore aziendale.

Come funziona una service mesh

Ciò che contraddistingue una service mesh è che, nonostante non aggiunga nuove funzionalità nell’ambiente di runtime,riesce a estrapolare dai servizi le logiche che regolano la comunicazione service to service astraendole in un livello dell’infrastruttura.

Per questo la service mesh è integrata in un’applicazione come una serie di proxy di rete, ossia un intermediario tra le richieste da parte dei client e il server che riceve gli input.

Nello specifico, quindi, come funziona una service mesh?
In questo tipo di infrastruttura sono presenti dei speciali proxy, chiamati sidecar, che permettono di indirizzare le richieste tra i microservizi.
Sono così chiamati perché al posto di muoversi all’interno di un servizio, si muovono al loro fianco e insieme formano la rete di mesh.
I servizi non comunicano direttamente l’un l’altro effettuando richieste, ma tutto passa attraverso il livello: i servizi sono accoppiati liberamente e la rete si assume il controllo delle comunicazioni.

La service mesh, inoltre, facilita la gestione del traffico e permette la comunicazione tra i servizi senza dover ricorrere a logiche di codifica che rallenterebbero il lavoro degli sviluppatori e renderebbero più difficoltoso diagnosticare eventuali problemi.

In una service mesh sono presenti dei speciali proxy chiamati sidecar che si muovono a fianco dei servizi creando la rete.

L’architettura e i componenti

Una service mesh, per funzionare, è solitamente costituita da due parti: il piano dati, o data plane, e il piano di controllo, o control plane.

Analizziamo nel dettaglio le caratteristiche:

  • data plane: è composto da proxy intelligenti distribuiti come sidecar che mediano, gestiscono e controllano tutte le comunicazioni di rete tra i microservizi, segnalando la telemetria su tutto il traffico mesh e monitorando il traffico in entrata e in uscita da ogni componente.
    Questi proxy sono inseriti a livello infrastrutturale nel pod dove si trovano le applicazioni in esecuzione e vengono considerati come oggetti distinti. Condividono infatti lo stesso IP e lo stesso namespace, ma rimangono entità isolate a livello di processo con un file system separato.
    In questo modo il proxy può sviluppare il proprio ciclo di vita autonomamente, nonostante si crei e distribuisca l’applicazione.
  • control plane: è un’interfaccia a disposizione dell’utente, ma può essere anche un’API, con cui gestire e configurare i proxy per indirizzare il traffico.
    Ha il compito di fornire i criteri necessari per raccogliere le informazioni e applicare determinate funzionalità.

Service mesh e microservizi, le differenze

In conclusione, in cosa una service mesh differisce dai microservizi?

Innanzitutto è utile spiegare che un’architettura a microservizi consente a programmatori e sviluppatori di intervenire sui singoli servizi, apportando delle modifiche senza dover redistribuire l’applicazione nella sua interezza.
I microservizi comunicano tra di loro ma sono completamente indipendenti, per questo se un singolo servizio non funziona non compromette il funzionamento del resto dell’app.
Ciò che contraddistingue questa infrastruttura dagli altri tipi di architetture, è che il team di sviluppo, nel creare i singoli microservizi, può scegliere quali strumenti e linguaggi di codifica è più opportuno usare.

La service mesh, invece, è ciò che permette il funzionamento ottimale di questa architettura a microservizi.
L’infrastruttura può infatti funzionare e comunicare da sola, ma se le comunicazioni diventano numerose e complesse allora la service mesh diventa una risorsa necessaria.
Una service mesh, inoltre, permette di includere un alto numero di piccoli servizi funzionali nelle applicazioni Cloud native integrate in architetture a microservizi.

Desideri parlare con un nostro esperto? Contattaci

    Ultime News Data Center
    • Multi-cloud vs Hybrid cloud: Confronto, Cosa sono, Differenze
      Multi-cloud vs Hybrid cloud: Confronto, Cosa sono, Differenze
      29 Novembre 2023
    • OLAP: Cos’è, Come funziona, Caratteristiche e Tipologie
      OLAP: Cos’è, Come funziona, Caratteristiche e Tipologie
      27 Novembre 2023
    • ChatGPT: Cos’è, cosa chiedergli, a cosa serve e come usarlo gratis
      ChatGPT: Cos’è, cosa chiedergli, a cosa serve e come usarlo gratis
      1 Novembre 2023
    • Tipi di cloud computing e modelli di servizio
      Tipi di cloud computing e modelli di servizio
      30 Ottobre 2023
    • Cambio server: Perché farlo, Quando e Consigli
      Cambio server: Perché farlo, Quando e Consigli
      21 Ottobre 2023
    • Data Transformation: Cos’è, Processo, Tipologie e tecniche
      Data Transformation: Cos’è, Processo, Tipologie e tecniche
      14 Ottobre 2023
    • OLTP vs OLAP: Cosa sono, Differenze, Vantaggi e Svantaggi
      OLTP vs OLAP: Cosa sono, Differenze, Vantaggi e Svantaggi
      8 Ottobre 2023
    • ERP (Enterprise Resource Planning): cos’è e perché è importante
      ERP (Enterprise Resource Planning): cos’è e perché è importante
      19 Settembre 2023
    • Data mesh: cos’è, differenze e architettura
      Data mesh: cos’è, differenze e architettura
      14 Settembre 2023
    • Switch di rete: cos’è, tipologie e vantaggi
      Switch di rete: cos’è, tipologie e vantaggi
      31 Agosto 2023

    Hanno scelto IT Impresa

    clienti
    clienti
    clienti
    clienti
    clienti
    clienti
    clienti
    clienti
    clienti
    itimpresa soluzioni informatiche

    IT Impresa è una PMI Innovativa.
    IT Impresa progetta, realizza e gestisce soluzioni informatiche per le aziende che vogliono mettere la tecnologia al servizio del loro successo. Consulenza informatica, servizi IT, Cyber Security, consulenza software, abbinate a eccellenza, innovazione e affidabilità.

    Contatti
    • Cremona Via Gazzoletto 4C, 26100

      Monza Via Amati 76, 20900

      Torino Via Ventimiglia 16/1, 10126

      Fidenza Via San Michele 25/A, 43036

    • info@it-impresa.it

    • +39 0372 838068

    • Lavora con noi

    • Apri Ticket

    • Scarica TeamViewer
    Links

    Servizi IT

    Iperconvergenza

    Gestione Database

    Cyber Security

    Gestione Cloud

    © Copyright 2023 IT Impresa | P.IVA 01515690194 | Capitale sociale € 190.000,00 i.v. | REA CR 178399 | pec: itimpresa@legalmail.it | note legali | privacy policy

    Utilizziamo i cookie per garantire la migliore esperienza sul nostro sito. Puoi accettare tutti i cookie oppure personalizzarli. Leggi tutto
    Personalizza CookieAccetta Tutti
    Manage consent

    Privacy Overview

    This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
    Necessary
    Sempre abilitato
    Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
    CookieDurataDescrizione
    _GRECAPTCHA5 months 27 daysThis cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks.
    _GRECAPTCHA5 months 27 daysThis cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks.
    cookielawinfo-checkbox-advertisement1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
    cookielawinfo-checkbox-advertisement1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
    cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
    cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
    cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
    cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
    cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
    cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
    cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
    cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
    cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
    cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
    CookieLawInfoConsent1 yearRecords the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
    CookieLawInfoConsent1 yearRecords the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
    viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
    viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
    Functional
    Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
    CookieDurataDescrizione
    bcookie2 yearsLinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID.
    bscookie2 yearsLinkedIn sets this cookie to store performed actions on the website.
    langsessionLinkedIn sets this cookie to remember a user's language setting.
    lidc1 dayLinkedIn sets the lidc cookie to facilitate data center selection.
    UserMatchHistory1 monthLinkedIn sets this cookie for LinkedIn Ads ID syncing.
    Performance
    Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
    CookieDurataDescrizione
    __kla_id2 yearsCookie set to track when someone clicks through a Klaviyo email to a website.
    SRM_B1 year 24 daysUsed by Microsoft Advertising as a unique ID for visitors.
    Analytics
    Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
    CookieDurataDescrizione
    _ga2 yearsThe _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
    _ga2 yearsThe _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
    _gat_UA-137720848-11 minuteA variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to.
    _gat_UA-35242002-11 minuteA variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to.
    _gcl_au3 monthsProvided by Google Tag Manager to experiment advertisement efficiency of websites using their services.
    _gid1 dayInstalled by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
    _gid1 dayInstalled by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
    _hjAbsoluteSessionInProgress30 minutesHotjar sets this cookie to detect the first pageview session of a user. This is a True/False flag set by the cookie.
    _hjFirstSeen30 minutesHotjar sets this cookie to identify a new user’s first session. It stores a true/false value, indicating whether it was the first time Hotjar saw this user.
    _hjIncludedInPageviewSample2 minutesHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's pageview limit.
    _hjIncludedInSessionSample2 minutesHotjar sets this cookie to know whether a user is included in the data sampling defined by the site's daily session limit.
    _hjTLDTestsessionTo determine the most generic cookie path that has to be used instead of the page hostname, Hotjar sets the _hjTLDTest cookie to store different URL substring alternatives until it fails.
    ajs_anonymous_id1 yearThis cookie is set by Segment to count the number of people who visit a certain site by tracking if they have visited before.
    CONSENT2 yearsYouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
    Advertisement
    Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
    CookieDurataDescrizione
    _fbp3 monthsThis cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website.
    _fbp3 monthsThis cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website.
    ANONCHK10 minutesThe ANONCHK cookie, set by Bing, is used to store a user's session ID and also verify the clicks from ads on the Bing search engine. The cookie helps in reporting and personalization as well.
    fr3 monthsFacebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin.
    fr3 monthsFacebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin.
    MUID1 year 24 daysBing sets this cookie to recognize unique web browsers visiting Microsoft sites. This cookie is used for advertising, site analytics, and other operations.
    test_cookie15 minutesThe test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies.
    VISITOR_INFO1_LIVE5 months 27 daysA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
    YSCsessionYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
    yt-remote-connected-devicesneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
    yt-remote-device-idneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
    yt.innertube::nextIdneverThis cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
    yt.innertube::requestsneverThis cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
    Others
    Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
    CookieDurataDescrizione
    __awc_tld_test__sessionNo description
    _clck1 yearNo description
    _clsk1 dayNo description
    _hjSession_195624030 minutesNo description
    _hjSessionUser_19562401 yearNo description
    AnalyticsSyncHistory1 monthNo description
    CLID1 yearNo description
    last_pys_landing_page7 daysNo description
    last_pysTrafficSource7 daysNo description
    li_gc2 yearsNo description
    pys_first_visit7 daysNo description
    pys_landing_page7 daysNo description
    pys_session_limit1 hourNo description
    pys_start_sessionsessionNo description
    pysTrafficSource7 daysNo description
    SMsessionNo description available.
    ACCETTA E SALVA
    Powered by CookieYes Logo

    10 Passi fondamentali per la sicurezza delle PMI

    Scarica la GUIDA PRATICA per la sicurezza informatica delle PMI.

    Proteggi i tuoi dati e assicura la continuità aziendale.

    SCARICA ORA