Categorie
Blog

COS’È IL CLOUD HOSTING E COME FUNZIONA?

Cloud hosting: cos’è, soluzioni e benefici per il tuo business

Le aziende che sviluppano un business online devono assicurarsi che la piattaforma tecnologica su cui poggia la propria attività sia solida, performante, resiliente e scalabile. Per questo è nato il cloud hosting.

Cloud hosting: definizione e caratteristiche

Il Cloud hosting è un servizio che garantisce la permanenza del sito online fornendo le risorse relative allo spazio e al traffico ottimali per il gestire al meglio il business sul web (CPU, RAM, storage ecc.). A differenza degli altri servizi però, non si tratta di un hosting fisico ma virtuale. Questo significa che il Cloud hosting sfrutta le risorse Cloud per garantire maggiore affidabilità, migliori prestazioni ed elevata scalabilità. Il servizio di Cloud hosting è basato su sistemi di virtualizzazione progettati appositamente per siti web e servizi internet che richiedono elasticità di risorse e alte performance. È dunque ideale per imprese di ogni dimensione, ma che hanno nel web un fattore importante del proprio business.

Le caratteristiche e le prestazioni del servizio Cloud hosting sono flessibili e si adattano alle necessità al traffico generato dal business online. Tutte le soluzioni di Cloud hosting sono altamente scalabili e in grado di supportare la crescita del progetto online passo per passo, garantendo un livello di affidabilità ottimale e fornendo SLA personalizzabili in base alle prestazioni.

















    Cloud hosting: i principali vantaggi

    Affidarsi a un’infrastruttura e a servizi cloud per la propria attività online porta con sé alcuni evidenti benefici, tra cui:

    • Alta affidabilità;
    • Elevata scalabilità;
    • Prestazioni elevate;
    • Modello pay-per-use flessibile;
    • SLA personalizzate.

    Il Cloud hosting può essere attivato in modalità Managed, includendo la gestione del servizio di hosting da parte del Cloud provider e del suo team di specialisti.

    Il servizio Cloud hosting managed è vantaggioso per diversi motivi. Per esempio, è la soluzione ideale per le aziende che non hanno tempo per occuparsi della gestione, oppure per le organizzazioni che non hanno un team IT interno con le competenze necessarie per amministrare il servizio nel modo più corretto. Grazie a un team di esperti dedicati, l’azienda non deve più preoccuparsi di gestire la parte IT del business, eliminando lo stress, i costi e il tempo che una gestione autonoma (anche di una certa complessità) comporta.

    Cloud hosting Kubify con container Kubernetes

    Cloud hosting Kubify è l’unica soluzione di Cloud hosting in Italia gestita con Container Kubernetes, e capace di assicurare le massime prestazioni, scalabilità e sicurezza.

    In Criticalcase, adottiamo la soluzione Kubify in quanto innovativa, multi-datacenter e ibrida. La soluzione sfrutta l’affidabilità dello storage Azure e la potenza di calcolo dei nostri data center per assicurare la massima disponibilità del servizio e performance elevate.

    Il servizio Cloud hosting Kubify è un servizio ‘chiavi in mano’ completamente gestito. Ciò significa non doversi più preoccupare dell’infrastruttura dal punto di vista tecnico, ma avere a disposizione una piattaforma all-inclusive su cui sviluppare applicazioni in maniera agile e performante senza rischiare che il sito web o e-commerce vada offline. Inoltre, la soluzione comprende una serie di servizi aggiuntivi gratuiti e inclusi nell’offerta di hosting, tra cui backup orario, ambienti di sviluppo e test, synthetic monitoring e molto altri. Cloud hosting Kubify, come tutte le nostre soluzioni di hosting, comprende l’assistenza tecnica h24 in italiano.

    Da sempre, riponiamo massima attenzione al tema delle performance web. Come si è visto, le nostre soluzioni di hosting sfruttano le migliori tecnologie e infrastrutture disponibili per garantire i massimi livelli di uptime e prestazioni allo stato dell’arte. L’aggiunta del cloud permette di massimizzare anche i livelli di scalabilità e di agilità rispetto a un business in continuo cambiamento.

    In ambito di web performance, abbiamo pubblicato un White Paper approfondendo il tema delle CDN e, in particolare, delle strategie Multi-CDN, fondamentali per business online di estensione internazionale o globale. Consigliamo di scaricarlo, di approfondire il tema e, se di interesse, di contattarci per una consulenza gratuita.

    Categorie
    Blog

    MICROSERVIZI: COSA SONO, CARATTERISTICHE E VANTAGGI

    MICROSERVIZI: COSA SONO, CARATTERISTICHE E VANTAGGI

    Cosa sono i Microservizi?

    microservizi sono un approccio allo sviluppo dell’architettura software emerso in particolar modo per sviluppare le applicazioni moderne di tipo Cloud-based. Con questo modello, le applicazioni vengono scomposte in “piccoli” servizi (microservizi, come suggerisce il nome) autonomi ed indipendenti tra loro che comunicano tramite API ben definite, con l’obiettivo di semplificare il processo di deployment e fornire software di alta qualità in tempi rapidi. I microservizi, infatti, permettono di scalare in modo più semplice e soprattutto più veloce, promuovendo l’innovazione e accelerando lo sviluppo di nuove funzionalità.

    Architettura monolitica vs microservizi

    I microservizi si contrappongono alla tradizionale architettura monolitica usata per sviluppare le applicazioni, la quale prevede che ogni componente venga creato all’interno dello stesso elemento. Il metodo monolitico, però, ha alcuni svantaggi. Maggiori sono le dimensioni dell’applicazione, più complicato sarà risolvere rapidamente i problemi ed implementare nuove features. Con questo approccio infatti, tutti i processi sono collegati tra loro e vengono eseguiti come un unico servizio. Questo significa che quando un processo sperimenta un picco nella richiesta, è necessario ridimensionare l’intera architettura. Di conseguenza aggiungere o modificare una funzionalità diventa molto laborioso, limitando la sperimentazione e l’inserimento di nuove features.

    microservices

    Allo stesso tempo, con le architetture tradizionali si amplia il rischio relativo alla disponibilità dell’applicazione, in quanto la presenza di processi strettamente connessi e dipendenti uno dall’altro aumenta l’impatto di un errore in un singolo processo.
    L’approccio che utilizza i microservizi semplifica la risoluzione delle problematiche e ottimizza i tempi di sviluppo. Ciascun processo o componente costituisce un microservizio e viene eseguito come un servizio indipendente. I microservizi comunicano tra di loro utilizzando un’interfaccia formata da API “leggere” ed interagiscono per completare le stesse attività pur rimanendo indipendenti uno dall’altro, con la possibilità di condividere processi simili tra più applicazioni. E’ un modello altamente granulare in cui ogni microservizio corrisponde ad una funzione aziendale ed esegue solo una funzione. Inoltre, l’indipendenza tra i servizi elimina i problemi relativi all’aggiornamento, al ridimensionamento e alla distribuzione tipiche di un’architettura monolitica.

    Microservizi e container

    Sebbene l’architettura basata sui microservizi non sia del tutto nuova, la presenza dei container ha reso molto più semplice adottarla. I container rappresentano l’ambiente di sviluppo ideale per le applicazioni che usano i microservizi perchè consentono di eseguire diverse parti di un’applicazione in modo indipendente, sullo stesso hardware e operando un controllo superiore sui cicli di vita del software. I container forniscono ai microservizi un ambiente autosuffciente in cui la gestione di servizi, storage, rete e sicurezza diventa più semplice. Proprio per queste ragioni, microservizi e container insieme costituiscono la base dello sviluppo di applicazioni Cloud-native. Inserendo i microservizi nei container si accellera lo sviluppo e si facilita la trasformazione e l’ottimizzazione delle app esistenti.

    I vantaggi dell’approccio basato sui microservizi

    I microservizi, quando sono implementati correttamente, consentono di migliorare l’affidabilità e la scalabilità delle applicazioni. Come accennato poco fa, uno degli aspetti più interessanti dei microservizi nei confronti delle architetture monolitiche, è che un difetto o un bug in un singolo servizio non va ad influenzare il funzionamento degli altri servizi, pertanto non compromette l’intera applicazione. Questi e molti altri sono i vantaggi dei microservizi: vediamoli insieme.

    • Eliminazione dei single point of failure
    • Elevata scalabilità e resilienza
    • Time-to-market
    • Deployment semplificato
    • Top performance
    • Libertà nell’uso delle tecnologie
    • Maggiore sperimentazione ed innovazione
    • Codice riutilizzabile
    • Flessibilità del linguaggio di sviluppo
    • Sistema più agile
     

    …e gli svantaggi

    Non dimentichiamo però che i microservizi, sebbene rappresentino un modello di sviluppo innovativo e molto performante, hanno anche i loro svantaggi. Tra questi la complessità che si associa tipicamente a tutti i sistemi distribuiti, la necessità di utlizzare metodi di testing molto solidi e di avere a disposizione personale esperto per la gestione dei processi e l’assistenza tecnica. Inoltre, se un’applicazione non ha necessità di scalare rapidamente o non è Cloud-based, i microservizi potrebbero fornire benefici poco significativi all’architettura di sviluppo.

    New call-to-action
    Categorie
    Blog

    LA SCALABILITÀ NEL CLOUD COMPUTING: COS’È E PERCHÈ È IMPORTANTE

    La scalabilità nel cloud computing: cos’è e perché è importante

    cloud computing

    Le aziende intraprendono il journey to cloud per diversi motivi, tra cui ridurre i costi di gestione delle infrastrutture, modernizzare il parco applicativo, essere maggiormente flessibili di fronte alle richieste del business e accedere a tecnologie innovative. Non solo: dopo decenni di paradigma on-premise, le divisioni IT ottengono con il cloud una soluzione pressoché istantanea ai tradizionali limiti di scalabilità delle infrastrutture e delle applicazioni tradizionali. Scopriamo di cosa si tratta.

    Scalabilità nel cloud computing: cos’è

    Possiamo definire come scalabile un sistema capace di aumentare e ridurre le proprie prestazioni, risorse e funzionalità in base alle necessità di chi lo richiede. Parliamo di infrastrutture molto flessibili, altamente personalizzabili e adattabili alle esigenze delle aziende, in grado di rispondere a bisogni specifici in modo immediato.

    Facciamo un esempio. I contact center moderni si basano su piattaforme cloud che governano tutti i processi e i flussi di comunicazione. Il giorno del Black Friday, l’avvio di una promozione o di fronte a eventi imprevedibili come lotti difettosi di prodotto, le richieste di contatto aumentano esponenzialmente. Se il sistema non è scalabile, le prestazioni decadono, i chatbot non funzionano, gli operatori non riescono a trovare informazioni e ne può risentire anche la qualità delle chiamate. Al contrario, la scalabilità del cloud computing fa sì che il sistema reagisca al picco di richieste attivando immediatamente una quantità congrua di risorse. Come risultato, le prestazioni risultano analoghe a prescindere dai carichi di lavoro.

    L’elevata scalabilità del cloud computing consente inoltre di ottimizzare l’efficienza complessiva del sistema e di ottenere risparmi significativi in termini di costi e di risorse. Le soluzioni di cloud computing possono avvalersi di scalabilità nativa, una delle ragioni per cui il Cloud ha ottenuto un grande successo e continuerà a crescere sul mercato.

    Le due tipologie di scalabilità nel cloud computing

    Dal punto di vista infrastrutturale, esistono due tipi di scalabilità nel cloud computing:

    • Scalabilità orizzontale: significa incrementare la potenza dell’architettura Cloud in parallelo, aggiungendo nuovi nodi al sistema.
    • Scalabilità verticale: si riferisce invece all’aumento di potenza dell’infrastruttura “in altezza”, ossia all’incremento delle risorse dei singoli nodi architetturali in termini di CPU, RAM e storage.

    I benefici di un sistema scalabile

    Un sistema scalabile offre numerosi vantaggi a chi lo utilizza. Di seguito, i principali:

    • L’infrastruttura è completamente personalizzabile in base alle necessità dell’azienda;
    • È possibile incrementare o ridurre le capacità del sistema a seconda delle esigenze del momento e delle possibilità del cliente;
    • Anche in caso di malfunzionamento, un’architettura scalabile garantisce un minimo livello di servizio.

    I vantaggi della scalabilità nel cloud computing sono quindi sintetizzabili in risparmio ed efficienza. Il cliente ha a disposizione un’architettura progettata specificatamente sulle sue esigenze e paga solo le risorse necessarie. Nel caso sia necessario aumentare le risorse a disposizione, lo si può fare in modo automatico o manuale. Ma in ogni caso, in modo rapido.

    Scalabilità del cloud computing in azione: i container

    I container sono un ottimo esempio di infrastruttura Cloud dotata della massima scalabilità: consentono entrambi i tipi di scalabilità e rappresentano la soluzione più innovativa e performante attualmente sul mercato.

    Il sistema containerizzato riconosce automaticamente quando è necessario un incremento della capacità computazionale, così come registra immediatamente quando si verifica una riduzione del carico di lavoro ed è necessario ridurre le risorse in uso per garantire l’efficienza dell’infrastruttura senza sprechi. I benefici per l’utente sono straordinari: nessuno spreco di risorse, ovvero massima razionalizzazione dei costi, e prestazioni sempre in linea con le esigenze.

    Criticalcase e il journey to cloud

    In Criticalcase, accompagniamo i Clienti lungo tutto il percorso che conduce al cloud, disegnando, implementando e gestendo soluzioni adeguate alle loro esigenze. La scalabilità è un requisito fondamentale di ogni progetto di modernizzazione dei sistemi e del parco applicativo, cui rispondiamo con infrastrutture solide, professionalità, esperienza e soluzioni personalizzate.

    Per qualsiasi esigenza, contattaci. Saremo lieti di intraprendere un nuovo cloud journey.

    La cyber-resilienza è un modello che riunisce i processi di business continuity, pratiche di data security, resilienza organizzativa e offre una soluzione efficace e concreta al crimine informatico.

    Add a date

    White paper

    Categorie
    Blog

    I VANTAGGI DELLE APPLICAZIONI CLOUD-NATIVE

    I VANTAGGI DELLE APPLICAZIONI CLOUD-NATIVE

    Applicazioni Cloud-native: cosa sono?

    Le applicazioni Cloud-native sono progettate per sfruttare al meglio le infrastrutture Cloud e ottimizzare i vantaggi derivanti dall’uso della Nuvola. Lo sviluppo Cloud-native si basa su un approccio specifico alla progettazione, realizzazione e aggiornamento delle applicazioni. Sebbene siano ancora poco conosciute e diffuse, le applicazioni Cloud-native potrebbero essere uno dei migliori strumenti disponibili per accelerare l’innovazione dei business. Sono create con lo scopo di offrire dei vantaggi concreti alle aziende che le utilizzano: accelerare la creazione di nuove app, ottimizzare quelle in uso ed integrare tutto all’interno del sistema, favorendo lo sviluppo continuo.

    Lo scopo ultimo di questo approccio è infatti quello di distribuire le applicazioni agli utenti secondo le esigenze e le tempistiche desiderate dall’azienda. Le app vengono progettate per offrire un’esperienza di development e management automatizzata all’interno di ambienti Cloud di tutti i tipi (pubblici, privati e ibridi). Attraverso il Cloud Computing le aziende possono così migliorare la scalabilità e la disponibilità delle applicazioni, sfruttando il self-provisioning delle risorse e automatizzando il ciclo di vita dell’app, dallo sviluppo fino alla fase finale della produzione. Lo sviluppo Cloud-native migliora la qualità e l’agilità del sistema riducendo i rischi: le applicazioni create saranno più reattive, estremamente scalabili e tolleranti agli errori, in qualunque ambiente si trovino. Per poter usufruire al massimo di questi vantaggi è necessario trasformare l’approccio di sviluppo.

    I parametri dell’approccio Cloud-native

    Per sviluppare applicazioni Cloud-native occorrono diversi elementi. E’ necessario modificare le modalità di lavoro e di collaborazione tra i vari team e fornire adeguati strumenti a supporto dello sviluppo. In primo luogo un’organizzazione che utilizza strategie DevOps è facilitata, grazie all’integrazione esistente tra le funzioni del team Developers e quelle del Team Operations, che condividono quindi obiettivo e feedback.

    Ulteriore supporto è dato dall’adozione dei Container a livello infrastrutturale. I container rappresentano l’ambiente di deployment ed esecuzione dell’applicazione ideale e semplificano lo spostamento delle app tra gli ambienti conservando a pieno le loro funzionalità. DevOps e container combinati rendono il rilascio e l’aggiornamento delle applicazioni più semplice e veloce.

    Un altro aspetto importante per lo sviluppo Cloud-native è la modularità dell’architettura e l’indipendenza dei servizi. A questo proposito parliamo dei microservizi, ossia un’architettura che suddivide le applicazioni in componenti più piccoli indipendenti tra loro. Ogni microservizio esegue una determinata funzione aziendale e comunica attraverso un’interfaccia API o un sistema di messaggistica.

    Vantaggi delle applicazioni Cloud-native

    L’approccio Cloud-native consente di snellire il sistema IT e rendere più efficienti i processi. Ecco una sintesi dei vantaggi principali nelle varie aree:

    • Distribuzione
      Distribuire le app agli utenti diventa molto più semplice e veloce grazie all’ambiente Cloud-native
    • Modifiche
      L’approccio Cloud-native consente di modificare ed adattare le app alle esigenze del mercato e dell’utenza molto più rapidamente.
    • Development
      Le app Cloud-native mettono a disposizione nuove funzionalità in tempi brevi, permettendo all’azienda di cogliere nuove opportunità di business.
    • Innovazione
      Questo approccio di sviluppo presuppone una riduzione dei processi manuali e una forte automazione, capaci di dare una forte spinta innovativa all’azienda.
     
    New call-to-action
    Categorie
    Blog

    KUBIFY: IL WEB HOSTING DEL FUTURO USA KUBERNETES

    KUBIFY: IL WEB HOSTING DEL FUTURO USA KUBERNETES

    Perchè Kubify è una soluzione di web hosting innovativa ed unica sul mercato?

    Ogni progetto online ha bisogno di un servizio di web hosting di qualità che possa supportare al meglio la crescita del business. Oggi vi parliamo di Kubify, la nostra soluzione di web hosting innovativa e tecnologicamente avanzata, ma soprattutto studiata per dare il meglio in termini di prestazioni e affidabilità. In questo post vi illustreremo perchè Kubify è un servizio di web hosting unico nel suo genere e quali sono le differenze principali con le soluzioni di hosting classiche.

    Kubify vs web hosting tradizionali:

    Container Kubernetes
    Kubify è un servizio basato su Container Kubernetes. I container costituiscono la tecnologia Cloud più innovativa presente sul mercato oggi, e Kubernetes è sicuramente il maggior player quando si parla di infrastrutture Enterprise. I container Kubernetes offrono la massima disponibilità del servizio, un’elevata flessibilità e modularità, oltre che performance di alto livello.

    Platform as a Service(PaaS)
    Ideale per gli sviluppatori, il servizio PaaS elimina qualsiasi preoccupazione riguardante il sistema infrastrutturale. Kubify offre una piattaforma all-inclusive su cui sviluppare le proprie applicazioni in maniera agile e performante senza rischiare che il proprio sito web o e-commerce vada offline.

    Multi-datacenter & Ibrida
    Kubify ha la particolarità di essere una soluzione multi-datacenter e ibrida. Questo significa in primis che l’affidabilità è garantita ai massimi livelli grazie all’implementazione della soluzione in molteplici data center. Inoltre, trattandosi di una soluzione ibrida, Kubify offre vantaggi aggiuntivi rispetto ad un classico servizio di hosting, perchè combina i benefici del Cloud privato con quelli del Cloud pubblico.

    Massima affidabilità e scalabilità
    Kubify sfrutta l’efficienza dello storage Azure insieme all’elevata scalabilità dei nostri Data Center per garantire SLA prossimi al 100%.

    Servizio “chiavi in mano”
    Kubify è un servizio di web hosting completamente gestito, consegnato al cliente già pronto per l’uso.

    Ma non solo! Qua vi abbiamo accennato alcune caratteristiche tecniche della soluzione Kubify, ma i vantaggi sono innumerevoli. Kubify include una serie di servizi aggiuntivi gratuiti molto vantaggiosi come ambienti di sviluppo e GIT, backup giornalieri, supporto tecnico H24 e molti altri.

    New call-to-action
    Categorie
    Blog

    DOCKER: LE NUOVE FEATURES CHE TUTTI I DEVELOPERS ADORERANNO

    DOCKER: LE NUOVE FEATURES CHE TUTTI I DEVELOPERS ADORERANNO

    DockerCon 2019: updates per semplificare il lavoro degli sviluppatori in arrivo

    Si è da poco conclusa la DockerCon di quest’anno a San Francisco, un evento della durata di tre giorni dedicato interamente a Docker. La conferenza riunisce ogni anno professionisti del mondo IT, sviluppatori, sistemisti e in generale utilizzatori di Docker, e ha l’obiettivo di promuovere l’aggiornamento, la condivisione e il confronto sulle ultime novità della tecnologia Container.

    Negli scorsi 5 anni il termine Docker è praticamente diventato sinonimo di Container, ma questo non vuol dire che tutti gli sviluppatori conoscano i suoi dettagli tecnici e siano in grado di utilizzarlo. Durante la conferenza, infatti, è stato annunciato il lancio di nuovi tool per aiutare gli sviluppatori, non tutti esperti di Docker, a lavorare con i container.

    In questi anni la tecnologia si è evoluta e l’azienda ha visto il mercato dei Container ampliarsi sempre di più, ma per sfruttare al meglio queste condizioni favorevoli è necessario migliorare la semplicità d’utilizzo di Docker. Questo è ciò che dichiara Scott Johnston, Chief Product Officer di Docker. Gli sforzi dell’azienda sono focalizzati sul fornire ai clienti un set di tool per migliorare l’usabilità della tecnologia e permettere a tutti di utilizzare Docker in modo semplice e veloce. Secondo quanto afferma Johnston infatti, la maggior parte degli utenti non è un esperto Docker ma deve avere la possibilità di usare facilmente e rapidamente la piattaforma di containerizzazione anche senza competenze specialistiche a riguardo.

    Presto verrà lanciata una versione beta di Docker Enterprise 3.0, che comprenderà diversi elementi chiave. Di seguito vi descriviamo le nuove features di Docker che semplificheranno la vita agli sviluppatori, e che sicuramente adorerete.

    Docker Desktop Enterprise

    In primo luogo, Docker Desktop Enterprise consentirà al reparto IT di “settare” un ambiente Docker con il livello di sicurezza e il template di deployment adatto per ogni singolo cliente. A questo punto gli sviluppatori potranno scegliere i modelli utili alle loro implementazioni, in conformità con le specifiche regole di governance dell’azienda.

    Johnston spiega che i modelli contengono già delle impostazioni di configurazione e delle Docker images pre-approvate dall’IT. Il reparto IT potrà fornire agli sviluppatori questi template attraverso i nuovi tool. Lo scopo è snellire i processi e consentire ai developers di scegliere i template più adatti per il loro lavoro senza dover richiedere l’approvazione dell’IT. L’idea di fondo è quella di lasciare che i developers si concentrino totalmente sullo sviluppo delle applicazioni attraverso la fornitura di modelli Docker pre-approvati e pronti all’uso, senza che debbano preoccuparsi delle questioni riguardanti l’IT.

    Docker Application

    Un’altra nuova feature della versione 3.0 è Docker Application, che consente agli sviluppatori di creare e gestire complesse applicazioni containerizzate come se si trattasse di un singolo pacchetto e di implementarle sull’infrastruttura che più preferiscono, Cloud o on-premise è indifferente. 5 anni fa, quando Docker era ancora agli albori della tecnologia Container, le operazioni erano più semplici e spesso coinvolgevano un unico container. Oggi, con la crescente popolarità dei micro-servizi, si è creato un livello di complessità maggiore, soprattutto quando si tratta di distribuire set sempre più grandi di applicazioni containerizzate. Ora il team Operations può cambiare in modo programmatico i parametri dei container a seconda degli ambienti, senza dover entrare nell’applicazione e modificarla. E’ facile immaginare quanto questo possa semplificare la vita agli sviluppatori.

    Docker Kubernetes Service (DKS)

    L’ultima novità riguarda il livello di orchestrazione, e in quest’ambito è sicuramente Kubernetes lo strumento più popolare ed utilizzato del momento. Docker integra nella sua offerta l’ultima versione di Kubernetes personalizzata ad hoc per semplificare l’orchestrazione dei container Docker. L’obiettivo è quello di offrire un potente strumento riducendo la sua complessità di utilizzo, oltre che quello di rendere Kubernetes perfettamente compatibile con l’ambiente Docker. Per queste ragioni Docker ha annunciato il rilascio di Docker Kubernetes Service (DKS), che è stato studiato e progettato pensando agli utenti Docker ed include il supporto per Docker Compose, un tool di script molto popolare tra gli utilizzatori dei Container. Da un lato potrai usare qualsiasi funzione di Kubernetes, dall’altra avrai a disposizione il DKS come versione Docker-friendly per developers.

    Un obiettivo comune

    Infine, a completare Docker Enterprise 3.0 alcuni aggiornamenti che riguardano tool per il deployment automatico dei container su qualsiasi tipo di infrastruttura e una serie di migliorie sulla sicurezza dell’ambiente.

    Tutte queste nuove features hanno una cosa in comune, oltre a far parte di Docker Enterprise 3.0. Insieme riducono la complessità associata all’implementazione e alla gestione dei container, astraendo le parti tecniche più complicate, in modo che i developers possano concentrarsi liberamente sullo sviluppo senza preoccuparsi dei dettagli tecnici relativi ai container. Allo stesso tempo, Docker vuole rendere la vita più facile anche al team Operations per quanto riguarda la gestione complessiva dei container. Quando questi tool verranno lanciati ufficialmente sul mercato, saranno proprio i team DevOps a giudicare se l’obiettivo di Docker è stato raggiunto. La versione Beta di Docker Enterprise 3.0 sarà disponibile entro il prossimo trimestre.

    New call-to-action
    Categorie
    Blog

    CLOUD BEST PRACTICE: COME MIGRARE I TUOI PROGETTI SU KUBERNETES

    CLOUD BEST PRACTICE: COME MIGRARE I TUOI PROGETTI SU KUBERNETES

    Oggi utilizzare il Cloud non è più un’opzione, ma un must-have. La migrazione dei sistemi informativi aziendali su infrastrutture Cloud porta numerosi benefici alle aziende, tra i quali l’ottimizzazione delle risorse e una significativa riduzione dei costi operativi. In questo scenario il trend più diffuso è quello di spostare i propri progetti in ambienti Cloud basati su Container. Nella maggior parte dei casi la scelta ricade su Kubernetes, lo strumento attualmente più popolare per la gestione e l’orchestrazione dei ContainerKubernetes è il sistema più utilizzato a livello globale, il più efficiente e scalabile tra quelli disponibili sul mercato dei Container. In questo post vi parleremo delle modalità di migrazione in Cloud e vi illustreremo tre best practice per spostare i vostri progetti su Kubernetes.

    Rehosting
    Tra gli approcci disponibili per migrare le applicazioni in Cloud, il “rehosting” (anche chiamato “lift and shift“) è sicuramente il metodo più semplice. In pratica, si tratta di migrare l’applicazione nella sua interezza senza alterarne lo stato: “impacchettate” la vostra app e la trasferite nell’ambiente containerizzato così com’è, senza apportare modifiche o ottimizzazioni di alcun tipo. Il rehosting è il processo di migrazione più veloce e meno impegnativo in termini di costi e risorse. Detto questo, non effettuando alcuna modifica al codice dell’applicazione e lasciandola al suo stato “originale”, sarà più difficile beneficiare della flessibilità e di altri vantaggi che caratterizzano gli ambienti Cloud nativi.

    Replatforming
    La seconda tecnica, detta replatforming oppure “lift, tinker and shift“, implica delle lievi modifiche all’applicazione prima della sua migrazione in Cloud. Il replatforming ha l’obiettivo di ottimizzare le applicazioni attraverso piccoli update in modo che possano beneficiare maggiormente dei vantaggi offerti dalle infrastrutture e dai Container Cloud, senza toccare però il “cuore” dell’applicazione. Il replatforming è il processo intermedio tra le tre tecniche di migrazione Cloud. E’ più impegnativo e lungo rispetto al semplice rehosting, ma consente di sfruttare meglio le potenzialità degli ambienti Cloud-native e soprattutto non richiede l’impegno nè le risorse necessarie per effettuare il refactoring.

    Refactoring
    Eccoci infine alla tecnica del refactoring, la più complessa e dispendiosa a livello di tempi e processi, ma anche la più vantaggiosa per altri versi. Il refactoring implica un processo avanzato di “re-architecting” e anche di “recoding” dell’applicazione, ossia l’apporto di modifiche significative nel codice dell’app. Lo scopo di questa tecnica di migrazione è quello di adattare ed ottimizzare il più possibile l’applicazione alla nuova infrastruttura e poter usufruire in modo completo dei vantaggi e delle funzionalità offerti dagli ambienti Cloud nativi.

    Quale processo di migrazione scegliere per la tua azienda? Non c’è una soluzione migliore in assoluto. La scelta della tecnica più adatta dipende dalle esigenze dei singoli business (tempistiche, risorse disponibili, personale dedicato) e dalle caratteristiche dell’infrastruttura pre-esistente.

     

    Vuoi maggiori informazioni sulla migrazione in Cloud? Richiedi subito una consulenza gratuita ai nostri esperti!

    New call-to-action
    Categorie
    Blog

    6 TREND SUL CLOUD PER PREPARARSI AL 2019

    6 TREND SUL CLOUD PER PREPARARSI AL 2019

    Nell’ultimo decennio il Cloud ha avuto un ruolo da protagonista all’interno dello scenario IT, contribuendo all’innovazione tecnologica dei business e alla trasformazione dell’IT aziendale in maniera sempre maggiore. Se inizialmente molti erano scettici riguardo all’idea di spostare processi e applicazioni sulla “nuvola”, oggi l’utilizzo di servizi di Cloud Computing sembra essere divenuto uno standard. Secondo le statistiche dell’Osservatorio Cloud Transformation della School of Management del Politecnico di Milano, l’82% delle aziende medio-grandi in Italia utilizza almeno un servizio in Public Cloud. Il dato sottolinea come le imprese abbiano reso il Cloud Computing parte integrante della propria strategia IT: il 25% lo considera la soluzione preferenziale per lo sviluppo di nuovi progetti, il 6% addirittura una scelta obbligata.

    Il panorama del Cloud, però, ha ancora molto da offrire alle aziende. Le previsioni sui trend del nuovo anno lo confermano ampiamente, evidenziano le sfide tecnologiche e le opportunità di innovazione per il business legate all’adozione di soluzioni Cloud all’avanguardia.

    1. Approccio Multi-Cloud: 2018 vs 2019
    Se il 2018 era l’anno in cui il Multi-Cloud è diventato mainstream, il 2019 è invece l’anno in cui le strategie Multi-Cloud prendono realmente piede. L’uso dell’approccio Multi-Cloud da parte delle aziende è in continua crescita e diventerà presto un “must-have” per ottenere un vantaggio competitivo e rimanere al passo con le tendenze del mercato IT.
    Ma facciamo un passo indietro. Cosa significa Multi-Cloud? Questa soluzione non usufruisce di un unico modello di Cloud, ad esempio un Cloud pubblico o un Cloud privato, ma utilizza diversi servizi ed eventualmente anche provider differenti, a seconda delle specifiche esigenze di business. Il futuro si focalizza sempre di più sulle applicazioni e gli utenti richiedono velocità e performance elevate. Una soluzione standardizzata non è più sufficiente per far fronte a queste pretese ed ogni azienda ha bisogno di costruire il proprio ecosistema Cloud personalizzato.

    2. L’80% dei processi migra in Cloud
    Come dicevamo prima, lo scetticismo riguardo alla migrazione dei sistemi aziendali in Cloud era molto forte fino a qualche tempo fa. Alla base di questa tendenza vi era da un lato una scarsa fiducia per la sicurezza di dati e processi, dall’altro la tradizionale resistenza al cambiamento. I dati, però, mostrano che nei prossimi anni l’80% dei processi aziendali migrerà in Cloud, ma non solo. Le ricerche evidenziano un altro trend legato alla migrazione dei sistemi informativi aziendali. Molte imprese infatti ri-elaborano e adattano le proprie infrastrutture on-premise in ottica Cloud Computing (il cosiddetto “refactoring”) in modo da poterle spostare in modo più agevole all’interno di ambienti Cloud nativi.

    3. Intelligenza Artificiale incorporata nelle applicazioni
    L’Intelligenza Artificiale inizia ad essere integrata in tutte le applicazioni di nuova generazione, migliorando l’efficienza dei sistemi e dei processi in cui agisce. Grazie alla mole di dati sempre più massiccia che abbiamo a disposizione e l’incremento nell’utilizzo dell’Intelligenza Artificiale per l’analisi e lo sfruttamento delle informazioni, si stima che la produttività dei business aumenterà notevolmente già da quest’anno. Insieme all’I.A. altre tecnologie emergenti si fanno sempre più spazio nel mercato e contribuiscono ad incrementare la flessibilità e l’efficienza dei sistemi, come machine learning, serverless computing e realtà aumentata.

    4. Il 70% delle funzioni IT sarà automatizzato
    Nel 2019 automazione diventa una parola chiave. Il 70% delle funzioni IT verrà automatizzato così come la maggior parte delle relazioni con i clienti saranno gestite da chatbot o intelligenza artificiale in modo del tutto automatico. Inoltre, il 50% dei dati verrà gestito con processi automatizzati. Insomma, il personale tecnico potrà fare a meno di svolgere molte attività di routine, ma necessarie, come self-patching, tuning e presto anche attività relative all’affidabilità e alla garanzia degli SLA, e avrà più tempo da dedicare allo sviluppo del business. Entro il 2025 l’automazione dell’intero ciclo di vita hardware software sarà lo standard e porterà un enorme vantaggio alle aziende sia a livello di prestazioni che di sicurezza.

    5. Container: Kubernetes in prima linea
    Già nel 2018 i Container hanno avuto un grande ruolo nel mondo del Cloud. Si tratta di sistemi Cloud nativi che per le loro caratteristiche si diffonderanno sempre di più come tecnologia enterprise. I container sono in grado di fornire prestazioni di alto livello, elevata flessibilità e scalabilità, migliore sicurezza e SLA, e si adattano a qualsiasi ambiente. Grazie a queste peculiarità sono lo strumento ideale per integrarsi con le strategie Multi-Cloud. Tra le varie tecnologie di containerizzazione Kubernetes è in prima linea e rappresenta il modello di orchestrazione e gestione dei Containers più popolare e diffuso a livello mondiale.

    6. Nuove skills specialistiche
    Le nuove tendenze creano un gap tra le skill possedute dai team IT delle aziende e dei provider e quelle necessarie all’implementazione di strategie innovative e alla gestione di architetture Cloud-native. Si sviluppa quindi la necessità di formare il personale tecnico con competenze all’avanguardia nel settore e inserire in azienda nuove figure lavorative in linea con il mercato (ad esempio il Cloud Security Specialist o il Cloud Architect) per plasmare le imprese del futuro.

     
    New call-to-action
    Categorie
    Blog

    COS’È KUBERNETES E PERCHÈ USARLO

    Cos’è Kubernetes e perché usarlo

    kubernetes

    Kubernetes e Docker vivono in simbiosi. I due tool, infatti, sono strettamente collegati ed entrambi rientrano nella tecnologia di containerizzazione alla base del cloud. Dopo aver dedicato a Docker un approfondimento specifico, passiamo ora a Kubernetes cercando di evidenziarne le basi tecniche e il valore per l’innovazione aziendale.

    Kubernetes, di cosa si tratta?

    Kubernetes è uno strumento open source di orchestrazione e gestione di container. È stato sviluppato dal team di Google ed è uno dei tool più utilizzati a questo scopo. Kubernetes permette di eliminare molti dei processi manuali coinvolti nel deployment e nella scalabilità di applicazioni containerizzate, nonché di gestire in maniera semplice ed efficiente cluster di host su cui vengono eseguiti i container.

    Un esempio potrà senz’altro chiarire il funzionamento della tecnologia. Immaginiamo di utilizzare Docker e di creare un’infrastruttura composta da numerosi container; una volta raggiunto un certo grado di complessità, Docker non riesce a gestire l’attivazione e disattivazione dei container e tutte le altre operazioni di gestione, ed è in questa sede che si inserisce Kubernetes. Questo tool, infatti, nasce proprio per semplificare la gestione delle varie operazioni sui container e per orchestrare in modo veloce, efficiente e performante l’intera infrastruttura.

    L’impiego ormai pervasivo della tecnologia Kubernetes non dipende unicamente dall’aumento esponenziale di quantità dei container, ma soprattutto dal livello di affidabilità e disponibilità ricercato per il servizio. Kubernetes è ideale per tutti i business che hanno bisogno di una soluzione in HA (Alta Disponibilità), poiché garantisce la continuità del servizio con SLA prossimi al 100%.

    Tecnologia Kubernetes, come funziona?

    Per comprendere correttamente il funzionamento della tecnologia Kubernetes, occorre introdurre alcuni termini e concetti fondamentali che ne descrivono l’architettura. In particolare, tre:

    • Master:è la macchina che controlla i nodi Kubernetes. È il punto di origine di tutti i processi.
    • Nodi: sono le macchine che eseguono le attività richieste, controllate dal master Kubernetes.
    • Pod: un gruppo di uno o più container distribuiti in un singolo nodo. Tutti i container presenti in un pod condividono delle risorse. I pod astraggono la rete e lo storage dal container sottostante, permettendo di spostare i container nei cluster con maggiore facilità.

    Kubernetes offre la possibilità di distribuire i container in modo agevole e scalabile e di gestire al meglio i carichi di lavoro. Permette di creare applicazioni e servizi su più container, programmarli e gestirli a livello di scalabilità e integrità nel tempo. La complessità di gestione derivante da un numero elevato di contenitori viene semplificata raggruppando i container in Pod, che aiutano a programmare i carichi di lavoro e a erogare i servizi richiesti, inclusi rete e storage, ai container stessi. Kubernetes è anche in grado di bilanciare automaticamente i carichi all’interno dei Pod, semplificando notevolmente la gestione complessiva dell’infrastruttura. Inoltre, l’infrastruttura standard di Kubernetes è completamente ridondata, e questo riduce drasticamente il rischio di downtime, mentre con il solo uso di Docker o di altri sistemi di containerizzazione, i livelli di affidabilità non sono così alti.

    Perché usare Kubernetes

    Concludiamo questo articolo introduttivo riassumendo i motivi che hanno determinato il successo planetario di questa tecnologia. In particolare, Kubernetes va impiegato quando:

    1. Si vuole gestire applicazioni containerizzate in maniera semplice, veloce ed efficiente;
    2. Si ha bisogno di una soluzione in HA e non ci si può permettere alcun disservizio;
    3. L’infrastruttura è complessa ed è formata da numerosi container;
    4. Si vuole usufruire di ulteriori vantaggi di questo tool innovativo, così come descritti nell’articolo dedicato.

    L’ecosistema Kubernetes è in costante crescita, sia sotto il profilo dell’adozione che dell’evoluzione tecnologica. In Criticalcase, ci poniamo come partner fidato e competente per guidare le imprese nel nuovo paradigma di sviluppo e gestione del software, su cui esse basano la loro competitività. Container e orchestrazione (Kubernetes) sono i pilastri di questo nuovo mondo, e siamo lieti di poter offrire ai nostri partner le competenze, i tool e l’esperienza necessaria per costruire su di essi il loro vantaggio competitivo.

    Siamo a vostra disposizione per una consulenza e ogni informazione al riguardo, e nel frattempo vi consigliamo di approfondire il tema dell’evoluzione dell’infrastruttura verso il cloud scaricando il nostro White Paper dedicato.

    La cyber-resilienza è un modello che riunisce i processi di business continuity, pratiche di data security, resilienza organizzativa e offre una soluzione efficace e concreta al crimine informatico.

    Add a date

    White paper

    Categorie
    Blog

    4 MODI INNOVATIVI DI USARE DOCKER

    4 MODI INNOVATIVI DI USARE DOCKER

    Abbiamo già parlato di container, ed in particolare di Docker, il tool per la gestione dell’infrastruttura a container più popolare nel settore IT. Nell’articolo di oggi ti mostreremo 4 modi per utilizzare Docker a cui non avevi mai pensato.

    1. Esperimenti
    La validità scientifica di un esperimento si basa sulla ripetibilità dello stesso. Spesso per verificare l’attendibilità di una nuova scoperta è necessario replicare anche l’ambiente di lavoro e le condizioni in cui è stato condotto l’esperimento. Come fornire gli strumenti per verificare la correttezza di pubblicazioni e paper scientifici? Utilizzando Docker. Docker infatti, grazie alla tecnica dei container, rappresenta la soluzione ideale per ottenere la replicabilità dell’esperimento, mettendo a disposizione in modo semplice lo stesso ambiente di sperimentazione usato nella ricerca a chiunque voglia verificarne la correttezza.

    2. Deployment tra le nuvole (letteralmente!)
    Un intervento interessante ha suscitato lo stupore di molti al DockerCon 2016: il software di un drone è stato aggiornato mentre l’oggetto era ancora in volo. Qualcosa da non credere. E invece con i container si può fare, e ne abbiamo la prova. Grazie a Docker è stato possibile aggiornare il software del drone mentre stava ancora volando, avviando in parallelo al software di volo un container con il nuovo programma che, una volta aggiornato, si è sostituito al container di volo, dopo aver ricevuto i dati di trasferimento. Con Docker, perciò, si può gestire il deploy di un’applicazione da remoto ma soprattutto con soli 50-200 ms di attesa nel trasferimento dei dati da un container all’altro.

    3. Formazione
    Non avendo bisogno di configurazioni manuali, i container consentono di risparmiare moltissimo tempo nella preparazione dell’ambiente di lavoro. Spesso per gli studenti è proprio questa la fase in cui emergono le difficoltà. Usando il sistema di gestione dei container si evitano perdite di tempo e si migliora la qualità della formazione.

    4. Gestione di stack locali
    Docker è un valido strumento anche per quanto riguarda la gestione di stack locali. Gli aggiornamenti continui a cui vengono sottoposti i software rischiano di creare conflitti di versione e incompatibilità difficili da risolvere. Grazie ai container, questo problema viene facilmente evitato. Le applicazioni/servizi possono essere scritti con qualsiasi linguaggio di programmazione senza generare alcuna incompatibilità di sistema. I container, infatti, sono ambienti isolati ed indipendenti all’interno dei quali è possibile inserire un’applicazione con tutte le sue dipendenze, avviabili su qualsiasi macchina che esegue Docker.

    Vuoi saperne di più su Docker e l’infrastruttura a container? Richiedi una consulenza gratuita con i nostri esperti!

    Facebook
    Twitter
    LinkedIn

    Contattaci

    Compila il form e un nostro esperto ti ricontatterà entro 24 ore: non vediamo l’ora di conoscerti!

    Richiedi la tua prova gratuita

    Ehi! Stai già andando via?

    Iscriviti alla nostra newsletter per restare aggiornato sulle novità dell’universo Criticalcase