Bienvenue à Agricole moderne !
home

Création d'une plate-forme agrotechnologique efficace et évolutive basée sur le cloud à l'aide de Kubernetes

AgriTech transforme les systèmes agricoles et alimentaires à un rythme plus rapide qu'on ne l'imaginait auparavant et, chez CropIn, nous avons l'habitude d'être à la pointe de l'innovation. Nous continuons à explorer de nouvelles technologies de pointe et à donner aux divers acteurs de l'agroécosystème les moyens numériques d'atteindre leurs objectifs respectifs. Considérant que CropIn permet à ses clients dans plus de 70 pays de maximiser leur valeur par acre, il est essentiel pour nous de fournir des services cohérents dans toutes les zones géographiques et d'offrir une excellente expérience utilisateur. Pour y parvenir, nous avons récemment adopté la conteneurisation et une approche basée sur les microservices pour concevoir nos applications. Alors qu'est-ce que cela signifie ?

La technologie des conteneurs, un terme emprunté à l'industrie du transport maritime pour des raisons évidentes, a révolutionné la façon dont les applications agricoles sont conditionnées pour permettre un déploiement plus rapide des applications. Cela a également rendu les serveurs plus efficaces que jamais et garanti que le logiciel fonctionne de manière fiable, quel que soit le système d'exploitation (OS). Il a éliminé plusieurs problèmes auxquels les systèmes étaient confrontés auparavant, tels que la surcharge du processeur et les ressources nécessaires pour créer et exécuter une machine virtuelle (VM), la limite du nombre d'applications pouvant être exécutées efficacement, l'incompatibilité due au système d'exploitation différences, les exigences de stockage et le temps nécessaire pour démarrer le système d'exploitation, entre autres. La conteneurisation a fourni un moyen efficace de gérer ces problèmes.

Comment fonctionne la conteneurisation ?

Nous aurions peut-être rencontré au moins des images de cargos transportant des conteneurs de taille uniforme, pratiques pour les grues pour les charger et les décharger n'importe où dans le monde. De la même manière, dans l'espace numérique, un conteneur comprend généralement non seulement le logiciel, mais toutes ses autres dépendances, telles que les fichiers de configuration, les fichiers binaires et les bibliothèques (bins/libs). La conteneurisation réduit également considérablement la taille d'une seule unité, la faisant passer de plusieurs gigaoctets occupés par les machines virtuelles à seulement quelques dizaines de mégaoctets. En d'autres termes, une seule unité de conteneur avec tous les composants d'exécution est extraite du système d'exploitation hôte, ce qui la rend portable et prête à fonctionner sur n'importe quelle plate-forme ou cloud.

La conteneurisation permet également de décomposer une application complète (monolithe) en modules plus petits appelés microservices, qui communiquent entre eux via des interfaces de programmation d'application ou des API. La modularité de l'approche des microservices permet également de les développer, de les déployer et de les mettre à l'échelle indépendamment et d'apporter des modifications isolées à certaines parties de l'application au lieu de reconstruire l'ensemble. En conséquence, les développeurs peuvent obtenir un délai d'exécution plus court et une efficacité de processus améliorée. L'autre avantage des microservices est qu'ils sont légers, ce qui les rend disponibles et prêts à fonctionner presque instantanément. De plus, les microservices sont indépendants de la plate-forme et de l'appareil, ce qui se traduit par des applications qui offrent une expérience utilisateur cohérente, quelle que soit l'infrastructure sous-jacente.

Avantages de la technologie de conteneurisation :

Comment sont gérés les conteneurs ?

Les technologies de conteneur, telles que Docker, CoreOS rkt, LXC, Mesos et plusieurs autres, permettent aux développeurs d'adopter une nouvelle approche pour coder et déployer des logiciels d'application. Cependant, la création d'applications complexes, qui comprennent plusieurs composants regroupés dans d'innombrables conteneurs, nécessite des plates-formes d'orchestration de conteneurs ou des gestionnaires de clusters pour aider à donner un sens à ces unités individuelles.

L'un de ces logiciels de gestion centrés sur les conteneurs est Kubernetes, un projet logiciel qui a d'abord été conçu par des ingénieurs de Google. Également appelé par des noms tels que K8s ou Kube, il automatise divers processus manuels associés au déploiement, à la gestion et à la mise à l'échelle des applications conteneurisées. Étant donné que Kubernetes est open source, il est livré avec très peu de restrictions sur la façon dont il peut être utilisé, ce qui donne aux organisations la liberté de l'utiliser sans entrave et presque n'importe où, que ce soit sur site ou dans des clouds publics, privés ou hybrides.

Kubernetes est considéré comme la plate-forme idéale pour héberger des applications natives du cloud, y compris celles de CropIn, pour la simple raison qu'il facilite une mise à l'échelle accélérée et élastique, la surveillance des ressources, des déploiements et des restaurations plus faciles, la réalisation de bilans de santé et l'auto- guérison avec des fonctions telles que le placement automatique, le redémarrage automatique, la réplication automatique, la mise à l'échelle automatique. Il s'agit d'une plate-forme d'entreprise prête pour la production qui peut être utilisée pour n'importe quel déploiement d'architecture.

Cela fonctionne en plaçant les différents conteneurs dans des groupes, en les nommant comme des unités logiques et en répartissant la charge entre eux. Cela permet désormais une portabilité indépendante de l'environnement, une mise à l'échelle simple et efficace et une croissance flexible.

Certaines des tâches que Kubernetes permet à une organisation d'effectuer sont :

CropIn, désormais optimisé par Kubernetes

Actuellement, l'architecture de microservice est le choix incontournable pour le développement de logiciels en raison de ses avantages de livraison rapide et fréquente d'applications complexes, et cela aussi de manière fiable. Alors que plusieurs organisations en hyper-croissance telles qu'Amazon, Netflix, Uber, SoundCloud et eBay ont adopté les microservices, cette approche en est encore à ses balbutiements dans l'industrie agrotechnologique, et CropIn est l'un des premiers à les adopter.

Le déplacement de notre plate-forme phare vers Kubernetes nous a permis de rester natifs du cloud et d'exécuter efficacement les charges de travail. Il nous est désormais possible de :

Avec les microservices et les conteneurs, au lieu d'une grande partie de l'application, nous aurons désormais des modules fonctionnels plus petits qui fonctionneront ensemble pour obtenir les mêmes résultats plus efficacement. Cette approche nous aide à atteindre une échelle supérieure à ce qui était possible auparavant dans l'espace agritech. De plus, un pipeline CI/CD (intégration continue/déploiement continu) automatisé nous permettra de passer d'une idée à la production de toutes nos fonctionnalités intéressantes à un rythme beaucoup plus rapide et de réduire les temps d'arrêt pour nous assurer que tous les services que nous offrons sont toujours disponible.

L'utilisation de microservices garantit que nos utilisateurs finaux bénéficieront énormément d'une solution agritech qui non seulement répond à leurs objectifs, mais est également facile à installer sur n'importe quel système d'exploitation et mise à niveau avec de nouvelles fonctionnalités à intervalles fréquents. Nos applications sont conçues pour répondre aux exigences de notre clientèle en croissance rapide, en veillant à ce que les utilisateurs finaux disposent de tout ce dont ils ont besoin, au bon moment, pour mener à bien leurs opérations commerciales.

AgriTech transforme les systèmes agricoles et alimentaires à un rythme plus rapide qu'on ne l'imaginait auparavant et, chez CropIn, nous avons l'habitude d'être à la pointe de l'innovation. Considérant que CropIn permet à ses clients dans plus de 70 pays de maximiser leur valeur par acre en utilisant notre suite de produits, il est essentiel pour nous de fournir des services cohérents dans toutes les zones géographiques et d'offrir la meilleure expérience utilisateur.

Au cours des prochaines semaines, certaines de nos applications avancées passeront d'une architecture monolithique à une architecture avec des microservices alimentés par Kubernetes. Comment cela affectera-t-il les offres de CropIn ?

Non seulement cela, mais il se passe plus de choses chez CropIn. Restez à l'affût des mises à jour !


Agricole moderne
Technologie agricole