Dette indlæg er skrevet sammen med Girish Kumar Chidananda fra redBus.
Redbus er en af de tidligste brugere af AWS i Indien, og de fleste af dets tjenester og applikationer hostes på AWS Cloud. AWS gav redBus fleksibiliteten til at skalere deres infrastruktur hurtigt og samtidig holde omkostningerne ekstremt lave. AWS har en omfattende pakke af tjenester til at imødekomme de fleste af deres behov, herunder at yde kundesupport, som redBus kan stå inde for.
I dette indlæg deler vi redBus's dataplatformsarkitektur, og hvordan forskellige komponenter er forbundet for at danne deres datamotorvej. Vi diskuterer også de udfordringer, redBus stod over for med at bygge dashboards til deres real-time business intelligence (BI) use cases, og hvordan de brugte Amazon QuickSight, en hurtig, brugervenlig, cloud-drevet virksomhedsanalysetjeneste, der gør det nemt for alle medarbejdere i redBus at bygge visualiseringer og udføre ad hoc-analyser for at få forretningsindsigt fra deres data, når som helst og på enhver enhed.
Om redBus
Redbus er verdens største online busbilletplatform bygget i Indien og betjener mere end 36 millioner glade kunder over hele verden. Sammen med sin lodrette busbilletter driver redBus også en jernbanebilletservice kaldet redRails og en bus- og biludlejningstjeneste kaldet rYde. Det er en del af GO-MMT-gruppen, som er Indiens førende online rejsevirksomhed, med en omfattende varemærkeportefølje, der omfatter andre prominente online rejsemærker som MakeMyTrip og Goibibo.
redBus's datamotorvej 1.0
redBus er stærkt afhængig af at tage datadrevne beslutninger på alle niveauer, lige fra sporing af rejserejser, forudsigelse af efterspørgsel under høj trafik, identifikation og adressering af flaskehalse i deres busoperatørers tilmeldingsproces og meget mere. Da redBus' forretning begyndte at vokse i forhold til antallet af byer og lande, de opererede i, og antallet af busoperatører og rejsende, der bruger tjenesten i hver by, steg mængden af indgående data også. Behovet for at få adgang til og analysere dataene ét sted krævede, at de byggede deres egen dataplatform, som vist i følgende diagram.
I de følgende afsnit ser vi på hver komponent mere detaljeret.
Kilder til dataindtagelse
Med dataplatformen 1.0 indtages data fra forskellige kilder:
- Realtid – Realtidsdataene strømmer fra redBus mobilapps, backend-mikrotjenesterne, og når en passager, busoperatør eller applikation udfører en hvilken som helst handling som at booke busbilletter, søge i buslageret, uploade et KYC-dokument og mere
- Batch-tilstand – Planlagte job henter data fra flere vedvarende datalagre, f.eks Amazon Relationel Database Service (Amazon RDS), hvor OLTP-data fra alle dets applikationer er gemt, Apache Cassandra-klynger, hvor busbeholdningen fra forskellige operatører er gemt, Arango DB, hvor brugeridentitetsgraferne er gemt og mere
Datakatalogisering
Realtidsdataene indlæses i deres selvadministrerede Apache Nifi-klynger, en open source-dataplatform, der bruges til at rense, analysere og katalogisere dataene med dets routingfunktioner, før de sender dataene til deres destination.
Opbevaring og analyser
redBus bruger følgende tjenester til sine opbevarings- og analysebehov:
- Amazon Simple Storage Service (Amazon S3), en objektlagringstjeneste, der danner grundlaget for deres datasø på grund af dens praktisk talt ubegrænsede skalerbarhed og højere holdbarhed. Realtidsdatastrømme fra Apache Druid og data fra datalagrene flyder med jævne mellemrum baseret på tidsplanerne.
- Apache Druid, et datalager i OLAP-stil (datastrømme via Kafka Druid-dataindlæser), som beregner fakta og metrikker mod forskellige dimensioner under dataindlæsningsprocessen.
- Amazon rødforskydning, en cloud-datavarehustjeneste, der hjælper dig med at analysere exabytes af data og køre komplekse analytiske forespørgsler. redBus bruger Amazon Redshift til at gemme de behandlede data fra Amazon S3 og de aggregerede data fra Apache Druid.
Forespørgsel og visualisering
For at gøre redBus så datadrevet som muligt, sikrede de, at dataene er tilgængelige for deres SRE-ingeniører, dataingeniører og forretningsanalytikere via et visualiseringslag. Dette lag indeholder dashboards, der betjenes ved hjælp af Apache SuperSet, et open source-datavisualiseringsprogram og Amazonas Athena, en interaktiv forespørgselstjeneste til at analysere data i Amazon S3 ved hjælp af standard SQL til ad hoc-forespørgselskrav.
Udfordringerne
Oprindeligt håndterede redBus data, der blev indtaget med en hastighed på 10 millioner hændelser om dagen. Efterhånden som virksomhedens forretning begyndte at vokse, voksede med tiden datavolumen (fra gigabyte til terabyte til petabyte), dataindtagelse pr. dag (fra 10 millioner til 320 millioner hændelser) og dets behov for business intelligence-dashboard. Kort efter begyndte de at stå over for udfordringer med deres selvadministrerede Supersets BI-kapaciteter og den øgede operationelle kompleksitet.
Begrænsede BI-kapaciteter
redBus stødte på følgende BI-begrænsninger:
- Manglende evne til at skabe visualiseringer fra flere datakilder – Supersæt tillader ikke oprettelse af visualiseringer fra flere tabeller inden for dets dataudforskningslag. redBus dataingeniører skulle have tabellerne sammenføjet på forhånd på selve datakildeniveauet. For at skabe en 360-graders visning for redBus' forretningsinteressenter blev det ubelejligt for dataingeniører at vedligeholde flere tabeller, der understøtter visualiseringslaget.
- Intet globalt filter til visuals i et dashboard – Et globalt eller primært filter på tværs af visuals i et dashboard understøttes ikke i Superset. Overvej for eksempel, at der er visuals som Sales Wins by Region, YTD Revenue Realized by Region, Sales Pipeline by Region, og mere i et dashboard, og et filter Region føjes til dashboardet med værdier som EMEA, APAC og US. Filteret Region vil kun gælde for et af de visuelle elementer, ikke hele dashboardet. Dashboardbrugere forventede dog filtrering på tværs af dashboardet.
- Ikke et forretningsbrugervenligt værktøj – Superset er meget udviklercentreret, når det kommer til tilpasning. For eksempel, hvis en redBus-forretningsanalytiker skulle tilpasse en tidsindstillet opdatering, der automatisk genforespørger hvert udsnit på et dashboard i henhold til en forudindstillet værdi, så skal analytikeren opdatere dashboardets JSON-metadatafelt. Derfor er det obligatorisk at have kendskab til JSON og dets syntaks for at foretage enhver tilpasning på det visuelle eller dashboard.
Øgede driftsomkostninger
Selvom Superset er open source, hvilket betyder, at der ikke er nogen licensomkostninger, betyder det også, at der er en større indsats i at vedligeholde alle de komponenter, der kræves, for at det kan fungere som et BI-værktøj i virksomhedskvalitet. redBus har installeret og vedligeholdt en webserver (Nginx) med en Application Load Balancer at udføre belastningsbalancering; en metadatadatabaseserver (MySQL), hvor Superset gemmer sine interne oplysninger såsom brugere, udsnit og dashboarddefinitioner; en asynkron opgavekø (Selleri) til understøttelse af langvarige forespørgsler; en meddelelsesmægler (RabbitMQ); og en distribueret cachingserver (Redis) til cachelagring af resultaterne, kortlægning af data og mere Amazon Elastic Compute Cloud (Amazon EC2) forekomster. Følgende diagram illustrerer denne arkitektur.
redBus's DevOps-team skulle gøre det tunge løft med at klargøre infrastrukturen, tage backups, skalere komponenterne manuelt efter behov, opgradere komponenterne individuelt og meget mere. Det krævede også, at en Python-webudvikler var til stede for at lave konfigurationsændringerne, så alle komponenterne arbejdede problemfrit sammen. Alle disse manuelle operationer øgede de samlede ejeromkostninger for redBus.
Rejsen mod QuickSight
redBus begyndte at udforske BI-løsninger primært omkring et par af dets krav til dashboarding:
- BI dashboards til forretningsinteressenter og analytikere, hvor dataene hentes via Amazon S3 og Amazon Redshift.
- Et dashboard til overvågning af applikationsydelse i realtid (APM) til at hjælpe deres SRE-ingeniører og -udviklere med at identificere årsagen til et problem i deres mikroservice-implementering, så de kan løse problemerne, før de påvirker deres kundes oplevelse. I dette tilfælde hentes dataene via Druid.
QuickSight passede ind i de fleste af redBus's BI-dashboard-krav, og på ingen tid startede deres dataplatformsteam med et proof of concept (POC) for et par af deres komplekse dashboards. I slutningen af POC, som strakte sig over en måneds tid, delte holdet deres resultater.
For det første er QuickSight rig på BI-funktioner, herunder følgende:
- Det er en selvbetjent BI-løsning med træk-og-slip-funktioner, der kan hjælpe redBus-analytikere komfortabelt at bruge den uden nogen kodningsindsats.
- Visualiseringer fra flere datakilder i et enkelt dashboard kan hjælpe redBus forretningsinteressenter med at få et 360-graders overblik over salg, prognoser og indsigt i en enkelt glasrude.
- Cascading-filtre på tværs af visuals og på tværs af ark i et dashboard er meget tiltrængte funktioner til redBus' BI-krav.
- QuickSight tilbyder Excel-lignende visuals – tabeller med beregninger, pivottabeller med cellegruppering og styling er attraktive for seerne.
- Den superhurtige, parallelle, in-memory Calculation Engine (SPICE) i QuickSight kan hjælpe redBus med at skalere til hundredtusindvis af brugere, som alle samtidigt kan udføre hurtige interaktive analyser på tværs af en lang række AWS-datakilder.
- Off-the-shelf ML-indsigt og prognoser uden ekstra omkostninger ville gøre det muligt for redBus' datavidenskabsteam at fokusere på ML-modeller udover salgsprognoser og lignende modeller.
- Indbygget rækkeniveausikkerhed (RLS) kunne give redBus mulighed for at give filtreret adgang til deres seere. RedBus har for eksempel mange forretningsanalytikere, der administrerer forskellige lande. Med RLS ser hver virksomhedsanalytiker kun data relateret til deres tildelte land inden for et enkelt dashboard.
- redBus bruger OneLogin som sin identitetsudbyder, som understøtter Security Assertion Markup Language 2.0 (SAML 2.0). Ved hjælp af identitetsføderation og single sign-on-support fra QuickSight kunne redBus give deres QuickSight-brugere et enkelt onboarding-flow.
- QuickSight tilbyder indbyggede advarsler og e-mail-notifikationsfunktioner.
For det andet er QuickSight et fuldt administreret, cloud-native, serverløst BI-servicetilbud fra AWS med følgende funktioner:
- redBus-ingeniører behøver ikke at fokusere på det tunge løft af klargøring, skalering og vedligeholdelse af deres BI-løsning på EC2-instanser.
- QuickSight tilbyder indbygget integration med AWS-tjenester som Amazon Redshift, Amazon S3 og Athena og andre populære rammer som Presto, Snowflake, Teradata og mere. QuickSight opretter forbindelse til de fleste af de datakilder, som redBus allerede har undtagen Apache Druid, fordi native integration med Druid ikke var tilgængelig i december 2022. For en komplet liste over de understøttede datakilder, se Understøttede datakilder.
Resultatet
I betragtning af alle de omfattende funktioner og lavere samlede ejeromkostninger, valgte redBus QuickSight til deres BI-dashboardkrav. Med QuickSight har redBus' dataingeniører bygget en række dashboards på ingen tid for at give indsigt fra petabytes af data til forretningsinteressenter og analytikere. RedBus datamotorvejen udviklede sig til at bringe business intelligence til et meget bredere publikum i deres organisation med bedre ydeevne og hurtigere time-to-value. Fra november 2022 kombinerer det QuickSight til forretningsbrugere og Superset til APM-dashboards i realtid (i skrivende stund tilbyder QuickSight ikke en indbygget forbindelse til Druid), som vist i følgende diagram.
Dashboard til registrering af salgsanomalier
Selvom der er mange dashboards, som redBus implementerede til produktion, er detektion af salgsanomalier et af de interessante dashboards, som redBus byggede. Den bruger redBus' proprietære salgsprognosemodel, som igen er hentet fra historiske salgsdata fra Amazon Redshift-tabeller og salgsdata i realtid fra Druid-tabeller, som vist i den følgende figur.
Med jævne mellemrum fodrer de planlagte job redBus-prognosemodellen med realtids- og historiske salgsdata, og derefter skubbes de forventede data ind i en Amazon Redshift-tabel. Dashboardet til registrering af salgsanomalier i QuickSight betjenes af den resulterende Amazon Redshift-tabel.
Følgende er et af billederne fra dashboardet til registrering af salgsanomalier. Det er bygget ved hjælp af et linjediagram, der repræsenterer faktiske timesalg, forudsagt salg og en alarmtærskel for en tidsserie for en bestemt virksomhedskohorte i redBus.
I denne visualisering repræsenterer hver søjle antallet af salgsanomalier, der er udløst på et bestemt tidspunkt i tidsserien.
redBus' analytikere kunne yderligere bore ned til salgsdetaljerne og anomalierne på minutniveau, som vist i følgende diagram. Denne drill-down-funktion kommer ud af æsken med QuickSight.
For flere detaljer om tilføjelse af drill-downs til QuickSights dashboard-billeder, se Tilføjelse af detaljer til visuelle data i Amazon QuickSight.
Bortset fra det visuelle, er det blevet et af seernes foretrukne dashboards på redBus på grund af følgende bemærkelsesværdige funktioner:
- Fordi filtrering på tværs af visuelle elementer er en klar funktion i QuickSight, tilføjes et tidsstempelbaseret filter til dashboardet. Dette hjælper med at filtrere flere billeder i dashboardet med et enkelt klik.
- URL-handlinger konfigureret på det visuelle hjælper seerne med at navigere til de kontekstfølsomme interne applikationer.
- E-mail-alarmer konfigureret på KPI'er og Gauge-visualiseringer hjælper seerne med at få notifikationer til tiden.
Næste skridt
Udover at bygge nye dashboards til deres BI-dashboard-behov, tager redBus følgende næste trin:
- Udforskning QuickSight Embedded Analytics for et par af deres applikationskrav for at fremskynde tiden til indsigt for brugere med in-context data visuals, interaktive dashboards og mere direkte i applikationer
- Udforskning QuickSight Q, som kunne gøre det muligt for deres forretningsinteressenter at stille spørgsmål i naturligt sprog og modtage præcise svar med relevante visualiseringer, der kan hjælpe dem med at få indsigt fra dataene
- Opbygning af en samlet dashboard-løsning ved hjælp af QuickSight, der dækker alle deres datakilder, efterhånden som integrationer bliver tilgængelige
Konklusion
I dette indlæg viste vi dig, hvordan redBus byggede sin dataplatform ved hjælp af forskellige AWS-tjenester og Apache-frameworks, hvilke udfordringer platformen gik igennem (især i deres BI-dashboardkrav og udfordringer under skalering), og hvordan de brugte QuickSight og sænkede de samlede omkostninger af ejerskab.
For at vide mere om teknik hos redBus, tjek deres mellemstore blogindlæg. For at lære mere om, hvad der sker i QuickSight, eller hvis du har spørgsmål, kan du kontakte QuickSight-fællesskab, som er meget aktiv og tilbyder flere ressourcer.
Om forfatterne
Girish Kumar Chidananda arbejder som Senior Engineering Manager – Data Engineering hos redBus, hvor han de sidste 5 år har bygget forskellige dataingeniørapplikationer og komponenter til redBus. Før han startede sin rejse i it-branchen, arbejdede han som mekanik- og kontrolsystemingeniør i forskellige organisationer, og han har en MS-grad i Fluid Power Engineering fra University of Bath.
Kayalvizhi Kandasamy arbejder med digital-native virksomheder for at understøtte deres innovation. Som Senior Solutions Architect (APAC) hos Amazon Web Services bruger hun sin erfaring til at hjælpe folk med at føre deres ideer ud i livet, idet hun primært fokuserer på mikroservicearkitekturer og cloud-native løsninger ved hjælp af AWS-tjenester. Uden for arbejdet kan hun lide at spille skak og er en FIDE-bedømt skakspiller. Hun træner også sine døtre i kunsten at spille skak og forbereder dem til forskellige skakturneringer.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. Adgang her.
- Kilde: https://aws.amazon.com/blogs/big-data/a-dive-into-redbuss-data-platform-and-how-they-used-amazon-quicksight-to-accelerate-business-insights/
- $ 10 millioner
- 1
- 10
- 100
- 2022
- 360-grad
- a
- Om
- fremskynde
- adgang
- tilgængelig
- Ifølge
- præcis
- tværs
- aktioner
- aktiv
- Ad
- tilføjet
- Yderligere
- adressering
- adoptanter
- påvirke
- Efter
- mod
- Alert
- Alle
- allerede
- Amazon
- Amazon EC2
- Amazon QuickSight
- Amazon RDS
- Amazon Web Services
- beløb
- analyse
- analytiker
- Analytikere
- Analytisk
- analytics
- analysere
- ,
- afsløring af anomalier
- svar
- APAC
- Apache
- Anvendelse
- applikationer
- Indløs
- apps
- arkitektur
- omkring
- Kunst
- tildelt
- attraktivt
- publikum
- forfatter
- automatisk
- til rådighed
- AWS
- Bagende
- sikkerhedskopier
- Bar
- baseret
- fordi
- bliver
- før
- være
- Bedre
- Blog
- Boks
- brand
- brands
- bringe
- mægler
- bygge
- Bygning
- bygget
- indbygget
- bus
- virksomhed
- business intelligence
- kaldet
- kapaciteter
- bil
- tilfælde
- tilfælde
- katalog
- Årsag
- udfordringer
- Ændringer
- Chart
- kortlægning
- kontrollere
- skak
- valgte
- byer
- By
- Cloud
- Kodning
- kohorte
- kombinerer
- Virksomheder
- selskab
- fuldføre
- komplekse
- kompleksiteter
- komponent
- komponenter
- omfattende
- Compute
- Konceptet
- tilsluttet
- forbinder
- Overvej
- kontrol
- Koste
- Omkostninger
- kunne
- lande
- land
- Par
- dækker
- skabe
- Oprettelse af
- kunde
- Kunde support
- Kunder
- tilpasning
- tilpasse
- instrumentbræt
- data
- Data Lake
- Dataplatform
- datalogi
- datavisualisering
- datalager
- datastyret
- Database
- dag
- december
- afgørelser
- Degree
- Efterspørgsel
- indsat
- implementering
- destination
- detail
- detaljer
- Detektion
- Udvikler
- udviklere
- enhed
- DevOps
- DID
- forskellige
- størrelse
- direkte
- diskutere
- distribueret
- dokumentet
- Er ikke
- gør
- Dont
- ned
- Druid
- holdbarhed
- i løbet af
- hver
- nem at bruge
- indsats
- indsats
- indlejret
- EMEA
- medarbejdere
- muliggøre
- Engine (Motor)
- ingeniør
- Engineering
- Ingeniører
- enterprise-grade
- Hele
- især
- Ether (ETH)
- begivenheder
- udviklet sig
- eksempel
- Undtagen
- forventet
- erfaring
- udforskning
- Udforskning
- omfattende
- ekstremt
- konfronteret
- vender
- FAST
- hurtigere
- Favorit
- Feature
- Funktionalitet
- Føderation
- felt
- Figur
- filtrere
- filtrering
- Filtre
- passer
- Fix
- Fleksibilitet
- flow
- strømme
- Fokus
- fokusering
- efter
- formular
- Foundation
- rammer
- venlige
- fra
- Frontet
- fuldt ud
- funktion
- yderligere
- Gevinst
- få
- Giv
- glas
- Global
- indrømme
- grafer
- gruppe
- Dyrkning
- Gem
- have
- stærkt
- hjælpe
- hjælper
- Høj
- højere
- stærkt
- Hovedvej
- historisk
- besidder
- hostede
- Hvordan
- Men
- HTML
- HTTPS
- Hundreder
- ideer
- identificere
- identificere
- Identity
- in
- omfatter
- Herunder
- Indgående
- øget
- Indien
- Individuelt
- industrien
- oplysninger
- Infrastruktur
- Innovation
- indsigt
- integration
- integrationer
- Intelligens
- interaktiv
- interessant
- interne
- opgørelse
- spørgsmål
- spørgsmål
- IT
- It-industrien
- selv
- Karriere
- sluttede
- rejse
- json
- Kafka
- holde
- Kend
- viden
- KYC
- sø
- Sprog
- største
- Efternavn
- lag
- førende
- LÆR
- Niveau
- Licenser
- Livet
- løft
- begrænsninger
- Line (linje)
- Liste
- belastning
- loader
- lastning
- Se
- Lav
- vedligeholde
- lave
- maerker
- Making
- administrere
- lykkedes
- leder
- obligatorisk
- manuel
- manuelt
- mange
- midler
- mekanisk
- besked
- Metadata
- Metrics
- microservices
- million
- minut
- ML
- Mobil
- mobil-apps
- model
- modeller
- overvågning
- mere
- mest
- MS
- flere
- MySQL
- indfødte
- Natural
- Naturligt sprog
- Naviger
- Behov
- behov
- behov
- Ny
- næste
- Nginx
- bemærkelsesværdig
- underretning
- meddelelser
- november
- nummer
- objekt
- Objektopbevaring
- tilbyde
- tilbyde
- Tilbud
- onboarding
- ONE
- online
- åbent
- open source
- betjenes
- drift
- operationelle
- Produktion
- operatør
- Operatører
- ordrer
- organisation
- organisationer
- Andet
- uden for
- egen
- ejerskab
- brød
- Parallel
- del
- særlig
- Mennesker
- udføre
- ydeevne
- pipeline
- Pivot
- Place
- perron
- plato
- Platon Data Intelligence
- PlatoData
- spiller
- spiller
- PoC
- Punkt
- Populær
- portefølje
- mulig
- Indlæg
- magt
- forudsagde
- Forbereder
- primært
- primære
- Forud
- behandle
- produktion
- fremtrædende
- bevis
- Bevis for koncept
- proprietære
- give
- forudsat
- udbyder
- giver
- leverer
- skubbet
- Python
- Spørgsmål
- jernbane
- hurtigt
- Sats
- nå
- realtid
- data i realtid
- gik op for
- modtage
- region
- fast
- relaterede
- relevant
- repræsenterer
- repræsenterer
- påkrævet
- Krav
- Ressourcer
- Resultater
- indtægter
- Rich
- rod
- Kør
- salg
- Skalerbarhed
- Scale
- skalering
- planlagt
- Planlagte job
- Videnskab
- problemfrit
- søgning
- sektioner
- sikkerhed
- Sees
- Selvbetjening
- afsendelse
- senior
- Series
- Serverless
- tjeneste
- Tjenester
- servering
- flere
- Del
- delt
- vist
- lignende
- Simpelt
- samtidigt
- enkelt
- Slice
- So
- løsninger
- Løsninger
- Snart
- Kilde
- Kilder
- krydderi
- SQL
- interessenter
- standard
- påbegyndt
- Starter
- Steps
- opbevaring
- butik
- opbevaret
- forhandler
- suite
- support
- Understøttet
- Støtte
- Understøtter
- syntaks
- Systemer
- bord
- tager
- Opgaver
- hold
- vilkår
- verdenen
- deres
- derfor
- tusinder
- tærskel
- Gennem
- billettering
- billetter
- tid
- Tidsserier
- Tidsindstillet
- til
- sammen
- værktøj
- I alt
- Turneringer
- mod
- Sporing
- Trafik
- rejse
- rejsende
- rejsende
- udløst
- TUR
- forenet
- universitet
- ubegrænset
- Opdatering
- Uploading
- us
- brug
- Bruger
- brugere
- værdi
- Værdier
- række
- forskellige
- via
- Specifikation
- seere
- næsten
- visualisering
- bind
- Warehouse
- web
- Webserver
- webservices
- Hvad
- Hvad er
- som
- mens
- WHO
- bred
- bredere
- vilje
- Vinder
- inden for
- uden
- Arbejde
- arbejde sammen
- arbejdede
- virker
- world
- Verdens
- ville
- skrivning
- år
- zephyrnet