ŚWIĘTY GRAAL SKALI INTERNETOWEJ - TECHCRUNCH - MEDIA SPOŁECZNOŚCIOWE - 2019

Anonim

Salil Deshpande Współpracownik

Salil Deshpande jest dyrektorem zarządzającym Bain Capital Ventures. Koncentruje się na oprogramowaniu infrastrukturalnym i oprogramowaniu open source.

Więcej postów tego autora

  • Zdefiniujmy "native-kontenerowy"
  • Święty Graal Skali Internetowej

Klienci wymagający dostępu do towarów i usług, gdzie chcą i kiedy chcą, a serwery zalewane żądaniami, współbieżnością i oczekiwaniami w zakresie reagowania, organizacje wszystkich typów koncentrują się na budowaniu systemów "web-scale".

Początkowo budowane przez firmy takie jak Facebook i Google, ponieważ wymagały tego same rozmiary, technologia internetowa stała się mantrą dla firm każdej wielkości. Architektura w skali internetowej zapewnia systemy zdolne do zapewnienia odporności, skali i wydajności, które są potrzebne przedsiębiorstwom do zadowolenia klientów.

Ale w stosie technologii baza danych stała się najtrudniejszą warstwą do zbudowania w skali internetowej.

Wyzwanie to jest częściowo spowodowane nie tylko złożonością techniczną, ale także samą naturą samych baz danych - potrzebą spójności danych i zachowania właściwości ACID (atomowość, spójność, izolacja i trwałość), nawet gdy dane są replikowane na wielu serwerach, ewentualnie w różnych centrach danych. Zatem bazy danych, szczególnie relacyjne bazy danych, pozostały piętami achillesowymi stosów technologii na skalę internetową. Baza danych wpływa na aplikację - a aplikacja jest doświadczeniem klienta w zakresie usług online.

W ciągu 10 lat mojej działalności miałem szczęście wykorzystać tę piętę Achillesa, inwestując w technologie sąsiadujące z nią i wokół niej: SpringSource (serwery aplikacji), MuleSoft (korporacyjne magistrale usług), DataStax (baza danych Cassandra NoSQL ), Redis Labs (baza danych Redis NoSQL), Hazelcast (in-memory computing fabric), Akka (platforma mikroserwisowa dla Java i Scala), Iron.io (architektura AWS w stylu Lambda) i inne. Wszystkie te czynniki bezpośrednio lub pośrednio łagodzą ból spowodowany przez piętę bazy danych Achillesa, nie odnosząc się do samego bólu.

Te Googles i Facebooki, którzy jako pierwsi zbudowali technologię na skalę internetową, rozwiązali tradycyjne (relacyjne) wyzwanie dotyczące bazy danych, tworząc warstwę abstrakcji. Zbudowali to, co niektórzy z nich nazywali "warstwą dostępu do danych", która mieści się między warstwami aplikacji i baz danych.

Jeśli chodzi o czas pracy, baza danych jest często najsłabszym ogniwem systemu.

Ta warstwa abstrakcji, mimo że dodaje "nierówności w drucie", poprawia czas pracy i wydajność, ponieważ przerywa remis 1: 1, który historycznie istniał pomiędzy aplikacjami i bazami danych. Ta separacja i ta dyskretna warstwa technologii znajduje się obecnie na liście najlepszych praktyk dotyczących skalowania systemów i aplikacji, ponieważ upraszcza tworzenie aplikacji i zapewnia korzyści w skali internetowej dla bazy danych: zwiększoną odporność, skalowanie i wydajność.

Warstwa abstrakcji dla bazy danych pasuje do trendu innych technologii, które zostały "wyabstrahowane" lub "zwirtualizowane". Wirtualizacja serwerów, sieci zdefiniowane programowo i równoważniki obciążenia sieci w warstwie internetowej zapewniają podobne korzyści przy rozbijaniu 1: 1 wiązać i dostarczać korzyści w skali internetowej w czasie sprawności i wydajności.

W warstwie bazy danych warstwa abstrakcji zapewnia kluczowe korzyści, które pozwalają przezwyciężyć niektóre niedociągnięcia w bazie danych. Tego rodzaju oprogramowanie do równoważenia obciążenia bazy danych, na przykład, przezroczyście umożliwia przełączanie awaryjne, skalowanie i szybszą przepustowość.

Ta "przejrzysta" cecha ma kluczowe znaczenie - uzyskanie wszystkich tych zdolności bez zmian w aplikacji lub bazie danych jest świętym Graalem.

Kiedy abstrakcyjna warstwa "warstwy dostępu do danych" została po raz pierwszy odkryta przez wczesne firmy internetowe, programiści musieli zmienić swoje aplikacje tak, aby były kodowane do specyfiki warstwy abstrakcji, a nie do bazy danych. Ale przejrzysty pośrednik na poziomie sieci, który pośredniczy w aplikacji i bazie danych, nie wymaga takiego ponownego kodowania i ponownej architektury, dlatego jest naprawdę świętym Graalem.

Tutaj, w praktyce oprogramowania infrastruktury Bain Capital Ventures - w której rozmieszczamy ponad połowę naszego kapitału wysokiego ryzyka - widzimy dążenie do abstrakcji na poziomie bazy danych na wielu frontach:

  • alternatywne bazy danych
  • dostawcy baz danych tworzący serwery proxy
  • firmy zajmujące się równoważeniem obciążenia sieci, tworzące wersje SQL swoich produktów i
  • startupy tworzące systemy celowe

Wszyscy oni rozpoznają wartość podejścia abstrakcyjnego. Pierwsze firmy internetowe mają to prawo, a te najlepsze praktyki pomagają innym 99 procentom organizacji - wszystkim, które nie mają setek inżynierów i milionów dolarów na zbudowanie własnej warstwy abstrakcji.

Cztery lata temu zainwestowaliśmy w ScaleBase, oprogramowanie do abstrakcyjnego tworzenia baz danych dla budowania startupów. Te zasoby technologiczne należą teraz do ScaleArc (ostatnio prowadziliśmy ostatnią rundę finansowania ScaleArc). Technologia ta adresuje piętę bazy danych Achillesa.

Gartner podkreślił ostatnio ten trend w kierunku architektury abstrakcji. Firma badawcza dodała "równoważenie obciążenia SQL" do swojego najnowszego cyklu szumu IT Service Continuity. W tym raporcie Gartner zaleca sklepom IT poszukiwanie oprogramowania, które:

  • obsługuje wiele baz danych
  • działa równie dobrze w chmurze i lokalnie
  • nie zagraża bezpieczeństwu

Jeśli chodzi o czas pracy, baza danych jest często najsłabszym ogniwem systemu - ponieważ jest najtrudniejszą częścią stosu technologii do budowy w skali internetowej. Nie wszyscy możemy być Facebookami i Google'ami, rozwiązując to wyzwanie z naszym wewnętrznym zespołem inżynierów. Zamiast tego oprogramowanie do pozyskiwania baz danych udostępnia organizacjom internetowe funkcje - elastyczność, skalowalność i wydajność - których potrzebują.