Det här inlägget är skrivet tillsammans med Girish Kumar Chidananda från redBus.
redBus är en av de tidigaste användare av AWS i Indien, och de flesta av dess tjänster och applikationer finns på AWS Cloud. AWS gav redBus flexibiliteten att skala sin infrastruktur snabbt och samtidigt hålla kostnaderna extremt låga. AWS har en omfattande svit av tjänster för att tillgodose de flesta av deras behov, inklusive tillhandahållande av kundsupport som redBus kan garantera.
I det här inlägget delar vi redBus dataplattformsarkitektur, och hur olika komponenter kopplas ihop för att bilda sin datamotorväg. Vi diskuterar också de utmaningar som redBus ställdes inför när det gällde att bygga instrumentpaneler för deras användningsfall för realtid business intelligence (BI) och hur de använde Amazon QuickSight, en snabb, lättanvänd, molndriven affärsanalystjänst som gör det enkelt för alla anställda inom redBus att bygga visualiseringar och utföra ad hoc-analyser för att få affärsinsikter från sina data, när som helst och på vilken enhet som helst.
Om redBus
redBus är världens största online-bussbiljettplattform byggd i Indien och betjänar mer än 36 miljoner nöjda kunder runt om i världen. Tillsammans med sin bussbiljettvertikal driver redBus också en tågbiljetttjänst som kallas redRails och en buss- och biluthyrningstjänst som kallas rYde. Det är en del av GO-MMT-gruppen, som är Indiens ledande onlinereseföretag, med en omfattande varumärkesportfölj som inkluderar andra framstående onlineresemärken som MakeMyTrip och Goibibo.
redBuss datamotorväg 1.0
redBus är starkt beroende av att fatta datadrivna beslut på alla nivåer, från spårning av resenärers resor, prognostisering av efterfrågan under hög trafik, identifiera och åtgärda flaskhalsar i deras bussoperatörers registreringsprocess och mer. I takt med att redBus verksamhet började växa i form av antalet städer och länder de verkade i och antalet bussoperatörer och resenärer som använde tjänsten i varje stad, ökade också mängden inkommande data. Behovet av att komma åt och analysera data på ett ställe krävde att de byggde sin egen dataplattform, som visas i följande diagram.
I de följande avsnitten tittar vi närmare på varje komponent.
Dataintagskällor
Med dataplattformen 1.0 tas data in från olika källor:
- Realtid – Realtidsdata flödar från redBus mobilappar, backend-mikrotjänsterna och när en passagerare, bussoperatör eller applikation gör någonting som att boka bussbiljetter, söka i bussinventeringen, ladda upp ett KYC-dokument och mer
- Batch-läge – Schemalagda jobb hämtar data från flera beständiga datalager som Amazon Relational Databas Service (Amazon RDS), där OLTP-data från alla dess applikationer lagras, Apache Cassandra-kluster, där bussinventeringen från olika operatörer lagras, Arango DB, där användaridentitetsgraferna lagras, med mera
Datakatalogisering
Realtidsdatan matas in i deras självhanterade Apache Nifi-kluster, en dataplattform med öppen källkod som används för att rensa, analysera och katalogisera data med dess routingfunktioner innan data skickas till sin destination.
Lagring och analys
redBus använder följande tjänster för sina lagrings- och analysbehov:
- Amazon enkel lagringstjänst (Amazon S3), en objektlagringstjänst som utgör grunden för deras datasjö på grund av dess praktiskt taget obegränsade skalbarhet och högre hållbarhet. Realtidsdataflöden från Apache Druid och data från datalagren flödar med jämna mellanrum baserat på scheman.
- Apache Druid, ett datalager i OLAP-stil (dataflöden via Kafka Druid-dataladdaren), som beräknar fakta och mätvärden mot olika dimensioner under dataladdningsprocessen.
- Amazon RedShift, en molndatalagertjänst som hjälper dig att analysera exabyte av data och köra komplexa analytiska frågor. redBus använder Amazon Redshift för att lagra bearbetad data från Amazon S3 och aggregerad data från Apache Druid.
Fråga och visualisering
För att göra redBus så datadrivet som möjligt såg de till att data är tillgänglig för deras SRE-ingenjörer, dataingenjörer och affärsanalytiker via ett visualiseringslager. Det här lagret innehåller instrumentpaneler som serveras med Apache SuperSet, ett datavisualiseringsprogram med öppen källkod, och Amazonas Athena, en interaktiv frågetjänst för att analysera data i Amazon S3 med standard SQL för ad hoc-frågekrav.
Utmaningarna
Inledningsvis hanterade redBus data som intogs med en hastighet av 10 miljoner händelser per dag. Med tiden, när verksamheten började växa, ökade också datavolymen (från gigabyte till terabyte till petabyte), dataintag per dag (från 10 miljoner till 320 miljoner händelser) och dess behov av business intelligence-instrumentpanel. Strax efter började de möta utmaningar med sin självstyrda Supersets BI-kapacitet och den ökade operativa komplexiteten.
Begränsad BI-kapacitet
redBus stötte på följande BI-begränsningar:
- Oförmåga att skapa visualiseringar från flera datakällor – Superset tillåter inte att skapa visualiseringar från flera tabeller inom dess datautforskningslager. redBus dataingenjörer var tvungna att ha tabellerna sammanfogade i förväg på själva datakällans nivå. För att skapa en 360-gradersvy för redBus affärsintressenter blev det obekvämt för dataingenjörer att underhålla flera tabeller som stöder visualiseringslagret.
- Inget globalt filter för bilder i en instrumentpanel – Ett globalt eller primärt filter över bilder i en instrumentpanel stöds inte i Superset. Tänk till exempel på att det finns bilder som Sales Wins by Region, YTD Revenue Realized by Region, Sales Pipeline by Region, och mer i en instrumentpanel, och en filterregion läggs till i instrumentpanelen med värden som EMEA, APAC och US. Filterregionen kommer bara att gälla för en av bilderna, inte hela instrumentpanelen. Men instrumentpanelanvändare förväntade sig filtrering över hela instrumentpanelen.
- Inte ett affärsanvändarvänligt verktyg – Superset är mycket utvecklarcentrerat när det kommer till anpassning. Till exempel, om en redBus affärsanalytiker var tvungen att anpassa en tidsinställd uppdatering som automatiskt efterfrågar varje segment på en instrumentbräda enligt ett förinställt värde, måste analytikern uppdatera instrumentbrädans JSON-metadatafält. Därför är det obligatoriskt att ha kunskap om JSON och dess syntax för att göra någon anpassning på grafiken eller instrumentpanelen.
Ökade driftskostnader
Även om Superset är öppen källkod, vilket innebär att det inte finns några licenskostnader, betyder det också att det är mer ansträngning att underhålla alla komponenter som krävs för att det ska fungera som ett företagsklassat BI-verktyg. redBus har distribuerat och underhållit en webbserver (Nginx) frontad av en Application Load Balancer att göra lastbalanseringen; en metadatadatabasserver (MySQL) där Superset lagrar sin interna information som användare, segment och instrumentpanelsdefinitioner; en asynkron uppgiftskö (Sellery) för att stödja långvariga frågor; en meddelandemäklare (RabbitMQ); och en distribuerad cachningsserver (Redis) för att cachelagra resultaten, kartlägga data och mer Amazon Elastic Compute Cloud (Amazon EC2) instanser. Följande diagram illustrerar denna arkitektur.
redBus DevOps-team var tvungna att göra det tunga lyftet med att tillhandahålla infrastrukturen, ta säkerhetskopior, skala komponenterna manuellt efter behov, uppgradera komponenterna individuellt och mer. Det krävde också en Python webbutvecklare för att göra konfigurationsändringarna så att alla komponenter fungerar sömlöst tillsammans. Alla dessa manuella operationer ökade den totala ägandekostnaden för redBus.
Resa mot QuickSight
redBus började utforska BI-lösningar främst kring ett par av dess krav på instrumentpaneler:
- BI-dashboards för affärsintressenter och analytiker, där data hämtas via Amazon S3 och Amazon Redshift.
- En instrumentpanel för övervakning av applikationsprestanda (APM) i realtid för att hjälpa deras SRE-ingenjörer och utvecklare att identifiera grundorsaken till ett problem i deras distribution av mikrotjänster så att de kan åtgärda problemen innan de påverkar kundens upplevelse. I det här fallet hämtas data via Druid.
QuickSight passade in i de flesta av redBus BI-instrumentpanelskrav, och på nolltid började deras dataplattformsteam med ett proof of concept (POC) för ett par av deras komplexa instrumentpaneler. I slutet av POC, som sträckte sig över en månad, delade teamet med sig av sina resultat.
För det första är QuickSight rikt på BI-funktioner, inklusive följande:
- Det är en BI-lösning med självbetjäning med dra-och-släpp-funktioner som kan hjälpa redBus-analytiker att bekvämt använda den utan några kodningsansträngningar.
- Visualiseringar från flera datakällor i en enda instrumentpanel kan hjälpa redBus affärsintressenter att få en 360-graders bild av försäljning, prognoser och insikter i en enda glasruta.
- Kaskadfilter över bilder och över ark i en instrumentpanel är välbehövliga funktioner för redBus BI-krav.
- QuickSight erbjuder Excel-liknande bilder – tabeller med beräkningar, pivottabeller med cellgruppering och stil är attraktiva för tittarna.
- Den supersnabba, parallella, in-memory Calculation Engine (SPICE) i QuickSight kan hjälpa redBus skala till hundratusentals användare, som alla samtidigt kan utföra snabb interaktiv analys över en mängd olika AWS-datakällor.
- Off-the-shelf ML-insikter och prognoser utan extra kostnad skulle göra det möjligt för redBus datavetenskapsteam att fokusera på ML-modeller förutom försäljningsprognoser och liknande modeller.
- Inbyggd säkerhet på radnivå (RLS) kan tillåta redBus att ge filtrerad åtkomst för sina tittare. RedBus har till exempel många affärsanalytiker som hanterar olika länder. Med RLS ser varje affärsanalytiker bara data relaterade till deras tilldelade land inom en enda instrumentpanel.
- redBus använder OneLogin som sin identitetsleverantör, vilket stöder Security Assertion Markup Language 2.0 (SAML 2.0). Med hjälp av identitetsfederation och stöd för enkel inloggning från QuickSight kunde redBus tillhandahålla ett enkelt onboarding-flöde för sina QuickSight-användare.
- QuickSight erbjuder inbyggda varningar och e-postaviseringsfunktioner.
För det andra är QuickSight ett helt hanterat, molnbaserat, serverlöst BI-tjänsterbjudande från AWS, med följande funktioner:
- redBus ingenjörer behöver inte fokusera på det tunga lyftet av provisionering, skalning och underhåll av sin BI-lösning på EC2-instanser.
- QuickSight erbjuder inbyggd integration med AWS-tjänster som Amazon Redshift, Amazon S3 och Athena, och andra populära ramverk som Presto, Snowflake, Teradata och mer. QuickSight ansluter till de flesta av de datakällor som redBus redan har förutom Apache Druid, eftersom inbyggd integration med Druid inte var tillgänglig i december 2022. För en fullständig lista över de datakällor som stöds, se Datakällor som stöds.
Resultatet
Med tanke på alla de rika funktionerna och lägre totala ägandekostnaderna, valde redBus QuickSight för sina krav på BI-instrumentpanelen. Med QuickSight har redBus dataingenjörer byggt ett antal instrumentpaneler på nolltid för att ge insikter från petabyte data till affärsintressenter och analytiker. RedBus datamotorvägen utvecklades för att ge business intelligence till en mycket bredare publik i deras organisation, med bättre prestanda och snabbare tid till värde. Från och med november 2022 kombinerar den QuickSight för företagsanvändare och Superset för APM-instrumentpaneler i realtid (i skrivande stund erbjuder QuickSight inte en inbyggd anslutning till Druid), som visas i följande diagram.
Instrumentpanel för upptäckt av försäljningsavvikelser
Även om det finns många instrumentpaneler som redBus distribuerar till produktion, är detektion av försäljningsavvikelser en av de intressanta instrumentpanelerna som redBus byggde. Den använder redBus egenutvecklade försäljningsprognosmodell, som i sin tur hämtas från historisk försäljningsdata från Amazon Redshift-tabeller och realtidsförsäljningsdata från Druid-tabeller, som visas i följande figur.
Med jämna mellanrum matar de schemalagda jobben redBus-prognosmodellen med realtidsdata och historiska försäljningsdata, och sedan skjuts prognostiserade data in i en Amazon Redshift-tabell. Instrumentpanelen för upptäckt av försäljningsavvikelser i QuickSight betjänas av den resulterande Amazon Redshift-tabellen.
Följande är en av bilderna från instrumentpanelen för upptäckt av försäljningsavvikelser. Den är byggd med hjälp av ett linjediagram som representerar faktisk försäljning per timme, förutspådd försäljning och en varningströskel för en tidsserie för en viss affärskohort i redBus.
I den här bilden representerar varje stapel antalet försäljningsavvikelser som utlösts vid en viss punkt i tidsserien.
RedBus analytiker skulle kunna gå vidare till försäljningsdetaljerna och anomalierna på minutnivå, som visas i följande diagram. Den här nedborrningsfunktionen kommer ur lådan med QuickSight.
För mer information om hur du lägger till detaljerade detaljer till QuickSights instrumentpanelsbilder, se Lägger till detaljerade detaljer i visuell data i Amazon QuickSight.
Bortsett från det visuella har det blivit en av tittarnas favoritinstrumentpaneler på redBus på grund av följande anmärkningsvärda funktioner:
- Eftersom filtrering över bilder är en funktion som är färdig i QuickSight, läggs ett tidsstämpelbaserat filter till i instrumentpanelen. Detta hjälper till att filtrera flera bilder i instrumentpanelen med ett enda klick.
- URL-åtgärder som är konfigurerade på grafiken hjälper tittarna att navigera till de kontextkänsliga interna applikationerna.
- E-postvarningar konfigurerade på KPI:er och Gauge-visualer hjälper tittarna att få aviseringar i tid.
Nästa steg
Förutom att bygga nya instrumentpaneler för deras behov av BI-instrumentbräda, tar redBus följande steg:
- Utforska QuickSight Embedded Analytics för ett par av deras applikationskrav för att påskynda tiden till insikter för användare med inkontextdatavisualer, interaktiva instrumentpaneler och mer direkt i applikationer
- Utforska QuickSight Q, vilket skulle kunna göra det möjligt för deras företagsintressenter att ställa frågor på naturligt språk och få korrekta svar med relevanta visualiseringar som kan hjälpa dem att få insikter från data
- Bygga en enhetlig instrumentpanelslösning med QuickSight som täcker alla deras datakällor när integrationer blir tillgängliga
Slutsats
I det här inlägget visade vi dig hur redBus byggde sin dataplattform med hjälp av olika AWS-tjänster och Apache-ramverk, vilka utmaningar plattformen gick igenom (särskilt i deras BI-instrumentpanelskrav och utmaningar under skalning), och hur de använde QuickSight och sänkte den totala kostnaden av ägande.
För att veta mer om teknik på redBus, kolla in deras medium blogginlägg. För att lära dig mer om vad som händer i QuickSight eller om du har några frågor, kontakta QuickSight Community, som är mycket aktiv och erbjuder flera resurser.
Om författarna
Girish Kumar Chidananda arbetar som Senior Engineering Manager – Data Engineering på redBus, där han har byggt olika datateknikapplikationer och komponenter för redBus de senaste 5 åren. Innan han började sin resa inom IT-branschen arbetade han som maskin- och styrsystemsingenjör i olika organisationer, och han har en MS-examen i Fluid Power Engineering från University of Bath.
Kayalvizhi Kandasamy arbetar med digitalt infödda företag för att stödja deras innovation. Som Senior Solutions Architect (APAC) på Amazon Web Services använder hon sin erfarenhet för att hjälpa människor att förverkliga sina idéer, och fokuserar främst på mikrotjänstarkitekturer och molnbaserade lösningar som använder AWS-tjänster. Utanför jobbet gillar hon att spela schack och är en schackspelare i FIDE. Hon tränar också sina döttrar i konsten att spela schack och förbereder dem för olika schackturneringar.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. Tillgång här.
- Källa: https://aws.amazon.com/blogs/big-data/a-dive-into-redbuss-data-platform-and-how-they-used-amazon-quicksight-to-accelerate-business-insights/
- $ 10 miljoner
- 1
- 10
- 100
- 2022
- 360-graders
- a
- Om oss
- accelerera
- tillgång
- tillgänglig
- Enligt
- exakt
- tvärs
- åtgärder
- aktiv
- Ad
- lagt till
- Annat
- adresse
- adopterare
- påverka
- Efter
- mot
- Varna
- Alla
- redan
- amason
- Amazon EC2
- Amazon QuickSight
- Amazon RDS
- Amazon Web Services
- mängd
- analys
- analytiker
- analytiker
- Analytisk
- analytics
- analysera
- och
- avvikelse av anomali
- svar
- APAC
- Apache
- Ansökan
- tillämpningar
- Ansök
- appar
- arkitektur
- runt
- Konst
- delad
- attraktiv
- publik
- Författaren
- automatiskt
- tillgänglig
- AWS
- backend
- säkerhetskopior
- bar
- baserat
- därför att
- blir
- innan
- Där vi får lov att vara utan att konstant prestera,
- Bättre
- Blogg
- Box
- varumärke
- varumärken
- föra
- mäklare
- SLUTRESULTAT
- Byggnad
- byggt
- inbyggd
- Bussen
- företag
- business intelligence
- kallas
- kapacitet
- bil
- Vid
- fall
- katalog
- Orsak
- utmaningar
- Förändringar
- Diagram
- kartläggning
- ta
- schack
- valde
- Städer
- Stad
- cloud
- Kodning
- Kohort
- kombinerar
- Företag
- företag
- fullborda
- komplex
- komplexiteter
- komponent
- komponenter
- omfattande
- Compute
- begrepp
- anslutna
- ansluter
- Tänk
- kontroll
- Pris
- Kostar
- kunde
- länder
- land
- Par
- beläggning
- skapa
- Skapa
- kund
- Helpdesk
- Kunder
- anpassning
- skräddarsy
- instrumentbräda
- datum
- datasjö
- Dataplattform
- datavetenskap
- datavisualisering
- datalagret
- data driven
- Databas
- dag
- December
- beslut
- Examen
- Efterfrågan
- utplacerade
- utplacering
- destination
- detalj
- detaljer
- Detektering
- Utvecklare
- utvecklare
- anordning
- DevOps
- DID
- olika
- dimensioner
- direkt
- diskutera
- distribueras
- dokumentera
- inte
- gör
- inte
- ner
- druid
- hållbarhet
- under
- varje
- LÄTTANVÄND
- ansträngning
- ansträngningar
- inbäddade
- EMEA
- anställda
- möjliggöra
- Motor
- ingenjör
- Teknik
- Ingenjörer
- företagsklass
- Hela
- speciellt
- Eter (ETH)
- händelser
- utvecklats
- exempel
- Utom
- förväntat
- erfarenhet
- utforskning
- Utforska
- omfattande
- extremt
- inför
- vänd
- SNABB
- snabbare
- Favoriten
- Leverans
- Funktioner
- Federation
- fält
- Figur
- filtrera
- filtrering
- filter
- passa
- Fast
- Flexibilitet
- flöda
- flöden
- Fokus
- fokusering
- efter
- formen
- fundament
- ramar
- vänliga
- från
- beklädd
- fullständigt
- fungera
- ytterligare
- Få
- skaffa sig
- Ge
- glas
- Välgörenhet
- bevilja
- grafer
- Grupp
- Odling
- lyckligt
- har
- kraftigt
- hjälpa
- hjälper
- Hög
- högre
- höggradigt
- Huvudväg
- historisk
- innehar
- värd
- Hur ser din drömresa ut
- Men
- html
- HTTPS
- Hundratals
- idéer
- identifiera
- identifiera
- Identitet
- in
- innefattar
- Inklusive
- Inkommande
- ökat
- indien
- Individuellt
- industrin
- informationen
- Infrastruktur
- Innovation
- insikter
- integrering
- integrationer
- Intelligens
- interaktiva
- intressant
- inre
- lager
- fråga
- problem
- IT
- IT-branschen
- sig
- Lediga jobb
- fogade
- resa
- json
- kafka
- hålla
- Vet
- kunskap
- KYC
- sjö
- språk
- största
- Efternamn
- lager
- ledande
- LÄRA SIG
- Nivå
- Licens
- livet
- lyft
- begränsningar
- linje
- Lista
- läsa in
- Lastaren
- läser in
- se
- Låg
- bibehålla
- göra
- GÖR
- Framställning
- hantera
- förvaltade
- chef
- obligatoriskt
- manuell
- manuellt
- många
- betyder
- mekanisk
- meddelande
- metadata
- Metrics
- microservices
- miljon
- minut
- ML
- Mobil
- mobil-appar
- modell
- modeller
- övervakning
- mer
- mest
- MS
- multipel
- MySQL
- nativ
- Natural
- Naturligt språk
- Navigera
- Behöver
- behövs
- behov
- Nya
- Nästa
- nginx
- anmärkningsvärd
- anmälan
- anmälningar
- November
- antal
- objektet
- Objektförvaring
- erbjudanden
- erbjuda
- Erbjudanden
- Onboarding
- ONE
- nätet
- öppet
- öppen källkod
- drivs
- drift
- operativa
- Verksamhet
- Operatören
- operatörer
- beställa
- organisation
- organisationer
- Övriga
- utanför
- egen
- ägande
- panelen
- Parallell
- del
- särskilt
- Personer
- utföra
- prestanda
- rörledning
- pivot
- Plats
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- Spelaren
- i
- PoC
- Punkt
- Populära
- portfölj
- möjlig
- Inlägg
- kraft
- förutsagda
- förbereder
- primärt
- primär
- Innan
- process
- Produktion
- framträdande
- bevis
- bevis på koncept
- proprietary
- ge
- förutsatt
- leverantör
- ger
- tillhandahålla
- sköt
- Python
- frågor
- Järnväg
- snabbt
- Betygsätta
- nå
- realtid
- data i realtid
- insåg
- motta
- region
- regelbunden
- relaterad
- relevanta
- representerar
- representerar
- Obligatorisk
- Krav
- Resurser
- Resultat
- intäkter
- Rik
- rot
- Körning
- försäljning
- skalbarhet
- Skala
- skalning
- planerad
- Schemalagda jobb
- Vetenskap
- sömlöst
- söka
- sektioner
- säkerhet
- ser
- Självbetjäning
- skicka
- senior
- Serier
- Server
- service
- Tjänster
- portion
- flera
- Dela
- delas
- visas
- liknande
- Enkelt
- samtidigt
- enda
- Skiva
- So
- lösning
- Lösningar
- Alldeles strax
- Källa
- Källor
- krydda
- SQL
- intressenter
- standard
- igång
- Starta
- Steg
- förvaring
- lagra
- lagras
- lagrar
- svit
- stödja
- Som stöds
- Stödjande
- Stöder
- syntax
- System
- bord
- tar
- uppgift
- grupp
- villkor
- Smakämnen
- världen
- deras
- därför
- tusentals
- tröskelvärde
- Genom
- biljettförsäljning
- biljetter
- tid
- Tidsföljder
- Timed
- till
- tillsammans
- verktyg
- Totalt
- turneringar
- mot
- Spårning
- trafik
- färdas
- resenär
- resenärer
- triggas
- SVÄNG
- enhetlig
- universitet
- obegränsat
- Uppdatering
- uppladdning
- us
- användning
- Användare
- användare
- värde
- Värden
- mängd
- olika
- via
- utsikt
- tittare
- praktiskt taget
- visualisering
- volym
- Warehouse
- webb
- webbserver
- webbservice
- Vad
- Vad är
- som
- medan
- VEM
- bred
- bredare
- kommer
- Vinner
- inom
- utan
- Arbete
- jobba tillsammans
- arbetade
- fungerar
- världen
- Världens
- skulle
- skrivning
- år
- zephyrnet