Är Big Data system värda pengarna?

En myt man fortfarande kan höra är att endast storföretag har råd med Big Data drivna lösningar, avsedda för storskaliga volymer av data, samt att dess lösningar kostar alldeles för mycket! Den myten tillhör, på grund av några revolutionerande tekniska genombrott, det förflutna.

Tekniken har mognat

Den första revolutionen består av mognad och kvalité. Det är ingen hemlighet att metoder för att hantera stora datamängder krävde mycket arbete och stora ansträngningar för att fungera.

Är Big Data system värda pengarna? 1
Bild 1. Typiska mognadsfaser för framväxande teknologier.

Det fanns många berättelser som handlade om utvecklare som ägnade 80 procent av tiden till att försöka övervinna löjliga tekniska fel med hjälp av Spark, Hadoop, Kafka och andra metoder. Idag är dessa metoder/tekniker pålitliga och barnsjukdomarna övervunna.

Sannolikheten för fel och avbrott i infrastrukturen är betydligt större än sannolikheten för att hitta interna fel. Och även om det skulle uppstå mindre problem med infrastrukturen så är de flesta Big Data närverk konfigurerade för att hantera dess problem. Dessutom medför dessa teknologier stabila, kraftfulla och enkla abstraktioner för kalkylering, och tillåter utvecklarna att fokusera på affärs-sidan av utvecklingen.

Nya valmöjligheter av Big data System

Den andra revolutionen händer nu –en uppsjö av öppna och skyddade programvaror har uppfunnits under de sista åren- Apache, Pino, Delta, Lake , Hudi, Presto, Clickhouse, snowflake, Upsolver, Serverless med flera. Kreativ energi och ideér från tusentals utvecklare har omvandlats till djärva och enastående lösningar med som skapar stora synergieffekter

Big Data
Bild 2. Big Data teknologi stacks

Låt oss titta på en typisk analytisk dataplattform (ADP), Den består av fyra lager:

  • Användargränssnitt med visualiseringar – framsidan som visar analytiska summeringar av data.
  • Data behandling – data pipelines som konfirmerar, berikar och omvandlar data från en form till en annan.
  • Data Warehouse –  en sammanställning av information från flera källor, utförd på ett sådant sätt att det underlättar en avancerad analys av informationen.
  • Data Lake – en plats där all rå ingångsdata lagras, en bas för Data Warehouse.

Varje lager har tillräckligt med alternativ för varje behov och krav. Hälften av dessa teknologier skapades inom de sista fem åren.

Det viktiga med dessa teknologier är att dom är utvecklade för att kunna samverka med varandra. Exempelvis kan en typisk billig liten ADP bestå av Apache Spark, som processar komponenter. AWS S3 eller liknande kan fungera som Data Lake, Clickhouse som Data Warehouse och OLAP för frågor med låg latens och Granfana för ett snyggt andvändargränssnitt. (Se figur 3).

Är Big Data system värda pengarna? 2
Bild 3. Typisk låg kostnads Analytical Data Platform (mindre modell).

 

Mer komplexa ADP:er med större säkerhet kan skapas på andra sätt. Exempelvis kan Apache Hudi med S3 som Data Warehouse möjliggöra en mycket större uppskalning, medans Clickhouse kvarstår för  låg latens tillgång till aggregerad data. (Se fig 4).

Är Big Data system värda pengarna? 3
Bild 4. Mer storskalig ADP med större säkerhet.

Kostnadseffektivitet

Den tredje revolutionen utgörs av molntjänster, som har ändrat spelplanen. Dom hanterar Big Data i färdiga plattformar  (Big Data as a Service) som kan användas av utvecklare för att skapa olika funktioner och strukturer etc, medans molntjänsten hanterar infrakstrukturen bakom lösningen.

Bild 5 visar ett annat exempel på en ADP som levererar den sammanlagda styrkan i serverlösa teknologier från lagring, databehandling, till presentationsgränssnittet.

Den har samma ideér i designen samtidigt som teknologierna ersätts av AWS hanterade tjänster (AWS managed services).

Är Big Data system värda pengarna? 4
Bild 5. Typisk lågkostnads serverlös ADP.

Notera att AWS här endast är ett exempel på en av många lösningar där samma ADP kan byggas med olika montjänster som grund.

Utvecklaren har möjlighet att välja särskilda teknologier och graden av serverlöshet. Ju mer serverlöst, desto mer variationsmöjligheter får utvecklaren. Samtidigt kan dock lösningen bli mer låst till en viss leverantör, vilket kan vara en nackdel. Lösningar anpassade till en speciell moln leverantör och serverlös stack kan snabbt försvinna från marknaden. Ett balanserat val mellan serverlösa teknologier gör lösningen mer kostnadseffektiv på lång sikt.

Denna möjlighet är dock inte bra för startups, då dom brukar använda 100.000 cloud credits, och det är ganska vanligt att dom växlar mellan AWS, GCP och Azure. Detta faktum måste man ta hänsyn till från början, och flera moln-oberoende teknologier bör användas.

Data-Ingenjörer brukar vanligtvis skilja mellan följande kostnadstyper:

  • Utvecklingskostnader
  • Underhållskostnader
  • Kostnad för ändringar

Vi tittar närmar på dom.

Utvecklingskostnader

Molntjänster förenklar definitivt dataingenjörens arbete. Det har en positiv inverkan i många zoner.

Den första gäller arkitektur och design beslut. Serverlösa stackar medför ett stort utbud av mönster och återanvändbara komponenter, som ger en solid och pålitlig grund för lösnings arkitektur.

Det finns bara en sak som kan försena design stadiet, Big data teknologier är oftast distribuerade via kluster så Big data lösningar bör vara utformade för att kunna hantera möjliga avbrott och störningar för att säkerställa kontinuerlig data tillgänglighet.

Den andra saken är integration och end to end testing. Serverlösa stackar tillåter användande av isolerade sandboxar, för att simulera, testa och fixa problem. På detta sätt kan man minska utvecklingstiden. Ena annan fördel är att molntjänsterna medför en automatisering av lösningens driftsättning. Denna funktion är naturligtvis ett viktigt attribut för alla framgångsrika utvecklingsteam.

Underhållskostnader

En av de viktigaste problemen som molntjänstleverantörer påstår sig lösa, är att minska arbetet med att övervaka och upprätthålla en fungerande produktionsmiljö. Dom försökte bygga en sorts ideal abstraktion med nästan inget användande av Devops.

Verkligheten är dock lite annorlunda. Med all respekt för deras vision, så kräver underhållsarbete fortfarande

vissa ansträngningar. Tabellen nedan visar dom mest vanliga typerna av underhållsarbete.

 

Ansträngningar Frekvens Påverkan
Minska mjukvaru-buggar Beror på på den aktuella molntjänsten, vanligtvis låg. De flesta typiska problem sammanhänger med data avbrott.

Exempel: Ett garnkluster hänger upp sig och accepterar inte några nya uppdrag.

Typisk lösning: Allokera genast den aktuella applikationen till ett annat klonat kluster, när felet är hanterat, kontakta supporten.

Minska infrastruktur avbrott Låg De flesta typiska problemet är relaterade till olyckor i datahanteringen och avbrott i tillgänglighet.  Dessa problem är vanligen återhämtningsbara och hanteras inom gränsen för gällande SLA.

Exempel: Lagrade Objekt avvisar alla försök till avläsning.

Typisk Lösning: Applikationen gör mångfaldiga försök att upprepa operationen utan något avbrott, tills som en säkerhetsåtgärd applikationen slutar processa operationen till dess att felet är avhjälpt av molnleverantören.

Regelbundna underhålls aktiviteter som skalning, uppgradering etc Låg –Hög. Beror på ingenjörsteamet. Molnleverantörer hanterar vanligtvis viktiga saker som säkerhetsuppdateringar, samtidigt som regelbundna uppdateringar är ingenjörernas uppgift. Påverkan blir dramatiskt reducerad om ingenjörsteamet i förväg förbereder för att utnyttja Infrastruktur som Kod (IAC) verktyg, automatiserar distributionen, samt möjliggör autoskalning.

 

Men bortsett från det så beror kostnaden mycket på infrastrukturen och licenskostnader. Designfasen är extremt viktig då den ger möjlighet att utmana olika teknologier och uppskatta körtids kostnaden i förväg.

Förändringskostnader

En annan viktig egenskap hos Big data lösningar som påverkar kunderna är förändringskostnaden. Erfarenheten visar att det är ingen skilllnad mellan Big Data och andra teknologier. Om lösningen ej är överarbetad ur ingenjörssynpunkt, så är förändringskostnaden fullt jämförbar med en data stack som ej använder Big Data. Big Data medför dock en fördel. Big Data lösningar är oftast designade frånkopplade. Korrekt designade Big Data lösningar är ej designade som en monolit, och tillåter därför att man under en kort period tillämpar lokala lösningar där det behövs, med mindre möjlighet att riskera hela produktionen.

Slutsatser

Big Data lösningar är ekonomiska att använda. Det medför nya design mönster och möjligheter för utvecklare, som kan använda tekniken för att sätta ihop olika data plattformar som lever upp till de största affärskraven och samtidigt är kostnadseffektiva.

Big Data drivna lösningar kan utgöra en stark grund för snabb växande startups som vill vara flexibla, använda snabba förändringar och uppnå en snabb TTM (Time To Market). När affärsverksamheten kräver större volymer  av data, kan Big Data lösningar växa parallellt med affärsverksamheten.

Big Data teknologier möjliggör implementeringen av nära realtids analys i liten eller stor skala, samtidigt som klassiska lösningar har problem med prestandan.

Molnleverantörer har tagit Big Data till nästa nivå, genom att tillhandahålla kapacitet som är pålitlig, skalbar, och färdig att använda direkt. Det har aldrig varit lättare att utveckla kostnadseffektiva ADP:s  med snabb leverans. Öka din affärspotential med Big Data.

 

Om Författaren

Är Big Data system värda pengarna? 5

Boris Trofimov, en mjukvaruarkitekt med 15 års erfarenhet inom mjukvaruutveckling, systemarkitektur, teamledning, och utbildning. Genom åren ha han framgångsrikt deltagit i ett stort antal projekt där han format Big Data arkitektur för företag inom olika sektorer. I hans portfölj finns allt från skapande av kostnadseffektiva Big Data lösningar för innovativa startups – samt leverans av dess lösningar inom endast 2 veckor – till design av en dataannons plattform för ägaren av den största annons och videoplattformen med miljontals användare och miljardtals sedda videos. Plattformen, utvecklad av ett team från Sigma Software, kunde behandla 120 TB data varje dag med 2,5 M events processade per sekund.