X

Neuste Trends, Tipps, Strategien &
Events rund um das Thema Cloud

Erfolgreiches Startup für Agrotechnologie verringert Pestizideinsatz dank Cloud Native

Hier ist das kritische Dilemma der konventionellen Landwirtschaft: 2 Milliarden Menschen mehr müssen in den kommenden Jahrzehnten ernährt werden. Zugleich sollen weniger Pestizide die Ökologie belasten. Das israelische Startup AgroScout, tätig im Bereich Agrotechnologie, will dieses Problem lösen. AgroScout gibt Landwirten eine "autonome Scouting"-Technologie an die Hand. So können sie Schädlinge und Pflanzenkrankheiten früher erkennen und brauchen Pestizide nur einzusetzen, wo bzw. wann sie benötigt werden.

 

Auf einen Blick: Cloud Native in der Praxis - Weniger Pestizide in der Landwirtschaft dank Agroscout

Härtetetest in der Praxis eines erfolgreichen Startups im Bereich Agrotechnologie verringert Pestizideinsatz auf Feldern – dank Oracle Cloud Native Services und Maschine Learning.

 

Autonomous Scouting funktioniert so: Eine Kamera-Drohne überfliegt ein Feld und sammelt Bilder von Nutzpflanzen – viel schneller und gründlicher, als ein Mensch das könnte. Machine-Learning-Algorithmen analysieren die Bilddaten und sagen den Landwirten, wann und wo gespritzt werden muss. Wenn die Landwirte wissen, welche Schädlinge und Krankheiten sie behandeln müssen, können sie Geld sparen, die Erträge verbessern und mehr Menschen ernähren.

AgroScout ist ein Paradebeispiel für die Art innovativer Unternehmen, die Oracle Cloud Native Services nutzen – in diesem Fall, um seine Anwendung nach Kubernetes zu migrieren und eine automatisierte Bereitstellungspipeline zu liefern.

Native Cloud-Technologien erleben derzeit einen Boom. Kunden können aus einer Vielzahl von Optionen wählen, um sowohl ihre Anwendungsplattform als auch die Technologien zur kontinuierlichen Integration bzw. kontinuierlichen Bereitstellung (CI/CD) zu implementieren, die für diese Anwendungen verwendet werden. Das AgroScout-Entwicklungsteam arbeitet seit einiger Zeit regulär und profitiert bereits von der einfacheren Verwaltung ihrer Anwendung mit Kubernetes und einer gestrafften CI/CD-Plattform, einer besseren Leistung der Cloud der Generation 2 von Oracle und vielem mehr.

 

Anspruchsvoller Kundenwunsch

AgroScout vermisst die Feldflächen mithilfe automatisch gesteuerter Kameradrohnen. Anschließend verarbeitet, erkennt und klassifiziert das Unternehmen gefundene Probleme bei den Kulturen, bevor eine Behandlung empfohlen wird. AgroScout benützt dabei eine grafische Verarbeitungseinheit (GPU), die wiederum auf maschinellem Lernen basiert, außerdem eine Reihe von Mikrodiensten, die von einer SQL-Datenbank unterstützt werden.

Der anfängliche Technologiestack basierte auf Heroku und AWS. Das relativ kleine Entwicklungsteam stellte fest, dass der Zeitaufwand für die Verwaltung dieses Stacks die Kapazitäten zur Bereitstellung neuer Funktionen beeinträchtigte. Die bestehende Lösung war nicht nur schwer zu warten, sondern litt auch unter schlechter Leistung und war nicht leicht zu skalieren. Außerdem war lästig, dass Ergebnisse und der Status neuer Implementierungen nicht sofort ersichtlich waren.

 

Was native Oracle-Cloud-Dienste draufhaben

Die Oracle Cloud Native Services umfassen Dienste für Container, serverlose Funktionen, Streaming (mit Kompatibilität für Apache Kafka), Infrastruktur-Automatisierung (mit Kompatibilität für Terraform), APIs und zugehörige Monitoring- und Benachrichtigungsfunktionen. Diese Dienste, die vor Kurzem zum Portfolio der Oracle Cloud Infrastructure hinzugekommen sind, haben im letzten Jahr eine starke Dynamik entwickelt. Zu den Anwendern gehören wissenschaftliche Organisationen, das Gesundheitswesen, große Finanzdienstleister, innovative KI-zentrierte Startups, Logistik- und Transportunternehmen sowie Regierungsstellen. Weitere Einzelheiten über diese Dienste und ihre Einführung können Sie dem Update entnehmen, das wir im November 2019 veröffentlicht haben.

 

… und so läuft die Lösung in der Praxis

Kubernetes wurde als Anwendungsplattform für das AgroScout-Projekt gewählt, bereitgestellt von der Oracle Container Engine for Kubernetes. Container Engine for Kubernetes ist ein entwicklerfreundlicher und unternehmenstauglicher verwalteter Kubernetes-Dienst zum Betrieb hochverfügbarer Cluster. Neue Cluster können über die Konsole, die API, die CLI oder Terraform erstellt werden. Dabei stehen für die Worker-Knoten wahlweise eine virtuelle Maschine oder Bare-Metal-Server zur Verfügung. Container Engine for Kubernetes verwendet Standard-Kubernetes; alle Werkzeuge wie Kubectl, Helm und das Dashboard stehen für eine lupenreine Kubernetes-Benutzererfahrung und die Portabilität über die verschiedenen Plattformen hinweg zur Verfügung.

Jede Container-Technologie basiert auf Images und erfordert eine Registry für die Speicherung und den Zugriff auf die Images. Die Oracle Cloud Infrastructure umfasst eine verwaltete Container-Registry, die Oracle Cloud Infrastructure Registry, die mit Docker v2 kompatibel ist.

Die Lösung erforderte auch Werkzeuge, um den Code von AgroScout als Pods auf einem Kubernetes-Cluster zu erstellen und zu implementieren. Dieses letzte Stück wurde von unserer CI/CD-Plattform bereitgestellt. Sie bietet eine vorgefertigte Integration für Kubernetes und Container-Registrierungsstellen, die zur Erstellung von Code oder Container-Images und deren anschließender Bereitstellung auf Kubernetes oder anderen Plattformen verwendet werden können.
Oracle Cloud Native Services: Härtetetest in der Praxis eines erfolgreichen Startups im Bereich Agrotechnologie verringert Pestizideinsatz auf Feldern

Geglückte Implementierung

Die Lösung hatte folgendes Ziel: Wenn ein Entwickler Code-Änderungen an das Quellcode-Kontrollsystem übergibt, würde diese Aktion automatisch einen Build auslösen, der ein Docker-Container-Image erzeugt, das in ein Repository in der Registry verschoben wird. In einem weiteren automatisierten Schritt würde dieses Image als Kubernetes-Bereitstellung zusammen mit den Kubernetes-Diensten eingesetzt werden, die für die Veröffentlichung nach außen erforderlich sind.

Glücklicherweise lässt sich unsere CI/CD-Plattform in die meisten gängigen gehosteten Git-Angebote integrieren, so dass AgroScout seine BitBucket Git-Repositories weiterhin nutzen konnte. Das minimiert die Auswirkungen auf den Entwicklungs-Workflow des Unternehmens. Jeder Mikrodienst verfügt über ein eigenes Git-Repository, und jeder davon ist mit einer Build-Pipeline verbunden. Somit konnte jeder Mikrodienst isoliert aufgebaut und eingesetzt werden. Nun löst die Übergabe des Quellcodes den ersten Schritt der zugehörigen Pipeline aus, nämlich die Erstellung der Anwendung – in diesem Fall unter Verwendung von Node.js – und die Erstellung eines Docker-Images.

Die CI/CD-Pipeline kann native Schritte zur Erstellung eines Images verwenden oder ein in Git gespeichertes Standard-Dockerfile verwenden. Letzteres haben wir wegen der Portabilität und Lesbarkeit gewählt. Nachdem das Image erstellt wurde, wird es in einem zweiten Schritt unter Verwendung der nativen Fähigkeiten der Pipeline in ein Repository verschoben, das in der Registry gehostetet ist.

Eine Anforderung war die Bereitstellung der Anwendung in mehreren Kubernetes-Umgebungen, je nachdem, an welchem Zweig in Git der Entwickler gearbeitet hat. Hier ermöglichte uns die Fähigkeit der Pipeline zur Verzweigung der Bereitstellungsworkflows die Erstellung eines Satzes von Kubernetes-Manifestdateien für jede angegebene Umgebung auf der Grundlage des Git-Zweiges, an dem der Entwickler arbeitete.

In einem letzten Schritt wurde die Anwendung im richtigen Kubernetes-Cluster bereitgestellt. Die Kubernetes-Bereitstellungen der Anwendung werden der Außenwelt über einen Eingangs-Controller zugänglich gemacht, der die Integration des Oracle Cloud Infrastructure Load Balancing-Service in die Container-Engine für Kubernetes nutzt. Dadurch wird ein hochverfügbarer öffentlicher Load Balancer bereitgestellt, der den Internetzugang zur Website des Kunden ermöglicht.

 

Oracle Cloud Native Services: Härtetetest in der Praxis eines erfolgreichen Startups im Bereich Agrotechnologie verringert Pestizideinsatz auf Feldern

 

Die Anwendung umfasst auch eine Reihe von Batch-Jobs, die periodisch ausgeführt werden. Diese Jobs können nach dem vorherigen Ansatz erstellt und von unserer CI/CD-Plattform auf derselben Container-Engine für Kubernetes-Cluster wie Kubernetes-Cronjobs bereitgestellt werden. Periodische Wartungsjobs, Backups und die Verarbeitung von Bilddaten verwenden dieses Muster, wobei der Cronjob im angegebenen Intervall einen Job startet.

Die Machine-Learning-Seite der Anwendung verwendet Jupyter Notebook, und ein Image einschließlich des Notebooks und aller erforderlichen Dateien wird über Build-Pipelines auf der Oracle Cloud-Infrastruktur erstellt und bereitgestellt.

 

Die Ergebnisse

Das Schöne an diesem Job war, dass das Entwicklungsteam seit Implementierung dieser Lösung mit Kubernetes und einer rationalisierten CI/CD-Plattform eine einfachere Verwaltung ihrer Anwendung, eine bessere Leistung von Oracle Cloud für ihre Mikrodienste und außerdem GPU-basiertes maschinelles Lernen genießt. Die Skalierbarkeit und Belastbarkeit wurden durch die Verwendung eines nativen Oracle Load Balancers zur Weiterleitung des Datenverkehrs an die Kubernetes-Dienste verbessert. Die Integration mit Slack stellt sicher, dass das Team immer über den Status jedes Builds informiert ist. Die finale Lösung auf der Oracle Cloud Infrastructure hat den Entwicklern Zeit freigeschaufelt, um neue Funktionen hinzuzufügen und Fehlerbehebungen für ihren wachsenden Kundenstamm durchzuführen.

3 signifikante Verbesserungen in erfolgskritischen Bereichen bei AgroScout:

  1. Leistung: Die Geschwindigkeit beim Herunterladen tausender Bilder von Feldkulturen wurde von Minuten auf wenige Sekunden reduziert. Das Markieren, Anzeigen und Arbeiten mit Bildern läuft erheblich schneller, was die allgemeine Benutzerfreundlichkeit verbessert.
  2. Agilität: Die Ingenieure des Oracle Solution Centers und die Technologie der Oracle Cloud Infrastructure haben den Prozess der Code-Committierung sowie der automatischen, schnellen und einfachen Erstellung und Bereitstellung neuer Versionen vereinfacht. Die früheren manuellen Prozesse dauerten mindestens einen Tag und ermöglichten keine Benachrichtigungen. Das DevOps-Team wird heute sofort auf seinem Mobiltelefon benachrichtigt und kann Fehler viel schneller beheben.
  3. Skalierbarkeit: Mit Oracle Cloud kann AgroScout dynamisch und bedarfsorientiert skalieren. Das Startup rechnet derzeit mit Zehntausenden von Benutzern in den nächsten zwei bis fünf Jahren.

 

Sind Sie jetzt interessiert?

Probieren Sie Oracle Cloud selbst aus und erleben Sie die Container-Engine für Kubernetes, Registry und andere Dienste – auch mit folgenden Ressourcen:

 

 

Kontakt:

Ein spannendes Thema, über das ich gerne mit Ihnen spreche, per E-MailLinkedInXing oder Twitter. Sabine Leitner, Sr. Marketing Manager.

Kommentieren

Kommentare ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.