AgriTech sta trasformando i sistemi agricoli e alimentari a un ritmo più veloce di quanto immaginato prima e, in CropIn, siamo abituati a guidare l'innovazione. Continuiamo a esplorare nuove tecnologie all'avanguardia e abilitiamo digitalmente diversi attori nell'agroecosistema per raggiungere i rispettivi obiettivi. Considerando che CropIn sta consentendo ai clienti in oltre 70 paesi di massimizzare il loro valore per acro, è fondamentale per noi fornire servizi coerenti tra le aree geografiche e offrire un'esperienza utente eccellente. Per raggiungere questo obiettivo, abbiamo recentemente adottato la containerizzazione e un approccio basato su microservizi per progettare le nostre applicazioni. Allora cosa significa?
La tecnologia dei container, un termine preso in prestito dal settore delle spedizioni per ovvi motivi, ha rivoluzionato il modo in cui le app per l'agricoltura vengono confezionate per consentire una distribuzione più rapida delle app. Inoltre, ha reso i server più efficienti che mai e ha garantito che il software funzionasse in modo affidabile, indipendentemente dal sistema operativo (OS). Ha eliminato diversi problemi che i sistemi hanno dovuto affrontare in precedenza, come l'elevata quantità di sovraccarico della CPU e le risorse necessarie per creare ed eseguire una macchina virtuale (VM), il limite al numero di applicazioni che possono essere eseguite in modo efficiente, l'incompatibilità dovuta al sistema operativo differenze, requisiti di archiviazione e tempo impiegato per avviare il sistema operativo, tra molti altri. La containerizzazione ha fornito un modo efficace per gestire questi problemi.
Avremmo potuto imbatterci almeno in immagini di navi mercantili che trasportano container di dimensioni uniformi che sono convenienti per le gru per caricarli e scaricarli in qualsiasi parte del mondo. Più o meno allo stesso modo, nello spazio digitale, un container in genere include non solo il software ma tutte le altre sue dipendenze, come i file di configurazione, i binari e le librerie (bins/libs). La containerizzazione riduce inoltre considerevolmente le dimensioni di una singola unità, portandola da diversi gigabyte occupati dalle macchine virtuali a poche decine di megabyte. In altre parole, una singola unità container con tutti i componenti di runtime viene sottratta dal sistema operativo host, rendendolo così portatile e pronto per essere eseguito su qualsiasi piattaforma o cloud.
La containerizzazione consente inoltre di suddividere un'applicazione a grandezza naturale (monolito) in moduli più piccoli denominati microservizi, che comunicano tra loro tramite API o interfacce di programmazione dell'applicazione. La modularità dell'approccio ai microservizi rende inoltre conveniente svilupparli, distribuirli e ridimensionarli in modo indipendente e apportare modifiche isolate solo ad alcune parti dell'applicazione invece di ricostruire l'intera. Di conseguenza, gli sviluppatori possono ottenere tempi di consegna più brevi e una migliore efficienza del processo. L'altro vantaggio dei microservizi è che sono leggeri, il che li rende disponibili e pronti per l'uso quasi istantaneamente. Inoltre, i microservizi sono indipendenti dalla piattaforma e dal dispositivo, il che si traduce in app che offrono un'esperienza utente coerente indipendentemente dall'infrastruttura sottostante.
Le tecnologie dei container, come Docker, CoreOS rkt, LXC, Mesos e molti altri, consentono agli sviluppatori un nuovo approccio per codificare e distribuire software applicativo. Tuttavia, la creazione di applicazioni complesse, che comprendono diversi componenti impacchettati in innumerevoli contenitori, richiedono piattaforme di orchestrazione dei contenitori o gestori di cluster per dare un senso a queste singole unità.
Uno di questi software di gestione incentrato sui contenitori è Kubernetes, un progetto software concepito per la prima volta dagli ingegneri di Google. Chiamato anche con nomi come K8s o Kube, automatizza diversi processi manuali associati alla distribuzione, gestione e ridimensionamento di applicazioni containerizzate. Dato che Kubernetes è open source, viene fornito con pochissime restrizioni su come può essere utilizzato, dando alle organizzazioni la libertà di utilizzarlo senza ostacoli e quasi ovunque, sia esso on-premise o cloud pubblico, privato o ibrido.
Kubernetes è considerata la piattaforma ideale per l'hosting di applicazioni cloud-native, tra cui CropIn, per il semplice motivo che facilita il ridimensionamento accelerato ed elastico, il monitoraggio delle risorse, roll-out e roll-back più semplici, l'esecuzione di controlli dello stato e l'auto- guarigione con funzioni come posizionamento automatico, riavvio automatico, replica automatica, ridimensionamento automatico. È una piattaforma di livello aziendale pronta per la produzione che può essere utilizzata per qualsiasi distribuzione di architettura.
Funziona posizionando i diversi contenitori in gruppi, nominandoli come unità logiche e distribuendo il carico tra di loro. Ciò consente ora una portabilità indipendente dall'ambiente, una scalabilità facile ed efficiente e una crescita flessibile.
Alcune delle attività che Kubernetes consente a un'organizzazione di eseguire sono:
Attualmente, l'architettura di microservizi è la scelta ideale per lo sviluppo di software grazie ai vantaggi di una distribuzione rapida e frequente di applicazioni complesse e anche in modo affidabile. Sebbene diverse organizzazioni in iper-crescita come Amazon, Netflix, Uber, SoundCloud ed eBay abbiano adottato i microservizi, questo approccio è ancora agli inizi nel settore agrotecnologico e CropIn è uno dei primi ad adottare.
Il trasferimento della nostra piattaforma di punta su Kubernetes ci ha consentito di rimanere cloud-native e di eseguire i carichi di lavoro in modo efficace. Ora è possibile per noi:
Con microservizi e contenitori, invece di una grossa porzione di applicazione, ora avremo moduli funzionali più piccoli che lavoreranno insieme per ottenere gli stessi risultati in modo più efficace. Questo approccio ci aiuta a raggiungere una scala superiore a quanto era possibile in precedenza nello spazio agritech. Inoltre, una pipeline CI/CD (Continuous Integration/Continuous Deployment) automatizzata ci consentirà di passare dall'idea alla produzione di tutte le nostre interessanti funzionalità a un ritmo molto più rapido e ridurre i tempi di fermo per assicurarci che tutti i servizi che offriamo siano sempre disponibile.
L'uso dei microservizi garantisce che i nostri utenti finali trarranno enormi benefici da una soluzione agritech che non solo soddisfa i loro obiettivi, ma è anche facile da installare su qualsiasi sistema operativo e aggiornata con più nuove funzionalità a intervalli frequenti. Le nostre applicazioni sono preparate per scalare i requisiti della nostra clientela in rapida crescita, assicurando che gli utenti finali dispongano di tutto ciò di cui hanno bisogno, al momento giusto, per svolgere le loro operazioni commerciali senza intoppi.
AgriTech sta trasformando i sistemi agricoli e alimentari a un ritmo più veloce di quanto immaginato prima e, in CropIn, siamo abituati a guidare l'innovazione. Considerando che CropIn sta consentendo ai clienti in oltre 70 paesi di massimizzare il loro valore per acro utilizzando la nostra suite di prodotti, è fondamentale per noi fornire servizi coerenti tra le aree geografiche e offrire la migliore esperienza utente.
Nelle prossime settimane, alcune delle nostre app avanzate passeranno da un'architettura monolitica a una con microservizi basati su Kubernetes. In che modo questo influirà sulle offerte di CropIn?
Non solo questo, ma c'è di più in CropIn. Resta sintonizzato per gli aggiornamenti!
Utilizzo del trattamento del fumo per la germinazione dei semi nativi
Una guida completa all'uso del fertilizzante nel giardino di casa
Utilizzo della piantagione di successione per migliorare i risultati del giardinaggio vegetariano
Come propagare le piante perenni usando la stratificazione
Fiori autofiorenti:facili da coltivare, Spettacolare da godere