Blockchain und Kryptowährung: warum haben sich noch keine lukrativen Geschäftsmodelle gefunden?

Warum wird das Thema Blockchain und Kryptowährung aktuell in vielen IT-Projekten und auf Webseiten heiß diskutiert – aber gleichzeitig weder von klassischen Zahlungsprovidern noch von Banken eine Dienstleistung auf Basis von Kryptowährungen angeboten?

Einer der größten Zahlungsanbieter der Welt, Stripe, liefert eine Antwort auf diese Frage: Bei Stripe handelt es sich um einen Online-Zahlungsdienst, welcher 2009 von den Brüdern Patrick und John Collison in den USA gegründet wurde. Im Jahr 2014 war Stripe das erste große Zahlungsunternehmen, welches Bitcoin-Zahlungen unterstützte. Nach vier Jahren wurde im April 2018 allerdings die Verarbeitung von Bitcoin-Transaktionen eingestellt.

Praxiswissen Blockchain hier entlang

Der Grund für diese Entscheidung? Stripe erhoffte sich, dass das Bezahlen mit Kryptowährung den Kunden helfen würde, Zahlungen in geografischen Gebieten zu ermöglichen, in denen Kreditkarten und Bankzahlungsabrechnungen generell unmöglich oder sehr schwierig sind.

Vom Untergang der Bitcoin-Zahlungen

Bitcoin hat sich jedoch nicht zu einem Tauschmittel entwickelt, sondern ist zu einem Vermögenswert bzw. Spekulationsobjekt mutiert und deswegen als Zahlungsmittel eher ungeeignet.

On top kam eine Reihe weiterer Funktionen, welche die Entscheidung zur Abschaffung der Bitcoin-Zahlungen finalisierte, wie beispielsweise die Bestätigungszeit einer Transaktion. Durch das Ansteigen der Transaktionsdauer stieg gleichzeitig die Fehlerquote der Transaktionen. Wenn eine Transaktion also endlich bestätigt wurde, hatte sich der Kurs der Währung häufig schon verändert. Das Ergebnis war die Verbuchung „falscher Beträge.“ Besonders beim High-Speed-Trading führte dies zu großen Verlusten.

Auch sind die Transaktionskosten in den letzten Jahren stark gestiegen, wodurch diese etwa auf einer Stufe mit regulären Überweisungen bei Banken stehen.

Durchschnittliche Transaktionskosten pro Tag in Dollar pro Transaktion
Durchschnittliche Transaktionskosten pro Tag in Dollar pro Transaktion; Quelle: https://bitcoinfees.info/ (13.12.2019)

So beobachtete Stripe nicht nur einen Rückgang des Transaktionsvolumens, sondern auch einen Abbau der Unternehmen, die Bitcoin-Zahlungen annahmen. Am 23. April 2018 wurden dann Bitcoin-Zahlungen komplett eingestellt.1

Die Alternative: stable coins

Doch wie stehen andere Global Player und Sachkundige zu Bitcoin und Kryptowährungen? IBM sieht Potential in der Blockchain-Technologie und verweist auf den Erfolg in den Bereichen Supply Chain, grenzüberschreitende Transaktionen und Identitätsprüfung. Besonders die Unveränderlichkeit der Blockchain ohne Regulierung des Mechanismus macht Geschäftsprozesse schneller und unkomplizierter.2 Der Einsatz der Blockchain-Technologie verspricht den Nutzern ebenfalls große Sicherheit.3 Bei der Verarbeitung von sensiblen Daten, wie bei Geldtransaktionen, ist dies von hoher Bedeutung.

IBM arbeitet ebenso an der Entwicklung einer „stable coin“, welche hohe Volatilität meiden und als praktischer Transaktionsmechanismus dienen soll.4 Im Gegensatz zum Bitcoin sind stable coins an einen anderen Vermögensgegenstand geknüpft. Bei der Kryptowährung von Facebook „Libra“ handelt es sich dabei um die Währungen US-Dollar, Euro, Yen, Britische Pfund und der Singapur-Dollar.

Die Haltung der Bundesregierung gegenüber Kryptowährungen ist generell positiv, eine stable coin lehnt sie hingegen ab. Ein Grund hierfür ist die Vermutung, dass stable coins von größeren Unternehmen in Konkurrenz zum Euro stehen könnten. Eine berüchtigte Befürchtung, wenn man sich zum Beispiel Facebook mit seiner eigenen stable coin anschaut und ihren mehr als 2 Mrd. Nutzern. Auch Politiker und Notenbanken sehen einen Stellenwertverlust in der Abgabe ihrer Aufgaben an Konzerne.5 Ein drittes Argument ist, dass auch wenn die Technologie in der Theorie wenig Raum für Sicherheitslücken lässt, es in der Praxis trotzdem häufig zu Hacking-Attacken kommt. Häufig handelt es sich um Phishing-Attacken oder Passwortdiebstahl, bei denen der Mensch als Schwachstelle ausgenutzt wird6 oder um DDoS-Attacken auf solche Plattformen, bei denen durch Überlastung der Hosting-Systeme hohe wirtschaftliche und Image-Schäden für die Betreiber die Folge sind.7

Fazit

Zusammenfassend lässt sich sagen, dass die Finanzwelt und ihre etablierten Größen nicht in eine Zeit ohne Kryptowährung und Blockchain-Technologie zurückkehren möchten. Die Suche nach möglichen lukrativen Anwendungsbereichen der Kryptowährung wird sich bei den Zahlungsdienstleistern fortsetzen und dort Investitionen getätigt, wo ein hohes Gewinnpotential in Aussicht ist. Trotz des enormen Potentials dieser Technologien sind sie noch weit von einem perfekten Mechanismus entfernt, der den Verlauf des globalen Währungsprozesses völlig verändert.

Dieser Blogbeitrag könnte Dich auch interessieren: Die Welt im Bitcoin-Rausch


 

1 Vgl.https://stripe.com/de/blog/ending-bitcoin-support (12.12.2019)

2 Vgl.https://fortune.com/2018/07/17/stripe-blockchain/ (12.12.2019)

3 Vgl.https://www.computerwoche.de/a/blockchain-was-ist-das,3227284 (12.12.2019)

4 Vgl.https://fortune.com/2018/11/19/blockchain-ripple-transferwise/ (12.12.2019)

5 Vgl.https://www.biallo.de/geldanlage/news/stablecoin-kryptowaehrungen-reif-fuer-den-massenmarkt/ (13.12.2019)

6 Vgl.https://www.it-finanzmagazin.de/sicherheitsrisiko-kryptowaehrungen-gefahr-cyberangriffe-66768/ (13.12.2019)

7 Vgl.https://www.security-insider.de/was-ist-ein-ddos-angriff-a-672826/ (13.12.2019)

It’s #FrontendFriday – Who runs the world? WebBrowser?

Hallo #FrontendFriday-Leser/in,

mir ist vor ein paar Tagen erst bewusst aufgefallen, dass wir immer mehr im WebBrowser machen (können). Sei es Emails lesen oder schreiben, Nachrichten lesen, Videos schauen, Kalender teilen, Geld überweisen, einkaufen, …

Eine Anwendung für den WebBrowser zu entwickeln ist sehr attraktiv, jeder benutzt einen und man kann den Inhalt auf allen Betriebssystemen einsehen. Mails z.B. bei GMX kann ich am PC, Handy oder vom Tablet aus über einen einfachen Link www.gmx.de erreichen. Wie genial ist das eigentlich?
Die Browser werden auch immer mit neuen Funktionen ausgestattet und machen so Features plattformübergreifend verfügbar.

Mehr

It’s #FrontendFriday – Was ist HTTP?

Es ist soweit, es ist Freitag – It’s #FrontendFriday :)

Im heutigem Blog geht es um das Thema „Was ist HTTP?“.

Was ist HTTP?

Das Hypertext Transfer Protocol (HTTP, englisch für Hypertext-Übertragungsprotokoll) ist ein zustandsloses Protokoll zur Übertragung von Daten auf der Anwendungsschicht über ein Rechnernetz. Es wird hauptsächlich eingesetzt, um Webseiten (Hypertext-Dokumente) aus dem World Wide Web (WWW) in einen Webbrowser zu laden. Es ist jedoch nicht prinzipiell darauf beschränkt und auch als allgemeines Dateiübertragungsprotokoll sehr verbreitet.

Mit Hypertext Transfer Protocol (HTTP) kommen die Nutzer eines Webbrowsers immer dann in Berührung, wenn sie die Webseiten eines entfernten Servers laden.
Das 2014 von der Internet Engineering Task Force (IETF) veröffentlichte RFC 7231 charakterisiert HTTP derweil allgemeiner als zustandsloses Protokoll, das auf Anwendungsebene angesiedelt ist und sich für verteilte, kollaborative Hypertextinformationssysteme eignet.

Wie funktioniert HTTP?

Mehr

Application Performance Monitoring (APM) von Microservices und FaaS in OpenShift

Autonome Fahrfunktionen werden immer komplexer und auch die Zahl der Servicefunktionen im Fahrzeug wächst. Da ist es gerade in der Entwicklung wichtig, diese Herausforderungen zu meistern. Für diesen Fall bieten sich sogenannte Microservices an, die eine massive Parallelisierung von Diensten erlauben. Doch warum macht der Einsatz von Microservices hier Sinn und wie kann man da den Überblick behalten?

Autonome Fahrfunktionen

Da autonome Fahrfunktionen und alles was dazu gehört, sehr komplex sind, braucht es von Beginn an eine Architektur, die diesen Herausforderungen gewachsen ist. Microservices modularisieren Software und liefern damit genau das, was benötigt wird, um Software erweiterbar und wartbar zu gestalten. Die einzelnen, unabhängig voneinander entwickelten und deployten Microservices lassen sich einfacher tauschen, updaten oder erweitern. All das sind Dinge, die eine Skalierbarkeit schaffen, die bei großen Projekten, wie im Bereich autonomem Fahren, wichtig sind.

Ähnlich wie ein Microservice, kann an dieser Stelle auch ein Function as a Service (FaaS) eingesetzt werden. Dieser hat den Vorteil, dass er nicht wie der Microservice durchgehend läuft, sondern nur gestartet wird, wenn die Funktion aufgerufen wird. Bezahlt wird dann auch nur die tatsächliche Rechenzeit, die von der Funktion in Anspruch genommen wird.

Setzt man diese Microservices oder FaaS nun in einzelne Container (z.B. OpenShift), kann jeder dieser Services in einer anderen Programmiersprache auf einer anderen Plattform implementiert sein und trotzdem über eine REST Schnittstelle mit den anderen kommunizieren. Ebenso kann jeder Service einzeln skaliert werden.

Microservices Aufbau v2 eigene Darstellung
Abbildung 1: Microservices Aufbau v2 eigene Darstellung

Warum sollte man Microservices überwachen?

Aus demselben Grund wieso man Systeme im generellen überwacht – weil alle Systeme Fehler aufweisen können. Ein System ist nicht immer „Up“ oder „Down“, es kann auch in einem herabgesetzten Zustand sein, was beispielsweise Performance Einbußen mit sich bringt. Ein Monitoring zeigt solche Zustände auf und kann dadurch eventuell auch einen Ausfall verhindern.

Dienstleistungen, die intern oder für externe Kunden erbracht werden, werden oft im Rahmen eines Service Level Agreement (SLA) festgehalten. Ohne Monitoring ist es unmöglich zu wissen, ob das SLA eingehalten oder verletzt wird.

Überwachungssysteme produzieren zudem im Laufe der Zeit wertvolle Daten, die zur Verbesserung der Leistung genutzt werden können. Fehler- und Leistungsdaten können analysiert werden, um nach Mustern bei Systemausfällen oder Performance Einbrüchen zu suchen, die mit Ereignissen korreliert werden können.

Monitoring ist für die Aufrechterhaltung belastbarer und verfügbarer Systeme unerlässlich. Gerade in der Entwicklung autonomer Fahrfunktionen wird mit großen Datenmengen in sehr komplexen Algorithmen gearbeitet. Da ist es wichtig, dass das System zuverlässig und performant läuft.

Monitoring von Microservices in OpenShift

Monitoring ist ein Prozess der Berichterstattung, Sammlung und Speicherung von Daten. Es gibt einige gängige Kennzahlen im Monitoring für Microservices in Openshift, die man aufzeichnen kann. Dazu gehören:

  • Anwendungskennzahlen
    Zeichnet Kennzahlen auf, die innerhalb der Anwendung messbar sind. Das könnte beispielsweise Nutzer Registrierungen sein oder wie viele Fahrzeug Simulationen an einem Tag gemacht werden, um ein Beispiel aus den autonomen Fahrfunktionen aufzuzeigen.
  • Plattformkennzahlen
    Hier werden Kennzahlen der Infrastruktur gemessen, wie zum Beispiel die Ausführungszeit bestimmter Funktionen oder die Auslastung einer GPU für die Fahrzeug Simulation. Das sind auch Kennzahlen, bei denen Performance Probleme sichtbar gemacht werden können.
  • System Events
    Hier geht es grundlegend um betriebliche Änderungen oder Code-Bereitstellungen. Diese führen häufig auch zu Systemfehlern oder Ausfällen. Solche Änderungen können dann mit dem Systemverhalten korreliert werden, um zu sehen, ob es da Zusammenhänge gibt.

Doch wie sieht so eine Monitoring Lösung nun konkret aus. Im Folgenden wird exemplarisch die Monitoring Lösung Dynatrace aufgezeigt:

Microservice Dynatrace Monitoring eigene Darstellung
Abbildung 2: Microservice Dynatrace Monitoring eigene Darstellung

Der Dynatrace OneAgent Operator wird als Container auf der OpenShift Node ausgeführt. Dieser OneAgent „setzt“ sich in alle anderen Container und überwacht diese anschließend. Damit kann sehr schnell eine komplette OpenShift Node und die darin liegenden Microservices, überwacht werden.

Fazit

Der Einsatz von Microservices bringt enorme Vorteile, bei der Umsetzung großer Softwareprojekte, wie die Entwicklung autonomer Fahrfunktionen. Doch um ein solch großes Projekt dauerhaft stabil und performant zu betreiben, ist es wichtig, dass diese Services und Funktionen durch den Einsatz einer Monitoring Lösung wie z.B. Dynatrace überwacht werden. Danach kann das System möglichst performant betrieben und deutlich einfacher skaliert werden.

 

Mehr über Connected Car Services erfahren

 


Hier geht es zu Teil 1 und 2 der Blogserie:

Teil 1: Mit der Cloud vielfältige Fahrszenarien lernen – Wie die Cloud bei großen Datenmengen in der Testausführung von autonomen Fahrzeugen unterstützt

Teil 2: Codequalität für autonome Fahralgorithmen gewährleisten


Weitere Artikel zu diesem Thema:

DevOps, Microservices & Big Data: Drei Top IT-Themen, die Automobilhersteller künftig beschäftigen werden

Skalierbare Microservices mit Docker und HAProxy

Wussten Sie schon, was Microservices sind?


Quellen:

https://www.all-electronics.de/evolutionaere-fahrzeug-architektur-devops/

https://thenewstack.io/the-hows-whys-and-whats-of-monitoring-microservices/

Dynatrace Logo:

https://dt-cdn.net/wp-content/uploads/2016/12/dynatrace_logo.png

OpenShift Logo:

https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/OpenShift-LogoType.svg/1200px-OpenShift-LogoType.svg.png

Die fünf ultimativen KI Trends für das nächste Jahrzehnt

Künstliche Intelligenz (KI) ist in aller Munde. Die einen sehen in KI neue, bislang ungeahnte Chancen, um Produkte noch schneller und genauer an die Bedürfnisse der Menschen anzupassen, die sie nutzen. Kurz: Künstliche Intelligenz hilft, Mehrwert zu schaffen und unser aller Leben besser zu machen.

KI als Bedrohung der menschlichen Souveränität?

Die dem entgegengesetzte Sichtweise betrachtet KI als Bedrohung der menschlichen Souveränität und Entscheidungshoheit. Wenn Algorithmen schon heute über weite Strecken das weltweite Finanz- und Wirtschaftsgeschehen steuern, wenn sie eingesetzt werden, um Bewerber auf ihre Eignung für den zu besetzenden Arbeitsplatz zu beurteilen, dann – so die Befürchtung – sind wir bald die Vollzugsgehilfen von Computerprogrammen. Und manche düster-dystopische Vision gipfelt in Szenarien wie diesem: Eine überintelligente KI kommt zu dem Schluss, dass die Menschen, wenn sie sich frei entfalten, zu viele falsche Entscheidungen treffen. Also steckt sie uns in eine Art Reservat mit beschränkten Freiheiten. Dort leben wir womöglich glücklich, zufrieden und in gut durchstrukturierten Bahnen, sind aber nicht frei.

Ich bin überzeugt, beide Sichtweisen haben ihre Berechtigung und sollten einbezogen werden, wenn es darum geht, die mit Künstlicher Intelligenz verbundenen Möglichkeiten auszuloten und die Entwicklung bewusst zu gestalten.

Womit wir schon beim Kern unseres Themas sind: der Notwendigkeit zu steuern, damit sich die Technologie nicht verselbständigt. Denn das wird sie, wenn es keine Kontrollmechanismen gibt. So wie heute jede Software gesetzeskonform sein muss, sonst macht sich derjenige strafbar, der sie entwickelt, so muss auch KI gesetzlichen Vorgaben entsprechen. Im Dieselskandal beispielsweise wurde genau dies umgangen. Die Frage ist also nicht, wie intelligent KI durch Lernen oder durch Programmierung wird, sondern wieviel Macht wir ihr geben.

Folgen der Technologie abschätzen

Künstliche Intelligenz ist wahrscheinlich die bislang wichtigste, weil folgenreichste „Erfindung“ des Menschen. Schon die Technologien des 20. Jahrhunderts und ihre Auswirkungen zeugen davon, dass vieles, was technologisch machbar oder profitabel ist, unsere Welt nicht zwingend besser und die Erde zu einem lebenswerteren Ort macht. Nicht von ungefähr gibt es seit den 1960er Jahren das Forschungsgebiet der Technikfolgenabschätzung.

Schon immer haben Erfindungen und neue Technologien die Lebensbedingungen der Menschen und damit auch ihr Verhalten verändert. Dies gilt umso mehr, je stärker die Neuerungen in die bestehenden Strukturen eingreifen, je höher ihre Reichweite ist und je schneller sie sich verbreiten. Man nehme als Beispiele dafür nur die Mobilität des modernen Menschen, den Massentourismus, die industrielle Lebensmittelproduktion oder das jederzeit und überall verfügbare Internet. Sie haben nicht nur zu massiven Veränderungen des menschlichen Verhaltens geführt, sie erschüttern im Moment den Planeten in seinen Grundfesten.

Künstliche Intelligenz hat das Potenzial, unser Zusammenleben, unsere wirtschaftliche und gesellschaftliche Realität weit stärker zu verändern als alle Technologien, die wir bislang kennen. Allein das ist Grund genug, dass wir ihre Entwicklung nicht dem Zufall, den Mechanismen der Märkte oder den Wenigen überlassen, die mit immensen finanziellen Mitteln Fakten schaffen können. Vielmehr bedarf KI zwingend der Steuerung durch die Gemeinschaft der Menschen, durch uns alle.

Was ist also zu tun?

Zunächst: Ich bin überzeugt, selbst hochgesteckte Erwartungen an die Potenziale von KI sind gerechtfertigt – ob es um das autonome Fahren geht, um Diagnosen in der Medizin oder darum, leistungsfähigere, besser verkaufbare Produkte, einen höheren Automatisierungsgrad und effizientere Entscheidungsprozesse zu erreichen, auf welchem Gebiet auch immer. Das alles wird kommen. Und es ist geeignet, manches heute unlösbar scheinende Problem zu lösen und uns tatsächlich in einem positiven Sinne weiterzubringen. Überzogen scheinen mir allerdings die Erwartungen, was den Zeithorizont angeht. Auch wenn die Entwicklung rasant verläuft, in der Regel neigen wir dazu, die mentale und kognitive Leistungsfähigkeit der Menschen zu unter- und die der Maschine zu überschätzen.

Anders ausgedrückt: Dass „die Maschine“ über mehr praktische Intelligenz verfügt und damit in jeder Situation bessere Entscheidungen trifft als der Mensch, ist aus meiner Sicht in den nächsten 50 Jahren nicht zu erwarten. Dafür gibt es in unserem Alltag zu viele unbekannte Situationen, in denen sich der Mensch vor allem durch sein Allgemeinwissen über die Welt besser zurechtfindet. Dennoch: Was in den kommenden Jahren und Jahrzehnten in Sachen Künstlicher Intelligenz geschieht, hat aber längst seinen Anfang genommen. Es entwickelt sich rasant – und bislang relativ unkontrolliert. Höchste Zeit also, genau hinzusehen und bewusst zu steuern, in welche Richtung wir gehen wollen.

KI verändert

Bewusst handeln – fünf Trends

Der aus meiner Sicht alles überragende KI-Trend des kommenden Jahrzehnts heißt: öffentliches Bewusstsein entwickeln. Für die möglichen Entwicklungen der Künstlichen Intelligenz, für ihre technologischen, wirtschaftlichen sowie gesellschaftlichen Chancen und ihre realistische Einschätzung. Und für die Risiken. Dabei gilt es besonderes Augenmerk auf folgende Gebiete zu richten.

1.Maschinen sind wie Kinder. Computer, die mit selbstlernenden Algorithmen, also Künstlicher Intelligenz ausgestattet sind, verhalten sich im Prinzip wie Kinder. Basis ihres Lernens ist das, womit sie „gefüttert“ werden. Wie Kinder das Verhalten ihrer Eltern nachahmen, erkennt und interpretiert die Maschine auf Basis ihrer Vorgaben Muster und entwickelt die diesen Mustern folgenden Erscheinungsformen logisch weiter. Sie lernt Neues, aber immer vor dem Hintergrund dessen, was sie ursprünglich erfahren hat. Wir werden uns also der Frage stellen müssen: Wollen wir die Ergebnisse dieses Lernens dem Zufall überlassen? Oder sollten wir besser verbindliche Leitlinien für die Lernvorgaben und die Beurteilung der Lernergebnisse entwickeln? Und dann dafür sorgen, dass die Einhaltung dieser Leitlinien kontrollier- beziehungsweise nachvollziehbar ist? Dabei sollten wir uns vor Augen halten: Lernen die Maschinen in Zukunft unkontrolliert, ist die Wahrscheinlichkeit hoch, dass sie sich vorwiegend entlang der Gewinnmaximierung ihres Eigentümers entwickeln. Das kann nicht das Interesse der Allgemeinheit sein.

2.Programmierer werden zu Verhaltensforschern. Wenn sich künstlich intelligente Maschinen verhalten wie Kinder, ist die logische Folgerung: Die Entwickler, die mit diesen Maschinen arbeiten, sollten die noch zu entwickelnden Leitlinien kennen und umsetzen. Sie sollten abschätzen können, was die Maschine auf lange Sicht aus ihrem „Futter“ macht. Daraus ergeben sich neue Anforderungen an die IT-Ausbildung: Reines Programmier-Knowhow allein reicht nicht mehr aus. Vielmehr braucht ein guter KI-Spezialist künftig eine Art ethische Grundausbildung. Er muss lernen, seine Arbeit bewusst am Gemeinwohl und an den ethischen Grundwerten der Menschheit auszurichten. Darüber hinaus braucht er umfassendes technisches Wissen rund um die fünf großen Schulen des Maschinenlernens, wie sie der renommierte Informatiker Pedro Domingos definiert hat:
Konnektion. Diese Schule orientiert sich an dem Funktionsprinzip des menschlichen Gehirns. Das Ergebnis sind neuronale Netzwerke, deren Neuronen Synapsen bilden oder verändern.
Symbolik. Sie hat ihre Wurzeln in der Logik und schließt von bekannten Fakten auf unbekannte Prämissen. Beispiel: „Ich bin ein Mensch. Ich bin sterblich. Daraus folgt: Menschen können sterben.“
Evolution. Das mächtigste uns bekannte Lernprinzip. Diese Schule setzt auf Programme, die die natürliche Selektion der Evolution simulieren.
Bayes´ Schule. Lernen bedeutet hier, Hypothesen zu postulieren und sie an neue Beobachtungen anzupassen.
Analogie. Jede neue Beobachtung wird der Kategorie zugeordnet, die die meisten ähnlichen beziehungsweise ähnlichsten Fälle enthält.

3.Die Kulturrevolution kommt. Keine bislang vom Menschen geschaffene Technologie hat auch nur annähernd eine solche Bandbreite an neuen Möglichkeiten eröffnet wie die KI – im Positiven wie im Negativen. Hinzu kommt, dass sich durch das Internet alles mit Lichtgeschwindigkeit ausbreitet. Nicht zuletzt deshalb wird die KI-Entwicklung schwer zu kontrollieren sein und auf vielen Gebieten Fortschritte machen, die evolutionären Sprüngen gleichkommen. Entscheidend ist hier: Damit das am Horizont aufdämmernde KI-basierte System überhaupt auf Dauer funktioniert, muss es letztlich dem Menschen dienen. Seit Beginn der Industrialisierung hat die Maschine den Takt und die Richtung vorgegeben.

Mit KI ist es möglich, dieses System wieder am Menschen auszurichten. Dazu allerdings müssen wir unser über Jahrtausende eingeübtes Denken in hierarchischen Strukturen und getrennten Untersystemen überwinden. Nur dann werden wir in der Lage sein, die von uns geschaffenen Technologien der Digitalisierung und Künstlichen Intelligenz zu beherrschen. Falls nicht, werden die Technologien uns beherrschen. Was wir deshalb brauchen, ist eine offene, an tatsächlich gelebten Werten orientierte Kultur, eine Fehlerkultur, die sich einzig an der Suche nach der Wahrheit beziehungsweise dem bestmöglichen Ergebnis für die Allgemeinheit orientiert. Und wir brauchen Transparenz, denn damit sind wir am ehesten in der Lage, die Ausbreitung von Anwendungen zu verhindern, die Schaden anrichten. Mit Transparenz wäre der Dieselskandal schlicht nicht möglich gewesen. Dafür aber brauchen wir neue Organisationsstrukturen, die eine Entwicklung in Richtung Fehlerkultur und Transparenz unterstützen. Sie gilt es zu entwickeln.

4.Der Arbeitsmarkt wird umgekrempelt. Wenn immer mehr Maschinen zur Wertschöpfung herangezogen werden, hat das Auswirkungen auf den Arbeitsmarkt. Zu den ersten wird gehören, dass klassische Berufsbilder aussterben oder deutlich weniger Jobchancen bieten – zum Beispiel für KassiererInnen im Einzelhandel oder BeraterInnen im Finanzsektor. Was den Wegfall von Arbeitsplätzen angeht, zeichnet das Bundesarbeitsministerium ein eher optimistisches Bild.[1] Demnach sollen durch den KI-Strukturwandel in den kommenden fünf Jahren 1,3 Millionen Arbeitsplätze in Deutschland verloren gehen, auf der anderen Seite aber 2,1 Millionen neue Stellen entstehen. Bis 2035 rechnen die Experten damit, dass rund vier Millionen Arbeitsplätze wegfallen und etwa 3,3 Millionen neue Jobs hinzukommen. Allerdings nur, wenn sich viele Beschäftige neue Qualifikationen aneignen. Dafür sind Umschulungen und Weiterbildungen erforderlich. Ob diese Einschätzung realistisch ist, sei dahingestellt. Durchaus denkbar ist auch, dass viele Millionen von Arbeitsplätzen ersatzlos wegfallen. Auch für solche Szenarien werden wir in den kommenden Jahren Pläne entwickeln müssen. Wird dann ein bedingungsloses Grundeinkommen nötig, um den Lebensunterhalt der Bürger zu sichern – und ihren Konsum als tragende Säule unserer Wirtschaft?

5.Gemeinwohl-Ökonomie oder wachsende Ungleichheit. Sicher ist: Künstliche Intelligenz wird immer neue Möglichkeiten der Gewinnmaximierung schaffen. Und Maschinen werden einen immer größeren Anteil an der allgemeinen Wertschöpfung haben. Diese Wertschöpfung muss einen angemessenen Beitrag für die Allgemeinheit leisten. Sonst werden die Mechanismen, nach denen unsere Marktwirtschaft bislang funktioniert, dafür sorgen, dass das Geld, das sie erwirtschaften, vor allem jenen zugutekommt, die diese Maschinen besitzen beziehungsweise betreiben. Überlassen wir die Entwicklung unkontrolliert diesen Mechanismen, wird es womöglich in wenigen Jahrzehnten einige zehntausend Superreiche auf der Erde geben und eine Milliardenarmee von Armen, deren Konsum durch Subventionen aufrechterhalten wird. Welche psychosozialen Folgen das nach sich zieht, vermag niemand zu sagen. Die Alternative: Wir schaffen eine Gemeinwohl-Ökonomie, ein System, in dem die Wertschöpfung mehr als jetzt der Allgemeinheit zugutekommt. Denn eins ist klar: Unser Wirtschaftssystem lebt vom Konsum. Kooperation ist deshalb im Interesse aller, ob sie viel oder wenig besitzen. Optimal wäre es, wenn die Reichen beziehungsweise die Besitzer der KI-Supermaschinen erkennen würden, dass sie die anderen Menschen brauchen, um das System aufrecht zu erhalten. Und entsprechend handeln, nach dem Motto: Leben und leben lassen.

 

Fazit

Wenn es uns gelingt, gute Antworten auf die oben skizzierten Fragen zu finden, wenn wir in der Lage sind, der ethischen Dimension von KI gerecht zu werden und ihre Entwicklung entsprechend zu steuern, dann – davon bin ich fest überzeugt – kann sich Künstliche Intelligenz zum Segen für die Menschheit entwickeln. Entscheidend wird sein: Wir müssen jetzt denken, den öffentlichen Diskurs starten und schnell handeln. Sonst ist die Büchse der Pandora womöglich offen, ehe wir mit ihrem Inhalt umzugehen wissen.

Habt Ihr schon gute Antworten auf die obigen Fragen gefunden? Werden wir in der Lage sein die Entwicklung von KI zu steuern? Teilt doch Eure Ideen durch das Kommentarfeld mit uns.

Übrigens: Die ersten Unternehmen veröffentlichen inzwischen Algorithmen, die sie für ihre KI-Projekte entwickeln. So hat zum Beispiel der Automobilhersteller BMW einige seiner für Machine Learning geschaffenen Algorithmen vor kurzem als Open Source auf Github veröffentlicht [2] und sie damit für die Öffentlichkeit verfügbar und transparent gemacht. Solche Entscheidungen gehen definitiv in die richtige Richtung.


Mehr zu dem Thema Künstliche Intelligenz und Data Driven gibt es hier

 

Du möchtest an spannenden KI Projekten mitarbeiten? Dann bewirb Dich jetzt bei uns als Consultant oder Software Entwickler.


[1] https://www.sueddeutsche.de/wirtschaft/ki-observatorium-tuev-arbeitsministerium-1.4676937

[2] https://www.golem.de/news/deep-learning-bmw-legt-eigene-ki-algorithmen-offen-1912-145576.html

Codequalität für autonome Fahralgorithmen gewährleisten

Die Entwicklung autonomer Fahrzeuge ist ein Wettrennen, daher müssen schnellstmöglich stabile Algorithmen für das autonome Fahren entwickelt werden. Dafür müssen Bug Fixes und neue Features so schnell wie möglich implementiert werden, aber ohne die Qualität aus den Augen zu verlieren. Wie kann das gerade in solch großen und komplexen Projekten gewährleistet werden? Die Antwort findet sich in einer skalierbaren „Continuous Integration“ und Continuous Delivery“ Pipeline. Hier erfahren Sie wie der Aufbau einer skalierfähigen Continuous Integration und Continuous Delivery Pipeline in OpenShift funktionieren kann.

Continuous Integration und Delivery – was ist das?

Continuous Integration oder kurz CI sorgt dafür, dass neu entwickelter Code zusammengeführt, getestet und dann in die Gesamtcodebasis eingefügt wird. CI soll die Zusammenarbeit der Entwickler vereinfachen und dabei helfen Fehler frühzeitig zu erkennen.

continous integration

Abbildung 1: So funktioniert Continuous Integration [1]

Mehrere Entwickler arbeiten an neuen Features oder Bug Fixes. Sobald einer von ihnen sein Arbeitspaket fertiggestellt hat, wird der Code committet und genau hier setzt CI dann ein. Sobald der Code gepusht wird, überprüft CI ob der neue Code sich nahtlos in die schon vorhandene Codebasis einfügen lässt. Anschließend startet ein automatischer Build, der dann aufzeigt ob der Code fehlerfrei gebaut werden kann oder ob es fehlschlägt. Schlägt der Build fehl, muss der Entwickler den Bug finden und beheben und den Prozess erneut starten. War der Build fehlerfrei, wird getestet und das entsprechende Ergebnis reportet.

Continuous Delivery oder kurz CD sorgt dafür, dass eine aktuelle Version der Software verfügbar gemacht wird. CD erweitert das CI Vorgehen um den Punkt „Release“ (Continuous Integration + Release = Continuous Delivery). Dabei wird die neue Codebasis auf eine Produktivumgebung implementiert, sodass die neuen Features dort getestet werden können.

Umsetzung mit OpenShift

CI/CD ist einer der beliebtesten Anwendungsfälle für die OpenShift Container Plattform. OpenShift stellt Container für den Bau von Continuous Delivery-Pipelines zur Verfügung. Dies ermöglicht es unter anderem Jenkins, viele Aufträge parallel auszuführen und beseitigt die Wartezeit für die Ausführung von Builds in großen Projekten. OpenShift bietet eine End-to-End-Lösung für den Aufbau kompletter Bereitstellungspipelines und ermöglicht die notwendige Automatisierung, die für die Verwaltung von Code- und Konfigurationsänderungen über die Pipeline erforderlich ist.

Dieses Beispiel zeigt eine CI/CD-Infrastruktur auf OpenShift:

Beispielhafter Aufbau einer CI oder CD-Infrastruktur auf OpenShift

Abbildung 2: Beispielhafter Aufbau einer CI/CD-Infrastruktur auf OpenShift (eigene Darstellung)

Einsatz in der Fahralgorithmen Entwicklung

Wenn ein neues Feature für den Algorithmus entwickelt wird, beispielsweise eine Erkennung von Ampeln, dann wird dieses Feature in einzelne Module aufgeteilt. Dies wird gemacht, da ein solches Feature meist zu groß ist, um es mit nur einem Team zu entwickeln oder es zu zeitintensiv ist, um es in einem Sprint fertigzustellen. Jedes dieser Module wird daher getrennt (pro Team/Sprint) entwickelt und jedes durchläuft einen CI Prozess. Dadurch durchläuft jede Teilentwicklung Unit- und Integrationstests, wodurch die Codequalität jedes Moduls und dadurch auch jedes Features steigt.

CI oder CD Prozess anhand der Entwicklung eines neuen Fahralgorithmen Features

Abbildung 3: CI/CD Prozess anhand der Entwicklung eines neuen Fahralgorithmen Features (eigene Darstellung)

Ein CD erfolgt meist zu einem Sprint Ende oder pro Feature. Zum Sprint Ende werden dann mehrere neu entwickelte Features auf die E2E Umgebung und schlussendlich auf PROD deployed (siehe Abbildung 4). Bei der zweiten Herangehensweise wird ein Feature, sobald es fertig ist, deployed (siehe Abbildung 3).

Continous Delivery bei der Entwicklung autonomer Fahrfunktionen
Abbildung 4: Continous Delivery bei der Entwicklung autonomer Fahrfunktionen (eigene Darstellung)

Fazit: Was bringen CI und CD, auch im Umfeld autonomes Fahren?

Die Umsetzung einer CI und CD bringt einige Vorteile mit sich:

  • Da neue Features und Bug Fixes schneller auf der E2E beziehungsweise auf Produktivumgebung sind, kann früher mit Testfahrzeugen unter realen Bedingungen getestet und das Feedback der Kunden eingeholt werden.
  • Die gesamte Entwicklungs- und Testzeit neuer Features ist schneller, was eine übergreifend schnellere Entwicklung des Fahralgorithmus bedeutet. Das wiederrum kann einen Wettbewerbsvorteil in der Automobilbranche bringen.
  • Bugs werden früher erkannt und können besser identifiziert werden, da man nach jedem Commit weiß ob der Build geklappt hat oder nicht.
  • Daraus folgt eine übergreifend höhere Code- und Softwarequalität, was gerade für autonome Fahrfunktionen besonders wichtig ist.

Hier geht es zu Teil 1 und 3 der Blogserie:

Teil 1: Mit der Cloud vielfältige Fahrszenarien lernen – Wie die Cloud bei großen Datenmengen in der Testausführung von autonomen Fahrzeugen unterstützt

Teil 3: Application Performance Monitoring (APM) von Microservices und FaaS in OpenShift


Quellen:

[1] https://cloud.google.com/solutions/continuous-integration/images/hero-banner.png

https://blog.openshift.com/cicd-with-openshift/

Git Logo: https://git-scm.com/images/logos/2color-lightbg@2x.png

Jenkins Logo: https://miro.medium.com/max/2100/1*LOFbTP2SxXcFpM_qTsUSuw.png

SonarQube Logo: https://www.sonarqube.org/images/logos/sonarqube-dark.png

OpenShift Logo: https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/OpenShift-LogoType.svg/1200px-OpenShift-LogoType.svg.png

Den Nutzen von Big Data auch ohne Big Data Technologien erreichen

Vor allem in mittelständischen Unternehmen gilt Big Data mitunter als eine Art „eierlegende Wollmilchsau“. Die Einschätzung „Heute macht man das halt mit BigData, Spark, SMACK-Stack, Hortonworks, in der Cloud mit AWS“ führt häufig zu sehr komplexen Lösungen mit hohen Anforderungen an die Hardware. Ein Aufwand, der in vielen Fällen aber gar nicht erforderlich wäre oder gar ungeeignete Lösungen bringt. Zumal die Kosten oft den Nutzen deutlich übersteigen. Vor diesem Hintergrund gerieten klassische Technologien wie relationale Datenbanken durch neue Technologien, Produkte und Paradigmen im Big Data Umfeld in den Hintergrund.

Davon ausgehend beleuchten wir nachfolgend klassische Technologien, die in der Literatur im Big Data Umfeld als nicht leistungsfähig eingestuft werden, hinsichtlich Skalierungsmöglichkeiten. Ziel ist es zu validieren, wie zum Beispiel auch mit relationalen Datenbanken der Nutzen von Big Data Instrumenten erreicht werden kann und ob es eindeutige Indikatoren dafür gibt, ab wann man tatsächlich sinnvollerweise auf Big Data Technologien setzen sollte.

Es muss nicht immer Big Data sein

Grundsätzlich gilt: Mit der Einführung von Big Data Technologien muss auch die IT-Infrastruktur angepasst werden, um die Anwendungen auch optimal betreiben zu können.

Eine solche Anpassung an Big Data Technologie ist vor allem dann notwendig, wenn es darum geht, semistrukturierte oder unstrukturierte Daten zu analysieren. Klassische Technologien wie relationale Datenbanken sind hier durch ihre technischen Restriktionen weniger geeignet, denn mit diesen kann nur auf strukturierten Daten direkt gearbeitet werden.

Liegen allerdings bereits strukturierte Daten vor, muss es nicht zwingend eine Big Data Technologie sein. Hier sollte man zunächst anhand des Anwendungsfalls bewerten, ob eine Optimierung der bestehenden Technologie oder eine Anpassung der Fragestellung ausreichend ist. Möglicherweise genügt eine Ja/Nein Entscheidung anstatt der exakten Berechnung mit feingranularer Wahrscheinlichkeitsrechnung.

3-V Model als Indikator für Big Data

Eine eindeutige Einstufung, ab wann Big Data Technologien eingesetzt werden sollten, existiert nicht. Allerdings ist es anhand des sogenannten 3-V-Modells möglich zu erkennen, ob der Einsatz von Big Data Technologien hilfreich wäre.

Die Metriken Datenvolumen, -geschwindigkeit und -vielfalt

(Quelle: https://gi.de/informatiklexikon/big-data/)

Die Metriken Datenvolumen, -geschwindigkeit und -vielfalt charakterisieren die Anforderungen für einen Anwendungsfall. Je nach Ausprägung der drei Eigenschaften lässt sich abschätzen, ob moderne Technologien eingesetzt werden sollten.

Liegen in mehreren Datenbereichen die höchsten beziehungsweise zweithöchsten Anforderungen vor (äußerster und zweiter Ring von außen), ist der Einsatz moderner Technologien bzw. Big Data sinnvoll. Stellen hingegen nur einzelne Anforderungen in einem Bereich hohe Anforderungen (zum Beispiel „besonders schnell, aber kein hohes Datenvolumen“, oder „sehr hohes Datenvolumen per Batchjobs“), muss jeder Anwendungsfall individuell beurteilt werden, ob sich Big Data Technologien anbieten oder ob es bessert ist, klassische Technologien zu optimieren.

Optimierungsmöglichkeiten von klassischen Technologien

Best Practices um Skalierungspotenziale relationaler Datenbanken auszuschöpfen:

  • Grundsätzlich sind die Daten in relationalen Systemen unsortiert, aufgrund dessen kann das Anlegen von Indizes zu schnelleren Zugriffszeiten führen.
  • Das Verlagern von Teilrelationen in den Arbeitsspeicher kann zur schnelleren Verarbeitung der Daten führen, da die Daten nicht mehr zwischen Arbeitsspeicher und Festplattenspeicher übertragen werden.
  • Das Erstellen von Partitionen und Replikationen führt zu parallelen oder einzelnen Zugriffen auf verschiedene Teilrelationen einer Datenbank. Dadurch ist eine parallele Verarbeitung gewährleistet, oder es werden nur relevante Daten einer Relation zur Analyse verwendet.
  • Das Einrichten einer Master-Slave-Architektur orientiert sich am verteilten Datenmanagement, das auch Hadoop verwendet. Dadurch können Datensätze auf unterschiedlichen Servern verteilt und parallele Analysen durchgeführt werden, indem die Last einer Anfrage aufgeteilt wird.
  • Für die „Vorverarbeitung“ der Daten und zur späteren Präsentation der Ergebnisse lassen sich materialisierte Sichten verwenden, um Zeit zu sparen.

 

Fazit:

Big Data Technologien können in vielen Situationen eine Lösung bieten, die ohne diese nicht möglich gewesen wäre. Die Entscheidung zum Einsatz solcher Technologien muss aber gut überlegt sein, denn der Einsatz ist kostspielig und aufwändig. Das 3-V-Modell kann helfen zu entscheiden, ob nicht auch schlankere und damit günstigere Ansätze ebenso zum Ziel führen können.

Co-Autor Bartu Uysal

 

Mehr zu Datenintegration gibt’s hier

It’s #FrontendFriday – Klassen / Modul-Diagramme in Frontend-Projekten

Hallo #FrontendFriday-Leser/in,

heute geht es um Tools, die Klassendiagramme aus Frontend-Projekten (speziell TypeScript, Angular) generieren.

Zu Beginn eines Projekt wird eine Architektur der Anwendung erstellt (die sich im Laufe des Projekts weiterentwickelt). Während des Projekts stellt sich die Frage, ob die geplante Soll-Architektur mit der tatsächlich umgesetzten Architektur übereinstimmt. Hierzu können unter anderem Klassendiagramme helfen, die automatisch aus dem entwickelten Code generiert werden.

Mehr

Oerlikon Hackathon powered by doubleSlash Experten

Am Wochenende des 08.11.2019 bis 10.11.2019 hat doubleSlash eine tolle Veranstaltung als Experten begleiten dürfen: Den ersten Hackathon der Oerlikon Group in toller Atmosphäre des Oerlikon Digital Hub. Neben Workshop Räumen und sogar einem Kino ist das technische Setup exzellent und erleichterte allen Teilnehmern die Arbeit.

Hackathon? Pures Wissen in agiler Lösungskompetenz

Pragmatisch und agil in einem: Ziel ist es, innerhalb der Dauer einer Hackathon Veranstaltung gemeinsam nützliche, kreative oder unterhaltsame IT – oder Software Produkte oder –Anwendungen herzustellen und so Lösungen für bestehende Probleme zu finden.

Ein breiter Mix an talentierten Personen

Die Zielgruppe des Events war ein sehr breiter Mix an talentierten Personen: von Softwareentwicklern über Data Scientists bis hin zu Spezialisten der Industrie. Die rund 80 Teilnehmer setzten sich zusammen aus Studenten, Softwareentwicklern bis hin zu Data Scientists und Oerlikon Mitarbeiter.

Die Challenges waren in 4 Kategorien aufgeteilt: IoT, Computer Vision, Data Science und Waste Reduction – wobei die letzte Kategorie sich wohl auch in die Data Science Aufgaben einsortieren lässt. Unter diesen Kategorien gab es je bis zu zwei Challenges – in Summe 7 Challenges. Für jede Challenge konnten sich nur eine definierte Zahl Teams anmelden, um sicher zu stellen, dass alle Challenges angegangen wurden.

Fünf doubleSlash IoT und KI Experten vor Ort

Auf Anfrage von Oerlikon beschloss doubleSlash das Event als Sponsor in Form von fünf Experten zur Unterstützung der Teilnehmer zu stärken: Vincenzo Crimi, Nico Mutter, Andreas Nuber, Timo Demler und Ralf Richter. Wir gaben Hilfestellung in den Bereichen Consulting, Coding, Architektur, technischer Spezialisierung mit PTC und Microsoft Azure, aber auch im Bereich Organisation und Strukturierung. Unsere Experten standen den Teams zur Seite, indem sie sie berieten und bei der Entwicklung weiterhalfen, ohne dabei Einfluss auf den Lösungsweg zu nehmen.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Gemeinsam mit unserem Partner PTC beschlossen wir bereits zu Beginn des Hackathons, unsere gewohnte enge Zusammenarbeit für den Support an den Teams zu leisten. Neben dem Mentoring für die Teams lieferten wir zwei tolle Workshops in den Bereichen Ideation und Pitch Training. Beide Workshops wurden ein toller Erfolg und leisteten einen wertvollen Beitrag für das Gelingen des Hackathon.

 

 

 

 

 

Fazit

Das Engagement unserer Experten für die Teams war beachtlich und ging über die Grenzen eines normalen Arbeitstages hinaus. Alle Teilnehmerteams schätzten diesen Support  spürbar, auch während der Pitches kam positives Feedback. Wir haben auch in anderen Formaten sehr positive Erfahrungen mit diesem agilen Veranstaltungsformat gemacht und sehen hier den deutlichen Mehrwert: Schwarmintelligenz in agiler Atmosphäre schafft gemeinsam innovative Lösungen zu konkreten Problemen.
Besonders stolz sind wir darauf, dass alle Teams, die von der doubleSlash Hilfe aktiv Gebrauch machten, in die Finals kamen. Besonders freuen wir uns über den Erfolg unseres doubleSlash-Studenten-Teams: Sie haben von 17 Teams einen sehr guten Platz 4 erarbeitet. Wir freuen uns auf kommende Events, die wir als doubleSlash begleiten können oder sogar selbst ausrichten werden.

 


Mehr zur KI und IoT Kompetenz von doubleSlash

Mehr zum Oerlikon Digital Hub

Vendor Lock-In in der Cloud richtig erkennen

Besitzen Sie mehrere Apple-Produkte? Dann können Sie nicht einfach auf ein Samsung Smartphone umsteigen, da Ihnen so die Kompatibilität zu Ihrer Apple Watch verloren ginge. Sie müssten sich zusätzlich noch eine andere Smartwatch zulegen, die mit Ihrem neuen Smartphone kompatibel ist. Selbst wenn Sie gerne also ein Samsung Smartphone hätten, der komplette Umstieg auf eine andere Marke wäre teuer. Hindern Sie die abzusehenden Kosten an einem solchen Umstieg und Sie bleiben deshalb bei Ihrem iPhone, hat Apple Sie „eingelockt“ – man spricht hier auch von „Vendor Lock-In“. Wir zeigen Ihnen was Vendor Lock-In ist und wie Sie es richtig erkennen.

Vendor Lock-In ist die Abhängigkeit eines Anwenders/ Kunden/ Nutzers bezüglich eines oder mehrerer Produkte oder Services von einem bestimmten Hersteller. Diese Abhängigkeit entsteht dadurch, dass ein Wechsel zu einem alternativen Anbieter

  • aufgrund mangelnder Alternativen (z.B. fehlender Funktionen) nicht möglich oder
  • aufgrund zu hoher Transaktionskosten unwirtschaftlich ist.

Das klingt zunächst nach etwas, womit wir uns nur selten befassen müssen. Aber weit gefehlt – Vendor Lock-In kann nicht nur in unserem Alltag auftreten, sondern auch in der Cloud. Wie entsteht ein solcher Vendor Lock-In und wie können Sie ihn erkennen?

Vendor Lock-In der Cloud – was ist das?

Ein Vendor Lock-In in der Cloud entsteht dann, wenn die Kosten für eine Migration höher sind als ihr Nutzen.¹ Haben Sie sich für einen bestimmten Cloud-Anbieter entschieden, kann es verschiedene Gründe geben, dass ein Umstieg zu einem anderen Cloud-Anbieter – sollte dieser gewünscht oder notwendig sein – so teuer ist, dass diese Kosten die Vorteile der Migration überwiegen. Im Rahmen meiner Thesis habe ich ein Vorgehen entwickelt, um einen möglichen Vendor Lock-In in der Cloud frühzeitig erkennen und ihm vorbeugen zu können.

Vendor Lock-In am Beispiel von Serverless-Plattformen

Wie ein Vendor Lock-In in der Cloud entstehen kann, lässt sich sehr gut anhand verschiedener Serverless Plattformen zeigen. AWS Lambda und Google Cloud Functions ermöglichen beispielsweise beide das Erstellen von Functions. Functions sind in ihrer Funktion abgeschlossene Code-Einheiten, die bei Bedarf automatisiert ausgeführt werden. Vergleicht man AWS Lambda² mit Google Cloud Functions³, so fällt zunächst auf, dass nicht unbedingt die gleichen Programmiersprachen und Laufzeitumgebungen verwendet werden können. Von beiden Umgebungen werden Node.js, Python und Go unterstützt, seitens AWS Lambda zudem noch Java, C# und Ruby. Wurden nun Functions für AWS Lambda in Java erstellt, können diese nicht für die Google Cloud übernommen werden, da hier keine Java Functions unterstützt werden.

Weiterhin werden in den verschiedenen Cloud-Plattformen verschiedene proprietäre Bibliotheken verwendet. Eine Bibliothek ist eine vorgefertigte Sammlung von Programmcode, der für bestimmte Aufgaben eingesetzt werden kann. Für die betrachteten Plattformen gibt es zum Beispiel die folgenden Bibliotheken:

  • AWS – aws-lambda-java-core: Diese Bibliothek enthält unter anderem das Lambda-Context-Objekt, über das mit der AWS Lambda-Ausführungsumgebung interagiert wird.4
  • Azure – com.microsoft.azure.functions: Diese Bibliothek enthält unter anderem den ExecutionContext, durch den mit der Azure Functions-Ausführungsumgebung interagiert wird.5

Functions können also nicht immer einfach von einer Cloud in die andere übernommen werden, sondern müssen vorher möglicherweise angepasst oder komplett neu geschrieben werden.

Für ein paar Functions ist dies vielleicht kein großer Aufwand. Denken Sie jedoch daran, dass Ihre Anwendung vermutlich nicht ausschließlich aus Functions besteht. Sie müssen beispielsweise auch folgende Punkte genauer betrachten:

  • Sind Ihre Daten kompatibel mit der Zieldatenbank in der neuen Cloud?
  • Wie viel kostet der Export der Daten?
  • Was muss in der Anwendung angepasst werden, um proprietäre Cloud-Schnittstellen unterstützen zu können?
  • Und sind die benötigten Funktionalitäten überhaupt in der neuen Cloud verfügbar?

 

Vendor Lock-In richtig erkennen

Die Summe all dieser verschiedener Lock-In-Gefahren ist es, die am Ende einen Vendor Lock-In ausmachen können. Aus diesem Grund beschäftigte sich meine Thesis mit der Entwicklung einer Möglichkeit, einen Vendor Lock-In zu erkennen. Damit noch darauf reagiert werden kann, muss dies möglichst vor der Migration in eine Cloud oder vor der Neuentwicklung eines Cloud-Services geschehen.

Wie bereits erwähnt entsteht ein Vendor Lock-In dann, wenn die Kosten für eine Migration ihren Nutzen übersteigen. Es müssen also sowohl die Kosten einer Migration als auch ihr Nutzen identifiziert werden, um einen Vendor Lock-In erkennen zu können.

Da der tatsächliche Nutzen einer Migration erst in der Zukunft deutlich werden würde und somit nicht vorhersehbar ist, muss hierfür eine alternative Zahl herangezogen werden. Deshalb wird der Nutzen betrachtet, der bei der Wahl eines bestimmten (anstatt eines bestimmten anderen) Cloud-Anbieters entsteht. Beispielhaft ist dies hier mit fiktiven Zahlen zu sehen:

 

Berechnung eines Vendor Lock-Ins
Abbildung: Beispiel für die Berechnung eines Vendor Lock-Ins (anhand fiktiver Zahlen)

Im Beispiel fällt die Entscheidung auf die Cloud A. Betrachtet werden die Erstellungskosten, bei denen zunächst gegenüber der Wahl von Cloud B ein Nutzen von 10.000€ entsteht. Durch die günstigeren Nutzungskosten in einem bestimmten Betrachtungszeitraum entsteht hier außerdem ein Nutzen von zusätzlich 5.000€. Der Nutzen im Betrachtungszeitraum insgesamt liegt also bei 15.000€. Diesem muss man jedoch die zu erwartenden Migrationskosten gegenüberstellen, im Beispiel 30.000€. Da der Nutzen dann negativ wird, entstünde hier ein Vendor Lock-In.

 

Fazit:

Letztendlich besteht jedoch auch hier das Problem, dass sich in der Zukunft die Nutzungskosten und die zu erwartenden Migrationskosten verändern können. Entweder wird so eventuell ein Vendor Lock-In vorausgesagt, der dann doch nicht entsteht, oder ein Vendor Lock-In tritt wider Erwarten doch auf. Es kann also keine genaue, durch Zahlen belegte Aussage getroffen werden, ob bei einem Cloud-Anbieter mit Sicherheit ein Vendor Lock-In auftreten wird.

Trotzdem können die identifizierten Migrationskosten zumindest als Einschätzung herangezogen werden, an welchen Stellen in einer Cloud-Anwendung ein Vendor Lock-In entstehen könnte. In Verbindung mit Expertenwissen kann so eingeschätzt werden, ob einem möglichen Lock-In entgegengewirkt werden sollte und welche Maßnahmen hierzu herangezogen werden können.

 

Welche FaaS-Plattform ist für Ihren Anwendungsfall die geeignete?

 


Quellen:

1 angelehnt an: Justice Opara-Martins, Reza Sahandi und Feng Tian. „A Holistic Decision Framework to Avoid Vendor Lock-in for Cloud SaaS Migration. In: Computer and Information Science 10 (Juli 2017), S. 29. issn: 1913-8989. doi: 10.5539/cis.v10n3p29. (S.30)

2 https://docs.aws.amazon.com/de_de/lambda/latest/dg/lambda-runtimes.html

3 https://cloud.google.com/functions/docs/writing

4 https://docs.aws.amazon.com/de_de/lambda/latest/dg/java-programming-model.html

5 https://docs.microsoft.com/en-us/java/api/com.microsoft.azure.functions.executioncontext?view=azure-java-stable