Cloud-Nanny musste eine Architektur finden, mit der sich Hunderttausende von Webanfragen überprüfen lassen und mit der darüber entschieden werden konnte, ob die Anfragen zugelassen oder geblockt werden sollten, ohne das Navigationserlebnis des Endbenutzers spürbar zu beeinträchtigen. Das Ziel war eine Verarbeitungszeit von nicht mehr als 40 Mikrosekunden, um eine Website in der Datenbank nachzuschlagen und eine Entscheidung zu treffen.
Martijn Rooks, CEO von Cloud-Nanny, kommentiert dazu: „IBM DB2® on Cloud war die ideale Lösung für den schnellen Abgleich von Anfragen mit unserer Datenbank von Websites, die auf der Sperr- und Freigabeliste stehen. Solche Abfragen lassen sich sehr schnell durchführen. Und als Cloud-basierte Datenbankplattform ist die Lösung zudem leicht skalierbar. Das Beste daran ist, dass IBM das System als Managed Service anbietet. So können wir uns auf die Entwicklung unserer Lösung konzentrieren, anstatt Zeit mit der Verwaltung der Datenbank zu verbringen.“
Das Nachschlagen von Websites in einer Datenbank ist einfach. Aber was passiert, wenn ein Kind versucht, auf eine Website zuzugreifen, die noch nicht in der Datenbank vorhanden ist? Hier kommt der intelligente Teil der Lösung ins Spiel. Mit einer großen Sammlung von Websites trainierte Cloud-Nanny ein auf seine Bedürfnisse zugeschnittenes Modell unter Verwendung von Algorithmen für maschinelles Lernen, die in IBM Analytics for Apache® Spark™ ausgeführt werden. Die Leistung des Spark-Clusters wird genutzt, um das Website-Klassifikationsmerkmal zu erstellen, das Inhalte in Echtzeit klassifizieren und einordnen kann, z. B. als Gaming-Seite, Videoseite oder Seite mit nicht jugendfreien Inhalten.
Die Lösung vergleicht dann die Ergebnisse mit dem bestehenden Profil der Familie, um zu prüfen, ob die bestimmte Kategorie der Website für das Gerät oder den Benutzer, der die Anfrage stellt, als OK oder verboten aufgeführt ist. Wenn der Kategorisierungsalgorithmus sehr sicher ist, dass die Website in eine erlaubte oder verbotene Kategorie fällt, wird die Anfrage entweder zugelassen oder blockiert. Ist er sich hingegen bei der Einstufung weniger sicher, kann er die Eltern benachrichtigen und sie bitten, eine Entscheidung zu treffen. Die Ergebnisse dieser elterlichen Entscheidung werden dann wieder in das Modell eingespeist und helfen ihm, zu lernen und sich im Laufe der Zeit zu verbessern.
„Das Intelligente an der Lösung ist, dass sie auf der Idee aufbaut, dass es bei der Internetsicherheit kein Schwarz oder Weiß gibt – es gibt viele Grauzonen, und Eltern haben unterschiedliche Ansichten darüber, was für ihre Kinder angemessen ist oder nicht“, sagt Martijn Rooks. „Außerdem werden sich diese Ansichten wahrscheinlich im Laufe der Zeit ändern. Was für einen 10-Jährigen nicht angemessen ist, kann für einen 14-Jährigen in Ordnung sein. Das maschinelle Lernen mit Spark ist so leistungsstark, weil es bedeutet, dass sich unsere Lösung an die Bedürfnisse der Familie anpassen und mit ihnen weiterentwickeln kann.“
Cloud-Nanny konnte die Lösung in nur 14 Monaten vom anfänglichen Machbarkeitsnachweis zu einem produktionsreifen Service führen. Das Unternehmen begründet diesen schnellen Entwicklungszyklus mit seiner Entscheidung, die Lösung auf IBM Bluemix aufzusetzen.
„Als wir den ersten Machbarkeitsnachweis für das Cloud-Nanny-Produkt erstellt haben, haben wir einen anderen Hosting-Anbieter genutzt“, sagt Martijn Rooks. „Wir brauchten zwei Monate, um die Infrastruktur einzurichten und zu konfigurieren, bevor wir überhaupt mit der eigentlichen Entwicklungsarbeit loslegen konnten. Mit IBM® Cloud konnten wir fast sofort mit der Arbeit beginnen. Wenn man erst einmal gelernt hat, wie die Plattform funktioniert und wie einfach es ist, verschiedene Services zusammenzubringen, kann man in ein paar Tagen eine einfache App aufsetzen.
„Ein Produkt in 14 Monaten zu entwickeln und auf den Markt zu bringen ist etwas, das vor ein paar Jahren noch fast undenkbar gewesen wäre. Und bei einem so komplexen Projekt, bei dem modernste Technologien wie Spark zum Einsatz kommen, ist das besonders beeindruckend. Insgesamt schätzen wir, dass es mit Bluemix mindestens 50 Prozent schneller geht, ein Projekt zum Laufen zu bringen als mit einer traditionelleren Softwareentwicklungsumgebung.“