Insights / Blog

Tecnologia Snowflake: 3 consigli per sfruttarla al meglio

tecnologia-snowflake

Bentornati al nostro periodico appuntamento con Pillole di SnowFlake!

Dopo aver visto insieme come Snowflake viene usato nel mondo Retail, andiamo ad analizzare i motivo per cui la tecnologia Snowflake sia più avanzata rispetto a quella di molte altre piattaforme presenti sul mercato. Mostreremo, infatti, come questo software superi i tradizionali problemi di Warehousing volando nel Cloud grazie ai 3 consigli che ti regaleremo in questo articolo.

Tradizionalmente un problema

Indipendentemente dal fatto che le app di dati vengano eseguite nel cloud o in locale, l’infrastruttura e l’architettura sottostanti le app sono fondamentali. Ad esempio, considera come le piattaforme di data warehouse allocano lo spazio su disco. I provider SaaS devono selezionare una certa quantità da associare ai nodi di archiviazione e calcolo e l’unico modo per aumentare la disponibilità è aggiungere manualmente più nodi.

Per fare ciò la piattaforma deve essere spenta o posta in modalità di sola lettura mentre i dati vengono ridistribuiti manualmente. Ma perché si verificano questi vincoli ? Perché gli stack di dati tradizionali sono stati creati molto prima che esistesse il cloud e di fatto non sono stati progettati per eseguire applicazioni SaaS su vasta scala con dati semi-strutturati. La loro progettazione presupponeva piccoli gruppi di macchine con quantità e tipi prevedibili di dati strutturati creati in gran parte da fonti interne.

Sfortunatamente, molti esploratori digitali iniziano il loro viaggio nelle app di analisi dei dati adottando strumenti generici che consentono uno sviluppo rapido senza investimenti iniziali. Questa scorciatoia inizialmente consente di risparmiare risorse, ma sorgono problemi tecnici intrinseci che causano una velocità effettiva inferiore e un’esperienza del cliente frustrante e deludente. Alla fine, i provider SaaS si rendono conto che devono investire nella riprogettazione se vogliono mantenere la promessa di esperienze app moderne e in tempo reale di cui avevano bisogno.

1. OTTIMISMO: PROGETTA PER LA CRESCITA E INCLUDI LA FLESSIBILITÀ

I clienti ora richiedono analisi in tempo reale sulla loro attività. In risposta, alcuni fornitori stanno aggiungendo analisi integrate alle attuali applicazioni SaaS per aumentare la loro proposta di valore. Altri riconoscono l’opportunità di creare un flusso di entrate aggiuntivo utilizzando i loro vasti archivi di dati per fornire analisi standalone. Sia che tu stia costruendo un’app di analisi da zero o espandendo un’app esistente con nuove funzionalità, è fondamentale allineare le tue decisioni tecnologiche con le esigenze dei prodotti a lungo termine. Le decisioni tecnologiche non dovrebbero mai riflettere solo i requisiti odierni.

Account per la scalabilità fin dall’inizio.

Il modo più veloce per deludere i clienti e sprecare lo sforzo di sviluppo è utilizzare componenti che non siano scalabili. Poiché i carichi di lavoro non sono prevedibili e i tempi di inattività sono praticamente vietati, è necessaria la capacità di scalare istantaneamente e all’infinito il calcolo verso l’alto, verso il basso e verso tutti i carichi di lavoro senza influire sulle prestazioni. Sfortunatamente, le soluzioni open source non si ridimensionano automaticamente, il che grava esclusivamente sul tuo team di sviluppo.

Sii pronto a supportare requisiti in evoluzione.

Supponi che la tua app abbia una lunga durata e sappia con certezza che i segmenti di clienti cambieranno, così come le loro esigenze. Lo stack sottostante deve essere in grado di supportare questi futuri pivot e cambiamenti nei requisiti di prodotto. Ed è molto meno costoso tenere a mente le esigenze tecnologiche a lungo termine all’inizio piuttosto che pagare in seguito per riprogettare completamente. In caso contrario, sarai costretto a creare app due volte, il che è costoso e consuma tempo prezioso di sviluppo che potrebbe essere utilizzato per creare nuove funzionalità.

– Evita di rimanere bloccato.

Molte organizzazioni stanno adottando una strategia multi-cloud (ovvero utilizzando più provider cloud come AWS, Azure e Google) perché consente loro di ridurre i rischi di downtime. Tuttavia, l’unico modo per far funzionare il multi-cloud è disporre di un’architettura basata sul cloud in esecuzione sotto le tue app che fornisca un’unica base di codice tra i provider di servizi cloud. Non è un’impresa da poco, dato che i fornitori di servizi cloud sono incompatibili per natura. Se vuoi essere multi-cloud man mano che cresci, devi selezionare un’architettura che supporti tale strategia. In breve, le decisioni sulla selezione di uno stack di dati non possono essere prese con un obiettivo a breve termine. Invece, è importante concentrarsi sulla flessibilità e tenere sempre a mente che la tecnologia Snowflake può fornirci tale infrastruttura.

2. NIENTE È GRATUITO: IL SOFTWARE “GRATUITO” NON FA ECCEZIONE

Le nuove app di dati tendono a essere costruite quasi interamente su un’infrastruttura di cloud pubblico e utilizzano le API per riunire le funzionalità principali. Tuttavia, non tutte le soluzioni basate su cloud sono create allo stesso modo. Molti fornitori di software iniziano il loro viaggio nell’app adottando strumenti generici a basso costo che consentono uno sviluppo rapido senza investimenti iniziali. Ad esempio, gli strumenti open source come i database PostgreSQL, Elasticsearch, NoSQL sono allettanti perché sono un facile punto di partenza per iniziare a funzionare. Questa scorciatoia consente di inviare sul mercato una nuova app di analisi senza il costo iniziale di approvvigionamento di un database, il che allevia un potenziale punto di attrito tra i team di sviluppo e finanza ma a nostro parere Quattro sfide di sviluppo comuni sorgono quando non si considera a fondo ciò che è necessario da uno stack di dati per fornire potenti app di analisi dei dati.

  1. Il problema sta nell’aumento dell’archiviazione dei dati e delle sollecitazioni di calcolo sul sistema che provengono da clienti sempre più grandi. Gli strumenti open source richiedono un ridimensionamento manuale e dirompente che influisca sull’esperienza del cliente e richieda tempo e impegno intensi da parte delle risorse ingegneristiche più preziose di un’organizzazione.
  2. Supporto nativo per dati semistrutturati. L’utilizzo di tipi di dati come JSON, XML e Avro è una sfida enorme se la soluzione open source non supporta in modo nativo la vasta gamma di dati semistrutturati oggi disponibili. In questi scenari, i team di ingegneria dei dati sono costretti a creare e mantenere complesse pipeline di dati, rendendo difficile ottenere informazioni in tempo reale e fornire in modo coerente.
  3. Manutenzione e sicurezza. Mentre i team di sviluppo dovrebbero dedicare il loro tempo a scrivere e sviluppare applicazioni di analisi, le soluzioni open source richiedono un sovraccarico sotto forma di manutenzione e aggiornamenti frequenti. Di conseguenza, gli sviluppatori finiscono per occuparsi della manutenzione del sistema anziché della codifica. Le soluzioni open source lasciano anche le aziende aperte a vulnerabilità di sicurezza se i team non sono in cima alle soluzioni critiche.
  4. Competenza. L’uso di strumenti open source richiede competenze specifiche che potrebbero non esistere all’interno di un’organizzazione. Di conseguenza, le aziende devono assumere più risorse, che possono essere difficili da trovare e costose da acquisire. Inoltre, le soluzioni open source non sono progettate specificamente tenendo conto dei risultati aziendali, il che impone a un team di ingegneri l’onere di configurare uno stack in grado di soddisfare i requisiti dei clienti.

L’adozione di uno stack di dati open source in genere si traduce in una ri-architettura completa su tutta la linea per tenere conto di queste limitazioni. Nel frattempo, i clienti sono rimasti frustrati dalla latenza e dall’analisi dei dati incompleta e una grande quantità di tempo di sviluppo è stata sprecata per eseguire e mantenere soluzioni “gratuite”.

3. È SEMPLICE, DAVVERO: LE APP MODERNE RICHIEDONO UN’INFRASTRUTTURA MODERNA

Esistono due semplici requisiti per le applicazioni di dati come analisi, BI, IoT e apprendimento automatico:

1. È necessario acquisire grandi volumi di dati

2. Tutti i dati devono essere analizzato rapidamente e facilmente

In altre parole, è necessario un repository centrale che fornisca isolamento del carico di lavoro, elasticità istantanea e quasi infinita, concorrenza illimitata e la capacità di ingerire nativamente dati semi-strutturati: Tutto questo incluso nella tecnologia Snowflake. Gli ultimi 15 anni hanno visto il passaggio dai tradizionali data warehouse a moderne soluzioni cloud che offrono scalabilità, elasticità, flessibilità e prestazioni, il tutto con una manutenzione minima.

Sorprendentemente, molti team non si rendono immediatamente conto di aver bisogno di un data warehouse come parte del loro stack di dati. È solo quando iniziano a sorgere problemi tecnici che l’architettura viene riconsiderata, il che può essere disastroso: il costo totale di proprietà è molto più basso quando si selezionano le giuste tecnologie sin dall’inizio. Con un moderno data warehouse basato sul cloud come stack, tutte le funzionalità necessarie per sviluppare e scalare le moderne app di analisi dei dati sono integrate nell’architettura da zero:

Scalabilità illimitata. Fornisce scalabilità indipendente di elaborazione e archiviazione separando i due. La scalabilità è automatica e senza limiti. Ciò significa che le organizzazioni hanno la capacità di scalare istantaneamente e all’infinito il calcolo verso l’alto, verso il basso e verso tutti i carichi di lavoro senza influire sulle prestazioni.

Concorrenza. Tutti gli utenti condividono una copia dei dati all’interno di un’architettura creata per separare il calcolo dallo storage. I dati possono essere utilizzati da più utenti contemporaneamente tramite più cluster di calcolo. La contesa viene eliminata tra i carichi di lavoro poiché ogni utente ha un calcolo dedicato e indipendente, in modo che gli utenti non subiscano rallentamenti o interruzioni delle query.

Elasticità istantanea. Il provisioning è immediato per le prestazioni on-demand. Questa elasticità consente agli utenti di abbinare dinamicamente le proprie risorse alle richieste di utilizzo, indipendentemente dal volume di dati.

• Gestione zero. Con uno stack di dati offerto come servizio, non c’è infrastruttura da gestire o ottimizzare e non ci sono tempi di inattività per gli aggiornamenti software.

•Sicurezza. Uno stack di dati moderno dovrebbe fornire ambienti dati sempre attivi con la possibilità di operare in cloud privati virtuali (VPC) per una maggiore protezione. Non è richiesta alcuna configurazione del cliente o una gestione continua.

Esecuzione delle query più intelligente. I tuoi utenti dovrebbero ottenere un miglior rapporto prezzo/prestazioni ottimizzando il modo in cui vengono eseguite le query. Dopotutto, non ha molto valore eseguire una query su 1.000 nodi se un altro sistema può farlo nello stesso lasso di tempo utilizzando 10 nodi. Inoltre, questi tipi di magazzini consentono alle organizzazioni di pagare solo per ciò che viene utilizzato, fino al secondo.

Che tu sia una startup o un’azienda affermata, l’utilizzo di un data warehouse su cloud per lo stack di dati delle tue applicazioni ti consente di offrire esperienze rapide e differenziate ai tuoi clienti in modo semplice e veloce. La chiave è rimuovere i vincoli tradizionali e i limiti dei database open source.

Per ulteriori domande su Snowflake ti invitamo a contattarci all’indirizzo:

info@theinformationlab.it

Speriamo che questo articolo ti abbia incuriosito e che ti abbia dato una mano a comprendere come la tecnologia Snowflake possa aiutarti a far prosperare il tuo business.

Ti diamo appuntamento alla settimana prossima con ulteriori consigli.

Stay tuned! ❄️

Blog
cultura dei dati

Cultura dei dati: perché è così importante?

Innestare una cultura dei dati evoluta e permeata in tutto il tessuto aziendale accelera l’innovazione...

Blog
Manufacturing Analytics: cos’è e come impatta l’ottimizzazione dei costi

Manufacturing Analytics: cos’è e come impatta l’ottimizzazione dei costi

Il Manufacturing Analytics è l’ultima frontiera dell’evoluzione dell’industria manifatturiera, sempre spinta dalla necessità di rimanere...