DER HEILIGE GRAL DER WEBSKALA - TECHCRUNCH - SOZIALEN MEDIEN - 2018

Anonim

Salil Deshpande Mitwirkender

Salil Deshpande ist Geschäftsführer von Bain Capital Ventures. Er konzentriert sich auf Infrastruktursoftware und Open Source.

Mehr Beiträge dieses Mitarbeiters

  • Lassen Sie uns "container-native" definieren
  • Der Heilige Gral der Webskala

Mit Kunden, die den Zugriff auf Waren und Dienstleistungen verlangen, wo und wann sie wollen, und Servern, die mit Anfragen, Nebenläufigkeit und Erwartungen an Reaktionsfähigkeit überschwemmt sind, konzentrieren sich Organisationen aller Art auf den Aufbau von "Web-Scale" -Systemen.

Ursprünglich von Firmen wie Facebook und Google entwickelt, weil ihre Größe es verlangte, ist Web-Scale-Technologie zum Mantra für Unternehmen aller Größen geworden. Eine Web-Scale-Architektur liefert Systeme, die die Flexibilität, Skalierbarkeit und Leistung bieten, die Unternehmen benötigen, um Kunden heute zufrieden zu stellen.

Im gesamten Technologie-Stack hat sich die Datenbank jedoch als die schwierigste Schicht erwiesen, die im Web-Maßstab erstellt werden kann.

Diese Herausforderung ist zum Teil nicht nur auf die technische Komplexität zurückzuführen, sondern auch auf die Natur der Datenbanken selbst - die Notwendigkeit der Datenkonsistenz und Erhaltung der ACID-Eigenschaften (Atomarität, Konsistenz, Isolation und Dauerhaftigkeit), selbst wenn Daten auf mehreren Servern repliziert werden. möglicherweise in verschiedenen Datenzentren. Daher sind Datenbanken, insbesondere relationale Datenbanken, die Achillesferse von Web-Scale-Technologie-Stacks geblieben. Die Datenbank wirkt sich auf die Anwendung aus - und die Anwendung ist die Erfahrung des Kunden mit Ihren Onlinediensten.

In meinem 10-jährigen Venture hatte ich das Glück, diese Achillesferse zu nutzen, indem ich in Technologien neben und in der Umgebung investierte: SpringSource (Anwendungsserver), MuleSoft (Enterprise Service-Busse), DataStax (die Cassandra NoSQL-Datenbank) ), Redis Labs (die Redis NoSQL-Datenbank), Hazelcast (In-Memory-Computing-Fabric), Akka (Microservices-Plattform für Java und Scala), Iron.io (AWS Lambda-artige Microservices-Architektur) und andere. All dies entweder direkt oder indirekt lindert den Schmerz, der durch die Achillesferse der Datenbank verursacht wird, ohne den Schmerz selbst zu behandeln.

Jene Googles und Facebooks, die zuerst die Web-Scale-Technologie entwickelten, lösten die traditionelle (relationale) Datenbankherausforderung, indem sie eine Abstraktionsebene bildeten. Sie bauten einige von ihnen als "Datenzugriffsschicht" auf, die sich zwischen den Anwendungs- und Datenbankebenen befindet.

Wenn es um die Verfügbarkeit geht, ist die Datenbank oft das schwächste Glied eines Systems.

Diese Abstraktionsschicht verbessert die Betriebszeit und Leistung, auch wenn sie einen "Bump in the Wire" hinzufügt, da sie das 1: 1-Band zwischen Anwendungen und Datenbanken durchbricht. Diese Trennung und diese diskrete Technologieebene gehören nun zur Best-Practice-Liste für die Skalierung von Systemen und Anwendungen, da sie die App-Entwicklung vereinfacht und webbasierte Vorteile für die Datenbank bietet: verbesserte Ausfallsicherheit, Skalierbarkeit und Leistung.

Eine Abstraktionsschicht für die Datenbank fügt sich nahtlos in den Trend anderer Technologien ein, die "abstrahiert" oder "virtualisiert" wurden. Servervirtualisierung, softwaredefinierte Netzwerke und Web-Load Balancer auf der Web-Ebene bieten ähnliche Vorteile beim 1: 1-Breakout Bindung und Bereitstellung von webbasierten Vorteilen für die Verfügbarkeit und Leistung.

Auf der Ebene der Datenbank bietet die Abstraktionsschicht wichtige Vorteile, die einige der Unzulänglichkeiten der Datenbank überwinden. Diese Art von Datenbank-Load-Balancing-Software ermöglicht beispielsweise transparentes Failover, Scale-out und einen schnelleren Durchsatz.

Diese "transparente" Eigenschaft ist entscheidend - all diese Fähigkeiten ohne Änderungen an der Anwendung oder der Datenbank zu erlangen, ist der Heilige Gral.

Als die "Datenzugriffsschicht" -Abstraktion von den frühen Internetfirmen entdeckt wurde, mussten Entwickler ihre Anwendungen so ändern, dass sie auf die Besonderheiten der Abstraktionsschicht und nicht auf die Datenbank codiert wurden. Aber ein transparenter Proxy auf Netzwerkebene, der die Anwendung und die Datenbank vermittelt, erfordert keine solche Umcodierung und Re-Architectur, weshalb es wirklich der Heilige Gral ist.

Hier bei Bain Capital Ventures Infrastruktur-Software-Praxis - wo wir mehr als die Hälfte unseres Risikokapitals einsetzen - sehen wir den Drang zur Abstraktion auf der Datenbankebene an vielen Fronten:

  • alternative Datenbanken
  • Datenbankanbieter erstellen Proxys
  • Web Load Balancer Unternehmen erstellen SQL-Versionen ihrer Produkte und
  • Startups, die speziell entwickelte Systeme erstellen

Sie alle erkennen den Wert des Abstraktionsansatzes. Die ersten Unternehmen im Web-Maßstab haben das richtig gemacht, und diese Best Practices helfen den anderen 99 Prozent der Organisationen - all jenen, die nicht Hunderte von Ingenieuren und Millionen von Dollar haben, um ihre eigene Abstraktionsebene aufzubauen.

Vor vier Jahren haben wir in ScaleBase investiert, eine Startup-Building-Datenbank zur Erstellung von Datenbankabstraktionen. Diese Technologie-Assets sind jetzt im Besitz von ScaleArc (wir haben kürzlich ScaleArcs jüngste Finanzierungsrunde angeführt). Diese Technologie adressiert die Datenbank Achillesferse.

Gartner hat kürzlich diesen Trend zur Abstraktionsarchitektur hervorgehoben. Das Marktforschungsunternehmen fügte seinem neuesten IT Service Continuity Hype-Zyklus "SQL Load Balancing" hinzu. In diesem Bericht empfiehlt Gartner IT-Shops, nach Software zu suchen, die

  • unterstützt mehrere Datenbanken
  • läuft gleichermaßen gut in der Cloud und vor Ort
  • gefährdet die Sicherheit nicht

Wenn es um die Betriebszeit geht, ist die Datenbank oft das schwächste Glied eines Systems - weil es der schwierigste Teil des Technologie-Stacks ist, der im Web-Maßstab erstellt werden kann. Wir können nicht alle Facebooks und Googles sein und lösen diese Herausforderung mit unserem eigenen internen Entwicklerteam. Stattdessen bietet die Datenbankabstraktions-Software Organisationen die Web-Skalierungsfähigkeiten - Belastbarkeit, Skalierung und Leistung -, die sie benötigen.