Hinter den Kulissen von Jupyters nbviewer.org: Yuvi Panda über die Werte und den Wert des offenen Internets
Die Freude war groß, als unser Freund Yuvi Panda sich bei Fastly meldete, um mehr über Fast Forward (unser Programm für die Zusammenarbeit mit der Open-Source-Community, um das Internet zu einem besseren Ort zu machen) zu erfahren.
Yuvi wollte wissen, warum Fastly der bessere Ansprechpartner ist, um das Jupyter Projekt nbviewer.org bei seinen Anforderungen in Sachen CDN zu unterstützen. Falls Sie Project Jupyter noch nicht kennen: Es handelt sich dabei um eine Community, die an interaktiven Computertechnologien wie Jupyter Notebook, JupyterLab und JupyterHub arbeitet. Mit Jupyter Notebook lassen sich Text, Livecode, Gleichungen und vieles mehr in einer einzigen Ansicht zusammenfassen. So können Sie Informationen oder Forschungsergebnisse einfach und effektiv in einem anschaulichen und übersichtlichen Format mit anderen teilen. Jupyter Notebook hat sich für Forscher, Wissenschaftler, Pädagogen und Entwickler als äußerst nützlich erwiesen. Durch das nbviewer Projekt wird dieser Nutzen zusätzlich verstärkt, da beliebige Personen .ipynb-Dateien bequem und ganz ohne spezielle Software über einen Webbrowser austauschen und öffnen können.
Noch mehr haben wir uns aber darüber gefreut, dass Yuvi, MinRK und andere Mitglieder der Jupyter Community sich aufgrund unserer gemeinsamen Werte an uns gewendet haben. Fastly und Jupyter glauben an Offenheit und Inklusion. Wir setzen uns beide für ein produktives Umfeld ein, in dem jeder willkommen ist und niemand benachteiligt wird, und wir machen unsere Community dafür verantwortlich, dass unsere Werte auch gelebt werden. Kurz gesagt: Unser gemeinsames Ziel ist ein besseres Internet.
Wir wollten von Yuvi mehr über Project Jupyter, nbviewer und seine Person erfahren und haben uns zu einem Gespräch mit ihm zusammengesetzt:
Hannah Aubry (Fastly): Hallo Yuvi. Wir freuen uns sehr, die Jupyter Community bei ihrem Projekt nbviewer.org zu unterstützen! Kannst du uns ein wenig darüber erzählen? Welche coolen Features fallen vielleicht nicht auf Anhieb ins Auge?
Yuvi Panda: nbviewer war die erste und ist in vielen Fällen nach wie vor die umfassendste Möglichkeit, Jupyter Notebook Dateien mit anderen zu teilen. Man kann ihn mit einer beliebigen URL zu einem Jupyter Notebook füttern, die er dann vollständig rendert – einschließlich etwaigem Javascript Code, den man für interaktive Funktionen braucht. Es sind also nicht nur Links wie zum Beispiel zu GitHub möglich, sondern auch Links zu einer eigenen Website oder sogar öffentliche Links zu einem File-Sharing-Dienst. Solange eine Datei abgerufen werden kann, kann sie auch gerendert werden. Da es sich bei nbviewer um einen nicht authentifizierten Service handelt, können wir mehr interaktive Komponenten rendern als beispielsweise GitHub, wo aus Sicherheitsgründen ein Großteil der Interaktivität entfernt werden muss. Auch bei GitHub lassen sich inzwischen Jupyter Notebooks rendern, und viele Nutzer sind davon begeistert. Trotzdem bleibt nbviewer aufgrund seiner Unterstützung für das Rendering von jedem beliebigen Ort aus und der gebotenen Interaktivität die umfassendere Lösung.
Das Coolste daran ist aber, dass es sich dabei um ein Open-Source-Projekt handelt, das von einem ziemlich coolen Team betreut wird, bei dem jeder willkommen ist :)
Hannah Aubry: Wow, das sind ja beeindruckende Features! Da frage ich mich natürlich, wie man all das umsetzen kann. Auf welche Herausforderungen seid ihr gestoßen und was ging euch als Erstes durch den Kopf, als ihr dieses Projekt in Angriff genommen habt?
Yuvi Panda: Genau wie der Rest des Jupyter Ökosystems ist nbviewer ein Open-Source-Paket, zu dem jeder einen Beitrag leisten oder von dem jeder sogar seine eigene interne Variante betreiben kann. Die öffentliche Instanz auf nbviewer.org wird großzügigerweise vom europäischen Cloud-Anbieter OVH gehostet und über dieses Helm Chart auf Kubernetes bereitgestellt.
Die primäre Herausforderung dabei ist eine, mit der die gesamte Open-Source-Branche konfrontiert ist: Endnutzer erwarten Services, keine Pakete. Niemand möchte für die Pflege und den Unterhalt von nbviewer.org bezahlen. Es handelt sich also um ein Herzensprojekt, das größtenteils von absolut fantastischen Freiwilligen betreut wird. Die erste Überlegung bei einer Open-Source-Infrastruktur (nicht nur bei Paketen) lautet also: Wie können wir sie betreiben? Können wir sie so gestalten, dass wir so wenig Unterstützung wie möglich benötigen? Welche Technologien und Features können wir wählen, um den Nutzern einen Mehrwert zu bieten, ohne den Betreuern zu viel abzuverlangen?
Hannah Aubry: Genau diese Bedenken, die wir von so vielen Projekten rundherum hören, möchten wir mit Fast Forward angehen. Wir wollen es Betreuern von Projekten so einfach wie möglich machen, Fastly zu nutzen. Wie konntet ihr diese anfänglichen Fragen für nbviewer beantworten, wie hat euch Fastly dabei unterstützt und warum habt ihr euch letztlich für Fastly entschieden?
Yuvi Panda: Das Besondere an nbviewer ist, dass es sich dabei um einen reinen Transformator handelt: statische Notebook Dateien (im JSON-Format) rein, hübsches HTML raus. Ein perfekter Fall für ein Caching-CDN, das unsere Origin-Server deutlich entlastet und möglichen Problemen und Ausfällen vorbeugt. Momentan gibt es niemanden, der ständig einen Pager bei sich trägt, der über Ausfälle von nbviewer.org benachrichtigt. Laut MinRK, einem der wichtigsten Unterstützer von nbviewer, ist Fastly der Hauptgrund dafür, dass wir bei der GitHub API nicht länger an die Belastungsgrenzen stoßen, wenn wir von dort Notebooks zum Rendern abrufen. Getreu unserem Ethos der Quelloffenheit und Anbieterneutralität enthält die Codebase von nbviewer keinen Fastly-spezifischen Code. Ich bin also froh, dass wir die Vorteile von Fastly über allgemeine HTTP-Caching-Direktiven nutzen können. Außerdem bin ich seit Langem ein großer Fan von Varnish, und die Tatsache, dass Fastly OSS-Technologie nutzt, hat mich endgültig überzeugt.
Mein persönlicher Standpunkt ist, dass die Welt ein ziemlich schrecklicher Ort sein kann, und es sehr wichtig ist, alles zu tun, was in unserer Macht steht, um sie etwas freundlicher zu gestalten. Jeder noch so kleine Beitrag hilft! Meines Erachtens deckt sich diese Ansicht mit der von Fastly mehr als mit jedem anderen Anbieter. Das ist auch der Hauptgrund, warum ich mich für unsere aktuelle Konfiguration auf der Fastly Edge eingesetzt habe. Entsprechend freundlich war auch der Umgang mit Fastly im Laufe dieses Prozesses, und ich bin dankbar, dass Fastly die Communities unterstützt, die mir am Herzen liegen.
Hannah Aubrey: Danke für diese netten Worte, Yuvi! Wir sind stolz auf die Kunden-Community, die wir uns aufgebaut haben, und es ist schön zu sehen, dass Projekte und Entwickler sich für uns entscheiden, wenn sie vor schwierigen Herausforderungen stehen. Ich würde auch gerne noch mehr über deine Person erfahren. Seit du mit dem Programmieren begonnen hast, beschäftigst du dich mit dem offenen Internet und Bildungsinfrastrukturen. Du bist nicht nur am nbviewer Projekt beteiligt, sondern hast auch 2i2c gegründet, bei der Wikimedia Foundation an Wikimedia Labs mitgewirkt und bist derzeit an der Fakultät der UC Berkeley für Informatik, Datenwissenschaften und Gesellschaft als Infrastrukturarchitekt tätig. Was sind die größten Herausforderungen, die das offene Internet aktuell bewältigen muss, und wie können wir sie lösen? Welche Tipps hast du für andere, die sich für nbviewer, Project Jupyter oder das offene Internet engagieren möchten?
Yuvi Panda: Da ich in Südindien in der nicht zur oberen Kaste gehörenden unteren Mittelschicht aufgewachsen bin, habe ich für mich nie wirklich etwas anderes gesehen, als ein „Nutzer“ von proprietärer Software zu sein. Aber dank meiner besonderen Lebensumstände und Privilegien konnte ich mir mehr vorstellen, als „nur ein Nutzer“ von Open-Source-Software zu sein. Es war äußerst ermutigend, dass die Menschen, die Open-Source-Software entwickeln, nicht anders sind als ich. Das gab mir das Gefühl, dass auch ich ein Entwickler sein kann!
Was die aktuellen Herausforderungen betrifft, befindet sich die Infrastruktur des offenen Internets an einem Scheideweg. Mehr denn je sind jetzt unser Handeln und unsere Entscheidungen gefragt. Nutzer wollen keine Software mehr herunterladen und installieren, sondern Services nutzen. Die Open-Source-Bewegung muss hier mitziehen, oder sie riskiert, dass ihr proprietäre Alternativen den Rang ablaufen.
Wie können wir also unseren Einfluss aufrechterhalten, wenn sich die Welt den Services zuwendet? Diese Frage beschäftigt uns alle und wir versuchen, sie auf unsere Weise zu beantworten. Ich glaube, dass sie nicht nur die nächsten zehn Jahre der Softwareentwicklung bestimmen wird, sondern auch die Art und Weise verändern wird, wie wir den Begriff der „Offenheit“ definieren.
Hannah Aubry: Vielen Dank, dass du dir Zeit für mich genommen hast, Yuvi!
Wenn Sie mehr erfahren, sich am nbviewer Projekt beteiligen oder einfach nur Hallo sagen möchten, können Sie das Jupyter Discourse Forum besuchen. Mit Yuvi können Sie über seine persönliche Website oder Mastodon Kontakt aufnehmen. Und wenn Sie mehr über Fast Forward erfahren oder sich bei uns bewerben möchten, besuchen Sie unsere Website.
Lassen Sie uns gemeinsam das Internet zu einem besseren Ort machen. ⏩