Dette innlegget er skrevet sammen med Girish Kumar Chidananda fra redBus.
Redbus er en av de tidligste brukerne av AWS i India, og de fleste av tjenestene og applikasjonene er vert på AWS Cloud. AWS ga redBus fleksibiliteten til å skalere infrastrukturen sin raskt samtidig som kostnadene ble ekstremt lave. AWS har en omfattende pakke med tjenester for å imøtekomme de fleste av deres behov, inkludert å tilby kundestøtte som redBus kan gå god for.
I dette innlegget deler vi redBus sin dataplattformarkitektur, og hvordan ulike komponenter kobles sammen for å danne deres datamotorvei. Vi diskuterer også utfordringene redBus sto overfor når det gjaldt å bygge dashboards for deres sanntids Business Intelligence (BI) brukssaker, og hvordan de brukte Amazon QuickSight, en rask, brukervennlig, skydrevet forretningsanalysetjeneste som gjør det enkelt for alle ansatte i redBus å bygge visualiseringer og utføre ad hoc-analyser for å få forretningsinnsikt fra dataene deres, når som helst og på hvilken som helst enhet.
Om redBus
Redbus er verdens største online bussbillettplattform bygget i India og betjener mer enn 36 millioner fornøyde kunder over hele verden. Sammen med sin bussbillettvertikale, driver redBus også en jernbanebilletttjeneste kalt redRails og en buss- og bilutleietjeneste kalt rYde. Det er en del av GO-MMT-gruppen, som er Indias ledende online reiseselskap, med en omfattende merkevareportefølje som inkluderer andre fremtredende online reisemerker som MakeMyTrip og Goibibo.
redBus sin datamotorvei 1.0
redBus er sterkt avhengig av å ta datadrevne beslutninger på alle nivåer, fra sporing av reisereiser, prognoser etterspørsel under høy trafikk, identifisering og adressering av flaskehalser i deres bussoperatørers registreringsprosess, og mer. Etter hvert som redBus sin virksomhet begynte å vokse med tanke på antall byer og land de opererte i og antall bussoperatører og reisende som bruker tjenesten i hver by, økte også mengden innkommende data. Behovet for å få tilgang til og analysere dataene på ett sted krevde at de bygget sin egen dataplattform, som vist i følgende diagram.
I de følgende avsnittene ser vi på hver komponent mer detaljert.
Kilder for datainntak
Med dataplattformen 1.0 inntas dataene fra ulike kilder:
- Realtid – Sanntidsdataene strømmer fra redBus mobilapper, backend-mikrotjenestene, og når en passasjer, bussoperatør eller applikasjon utfører en operasjon som å bestille bussbilletter, søke i bussbeholdningen, laste opp et KYC-dokument og mer
- Batch-modus – Planlagte jobber henter data fra flere vedvarende datalagre som Amazon Relational Database Service (Amazon RDS), hvor OLTP-dataene fra alle applikasjonene er lagret, Apache Cassandra-klynger, hvor bussbeholdningen fra forskjellige operatører er lagret, Arango DB, hvor brukeridentitetsgrafene er lagret, og mer
Datakatalogisering
Sanntidsdataene tas inn i deres selvadministrerte Apache Nifi-klynger, en åpen kildekode-dataplattform som brukes til å rense, analysere og katalogisere dataene med rutefunksjonene før de sendes til destinasjonen.
Lagring og analyser
redBus bruker følgende tjenester for sine lagrings- og analysebehov:
- Amazon enkel lagringstjeneste (Amazon S3), en objektlagringstjeneste som gir grunnlaget for datainnsjøen deres på grunn av dens praktisk talt ubegrensede skalerbarhet og høyere holdbarhet. Sanntidsdata flyter fra Apache Druid og data fra datalagrene flyter med jevne mellomrom basert på tidsplanene.
- Apache Druid, et datalager i OLAP-stil (dataflyter via Kafka Druid-datalaster), som beregner fakta og beregninger mot ulike dimensjoner under datainnlastingsprosessen.
- Amazon RedShift, en skydatavarehustjeneste som hjelper deg med å analysere exabyte med data og kjøre komplekse analytiske spørringer. redBus bruker Amazon Redshift til å lagre de behandlede dataene fra Amazon S3 og de aggregerte dataene fra Apache Druid.
Spørring og visualisering
For å gjøre redBus så datadrevet som mulig, sørget de for at dataene er tilgjengelige for deres SRE-ingeniører, dataingeniører og forretningsanalytikere via et visualiseringslag. Dette laget inneholder dashbord som betjenes ved hjelp av Apache SuperSet, en åpen kildekode-applikasjon for datavisualisering, og Amazonas Athena, en interaktiv spørringstjeneste for å analysere data i Amazon S3 ved å bruke standard SQL for ad hoc-spørringskrav.
Utfordringene
Opprinnelig håndterte redBus data som ble inntatt med en hastighet på 10 millioner hendelser per dag. Etter hvert som virksomheten begynte å vokse, økte over tid datavolumet (fra gigabyte til terabyte til petabyte), datainntak per dag (fra 10 millioner til 320 millioner hendelser) og behovene til dashbordet for forretningsintelligens. Like etter begynte de å møte utfordringer med deres selvadministrerte Superset sine BI-evner, og den økte operasjonelle kompleksiteten.
Begrensede BI-muligheter
redBus møtte følgende BI-begrensninger:
- Manglende evne til å lage visualiseringer fra flere datakilder – Supersett tillater ikke å lage visualiseringer fra flere tabeller innenfor datautforskningslaget. redBus dataingeniører måtte ha sammenføyd tabellene på forhånd på selve datakildenivået. For å lage en 360-graders visning for redBuss forretningsinteressenter, ble det upraktisk for dataingeniører å vedlikeholde flere tabeller som støtter visualiseringslaget.
- Ikke noe globalt filter for visuelle elementer i et dashbord – Et globalt eller primært filter på tvers av visuelle elementer i et dashbord støttes ikke i Superset. Tenk for eksempel på at det er grafikk som Sales Wins by Region, YTD Revenue Realized by Region, Sales Pipeline by Region, og mer i et dashbord, og et filter Region legges til dashbordet med verdier som EMEA, APAC og US. Filterregionen vil bare gjelde for ett av visualobjektene, ikke hele dashbordet. Imidlertid forventet dashbordbrukere filtrering på tvers av dashbordet.
- Ikke et forretningsvennlig verktøy – Superset er svært utviklersentrisk når det kommer til tilpasning. For eksempel, hvis en redBus-forretningsanalytiker måtte tilpasse en tidsbestemt oppdatering som automatisk forespør hver del på et dashbord i henhold til en forhåndsinnstilt verdi, må analytikeren oppdatere dashbordets JSON-metadatafelt. Derfor er det obligatorisk å ha kjennskap til JSON og dets syntaks for å gjøre enhver tilpasning på det visuelle eller dashbordet.
Økt driftskostnad
Selv om Superset er åpen kildekode, noe som betyr at det ikke er noen lisensieringskostnader, betyr det også at det er mer innsats for å vedlikeholde alle komponentene som kreves for at det skal fungere som et BI-verktøy av bedriftskvalitet. redBus har distribuert og vedlikeholdt en webserver (Nginx) frontet av en Lastbalanse for applikasjon å gjøre lastbalansering; en metadatadatabaseserver (MySQL) der Superset lagrer intern informasjon som brukere, skiver og dashborddefinisjoner; en asynkron oppgavekø (Selleri) for å støtte langvarige spørringer; en meldingsmegler (RabbitMQ); og en distribuert caching-server (Redis) for å bufre resultatene, kartlegge data og mer Amazon Elastic Compute Cloud (Amazon EC2) forekomster. Følgende diagram illustrerer denne arkitekturen.
redBus sitt DevOps-team måtte gjøre det tunge løftet med å klargjøre infrastrukturen, ta sikkerhetskopier, skalere komponentene manuelt etter behov, oppgradere komponentene individuelt og mer. Det krevde også en Python-webutvikler for å gjøre konfigurasjonsendringene slik at alle komponentene fungerer sømløst sammen. Alle disse manuelle operasjonene økte de totale eierkostnadene for redBus.
Reis mot QuickSight
redBus begynte å utforske BI-løsninger først og fremst rundt et par av dashboardkravene:
- BI-dashbord for forretningsinteressenter og analytikere, der data hentes via Amazon S3 og Amazon Redshift.
- Et dashbord for applikasjonsytelseovervåking (APM) i sanntid for å hjelpe deres SRE-ingeniører og utviklere med å identifisere årsaken til et problem i deres mikrotjenester-distribusjon, slik at de kan fikse problemene før de påvirker kundens opplevelse. I dette tilfellet hentes dataene via Druid.
QuickSight passet inn i de fleste av redBuss krav til BI-dashbord, og på et blunk startet deres dataplattformteam med et proof of concept (POC) for et par av deres komplekse dashboards. På slutten av POC, som strakte seg over en måneds tid, delte teamet sine funn.
For det første er QuickSight rik på BI-funksjoner, inkludert følgende:
- Det er en selvbetjent BI-løsning med dra-og-slipp-funksjoner som kan hjelpe redBus-analytikere komfortabelt å bruke den uten koding.
- Visualiseringer fra flere datakilder i et enkelt dashbord kan hjelpe redBus forretningsinteressenter med å få en 360-graders oversikt over salg, prognoser og innsikt i én enkelt glassrute.
- Kaskadefiltre på tvers av visuelle elementer og på tvers av ark i et dashbord er sårt tiltrengte funksjoner for redBus sine BI-krav.
- QuickSight tilbyr Excel-lignende bilder – tabeller med beregninger, pivottabeller med cellegruppering og stil er attraktive for seerne.
- Den superraske, parallelle, minneberegningsmotoren (SPICE) i QuickSight kan hjelpe redBus med å skalere til hundretusenvis av brukere, som alle samtidig kan utføre rask interaktiv analyse på tvers av en lang rekke AWS-datakilder.
- Hyllevare ML-innsikt og prognoser uten ekstra kostnad vil tillate redBuss datavitenskapsteam å fokusere på ML-modeller i tillegg til salgsprognoser og lignende modeller.
- Innebygd sikkerhet på radnivå (RLS) kan tillate redBus å gi filtrert tilgang for seerne sine. RedBus har for eksempel mange forretningsanalytikere som administrerer ulike land. Med RLS ser hver forretningsanalytiker kun data relatert til det tilordnede landet i ett enkelt dashbord.
- redBus bruker OneLogin som sin identitetsleverandør, som støtter Security Assertion Markup Language 2.0 (SAML 2.0). Ved hjelp av identitetsføderasjon og støtte for enkel pålogging fra QuickSight, kan redBus tilby en enkel onboarding-flyt for QuickSight-brukerne.
- QuickSight tilbyr innebygde varsler og e-postvarslingsmuligheter.
For det andre er QuickSight et fullt administrert, skybasert, serverløst BI-tjenestetilbud fra AWS, med følgende funksjoner:
- redBus-ingeniører trenger ikke å fokusere på det tunge løftet med klargjøring, skalering og vedlikehold av BI-løsningen på EC2-instanser.
- QuickSight tilbyr integrering med AWS-tjenester som Amazon Redshift, Amazon S3 og Athena, og andre populære rammeverk som Presto, Snowflake, Teradata og mer. QuickSight kobles til de fleste datakildene som redBus allerede har bortsett fra Apache Druid, fordi integrert integrasjon med Druid ikke var tilgjengelig i desember 2022. For en fullstendig liste over støttede datakilder, se Støttede datakilder.
Resultatet
Med tanke på alle de rike funksjonene og lavere totale eierkostnader, valgte redBus QuickSight for deres krav til BI-dashbord. Med QuickSight har redBus sine dataingeniører bygget en rekke dashboards på kort tid for å gi innsikt fra petabyte med data til forretningsinteressenter og analytikere. RedBus-datamotorveien utviklet seg for å bringe forretningsintelligens til et mye bredere publikum i organisasjonen deres, med bedre ytelse og raskere tid-til-verdi. Fra november 2022 kombinerer den QuickSight for forretningsbrukere og Superset for sanntids APM-dashboard (i skrivende stund tilbyr ikke QuickSight en innfødt kobling til Druid), som vist i følgende diagram.
Dashboard for oppdagelse av salgsavvik
Selv om det er mange dashbord som redBus distribuerte til produksjon, er deteksjon av salgsavvik et av de interessante dashbordene som redBus bygde. Den bruker redBus sin proprietære salgsprognosemodell, som igjen er hentet fra historiske salgsdata fra Amazon Redshift-tabeller og sanntids salgsdata fra Druid-tabeller, som vist i følgende figur.
Med jevne mellomrom mater de planlagte jobbene redBus-prognosemodellen med sanntids- og historiske salgsdata, og deretter skyves prognosedataene inn i en Amazon Redshift-tabell. Dashbordet for oppdagelse av salgsavvik i QuickSight betjenes av den resulterende Amazon Redshift-tabellen.
Følgende er en av bildene fra dashbordet for oppdagelse av salgsavvik. Den er bygget ved hjelp av et linjediagram som representerer faktiske timesalg, anslått salg og en varslingsterskel for en tidsserie for en bestemt forretningskohort i redBus.
I denne visualiseringen representerer hver stolpe antallet salgsavvik som er utløst på et bestemt tidspunkt i tidsserien.
RedBuss analytikere kan gå videre til salgsdetaljer og anomalier på minuttnivå, som vist i følgende diagram. Denne drill-down-funksjonen kommer ut av esken med QuickSight.
For mer informasjon om hvordan du legger til drill-downs til QuickSight dashbord-visualisering, se Legger til drill-downs til visuelle data i Amazon QuickSight.
Bortsett fra det visuelle, har det blitt et av seernes favorittdashboard på redBus på grunn av følgende bemerkelsesverdige funksjoner:
- Fordi filtrering på tvers av visuelle elementer er en klar funksjon i QuickSight, er et tidsstempelbasert filter lagt til dashbordet. Dette hjelper til med å filtrere flere bilder i dashbordet med et enkelt klikk.
- URL-handlinger konfigurert på det visuelle hjelper seerne med å navigere til de kontekstsensitive interne applikasjonene.
- E-postvarsler konfigurert på KPIer og Gauge-visualiseringer hjelper seerne med å få varsler i tide.
Neste trinn
Bortsett fra å bygge nye dashbord for deres behov for BI-dashbord, tar redBus følgende trinn:
- Utforske QuickSight Embedded Analytics for et par av applikasjonskravene deres for å akselerere tiden til innsikt for brukere med datavisuals i kontekst, interaktive dashbord og mer direkte i applikasjoner
- Utforske QuickSight Q, som kan gjøre det mulig for bedriftens interessenter å stille spørsmål på naturlig språk og motta nøyaktige svar med relevante visualiseringer som kan hjelpe dem med å få innsikt fra dataene
- Bygge en enhetlig dashboardløsning med QuickSight som dekker alle datakildene deres etter hvert som integrasjoner blir tilgjengelige
konklusjonen
I dette innlegget viste vi deg hvordan redBus bygde sin dataplattform ved hjelp av ulike AWS-tjenester og Apache-rammeverk, utfordringene plattformen gjennomgikk (spesielt i deres BI-dashboardkrav og utfordringer under skalering), og hvordan de brukte QuickSight og reduserte totalkostnaden. av eierskap.
For å vite mer om engineering hos redBus, sjekk ut deres medium blogginnlegg. For å lære mer om hva som skjer i QuickSight eller hvis du har spørsmål, ta kontakt med QuickSight-fellesskap, som er svært aktiv og tilbyr flere ressurser.
Om forfatterne
Girish Kumar Chidananda jobber som Senior Engineering Manager – Data Engineering hos redBus, hvor han har bygget ulike dataingeniørapplikasjoner og komponenter for redBus de siste 5 årene. Før han startet sin reise i IT-bransjen, jobbet han som mekanikk- og kontrollsystemingeniør i forskjellige organisasjoner, og han har en MS-grad i Fluid Power Engineering fra University of Bath.
Kayalvizhi Kandasamy jobber med digital-native selskaper for å støtte deres innovasjon. Som Senior Solutions Architect (APAC) hos Amazon Web Services bruker hun erfaringen sin til å hjelpe folk å bringe ideene sine ut i livet, og fokuserer først og fremst på mikrotjenestearkitekturer og skybaserte løsninger som bruker AWS-tjenester. Utenom jobben liker hun å spille sjakk og er en FIDE-vurdert sjakkspiller. Hun trener også døtrene sine kunsten å spille sjakk, og forbereder dem til ulike sjakkturneringer.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. Tilgang 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-graders
- a
- Om oss
- akselerere
- adgang
- tilgjengelig
- Ifølge
- nøyaktig
- tvers
- handlinger
- aktiv
- Ad
- la til
- Ytterligere
- adressering
- adoptere
- påvirke
- Etter
- mot
- Varsle
- Alle
- allerede
- Amazon
- Amazon EC2
- Amazon QuickSight
- Amazon RDS
- Amazon Web Services
- beløp
- analyse
- analytiker
- analytikere
- Analytisk
- analytics
- analysere
- og
- anomali påvisning
- svar
- APAC
- Apache
- Søknad
- søknader
- Påfør
- apps
- arkitektur
- rundt
- Kunst
- tildelt
- attraktiv
- publikum
- forfatter
- automatisk
- tilgjengelig
- AWS
- Backend
- sikkerhetskopier
- Bar
- basert
- fordi
- bli
- før du
- være
- Bedre
- Blogg
- Eske
- merke
- merker
- bringe
- megler
- bygge
- Bygning
- bygget
- innebygd
- buss
- virksomhet
- business intelligence
- som heter
- evner
- bil
- saken
- saker
- katalog
- Årsak
- utfordringer
- Endringer
- Figur
- kartlegging
- sjekk
- Sjakk
- valgte
- Byer
- City
- Cloud
- Koding
- Cohort
- skurtreskerne
- Selskaper
- Selskapet
- fullføre
- komplekse
- kompleksiteten
- komponent
- komponenter
- omfattende
- Beregn
- konsept
- tilkoblet
- forbinder
- Vurder
- kontroll
- Kostnad
- Kostnader
- kunne
- land
- land
- Par
- dekker
- skape
- Opprette
- kunde
- Kundeservice
- Kunder
- tilpasning
- tilpasse
- dashbord
- dato
- Data Lake
- Dataplattform
- datavitenskap
- datavisualisering
- datalager
- data-drevet
- Database
- dag
- Desember
- avgjørelser
- Grad
- Etterspørsel
- utplassert
- distribusjon
- destinasjonen
- detalj
- detaljer
- Gjenkjenning
- Utvikler
- utviklere
- enhet
- DevOps
- gJORDE
- forskjellig
- dimensjoner
- direkte
- diskutere
- distribueres
- dokument
- ikke
- gjør
- ikke
- ned
- Druid
- slitestyrke
- under
- hver enkelt
- lett-å-bruke
- innsats
- innsats
- emalje
- innebygd
- EMEA
- ansatte
- muliggjøre
- Motor
- ingeniør
- Ingeniørarbeid
- Ingeniører
- enterprise-klasse
- Hele
- spesielt
- Eter (ETH)
- hendelser
- utviklet seg
- eksempel
- Unntatt
- forventet
- erfaring
- leting
- Utforske
- omfattende
- ekstremt
- møtt
- vendt
- FAST
- raskere
- Favoritt
- Trekk
- Egenskaper
- Føderasjon
- felt
- Figur
- filtrere
- filtrering
- filtre
- passer
- Fix
- fleksibilitet
- flyten
- Flows
- Fokus
- fokusering
- etter
- skjema
- Fundament
- rammer
- vennlig
- fra
- fronted
- fullt
- funksjon
- videre
- Gevinst
- få
- Gi
- glass
- Global
- innvilge
- grafer
- Gruppe
- Økende
- lykkelig
- å ha
- tungt
- hjelpe
- hjelper
- Høy
- høyere
- svært
- Hovedvei
- historisk
- holder
- vert
- Hvordan
- Men
- HTML
- HTTPS
- Hundrevis
- Ideer
- identifisere
- identifisering
- Identitet
- in
- inkluderer
- Inkludert
- Innkommende
- økt
- india
- individuelt
- industri
- informasjon
- Infrastruktur
- Innovasjon
- innsikt
- integrering
- integrasjoner
- Intelligens
- interaktiv
- interessant
- intern
- inventar
- utstedelse
- saker
- IT
- IT-bransjen
- selv
- Jobb
- ble med
- reise
- JSON
- Kafka
- holde
- Vet
- kunnskap
- KYC
- innsjø
- Språk
- største
- Siste
- lag
- ledende
- LÆRE
- Nivå
- Lisensiering
- Life
- løfte
- begrensninger
- linje
- Liste
- laste
- loader
- lasting
- Se
- Lav
- vedlikeholde
- gjøre
- GJØR AT
- Making
- administrer
- fikk til
- leder
- obligatorisk
- håndbok
- manuelt
- mange
- midler
- mekanisk
- melding
- metadata
- Metrics
- microservices
- millioner
- minutt
- ML
- Mobil
- mobil-apps
- modell
- modeller
- overvåking
- mer
- mest
- MS
- flere
- MySQL
- innfødt
- Naturlig
- Naturlig språk
- Naviger
- Trenger
- nødvendig
- behov
- Ny
- neste
- Nginx
- bemerkelsesverdig
- varsling
- varslinger
- November
- Antall
- objekt
- Objektlagring
- tilby
- tilby
- Tilbud
- onboarding
- ONE
- på nett
- åpen
- åpen kildekode
- operert
- drift
- operasjonell
- Drift
- operatør
- operatører
- rekkefølge
- organisasjon
- organisasjoner
- Annen
- utenfor
- egen
- eierskap
- brød
- Parallel
- del
- Spesielt
- Ansatte
- utføre
- ytelse
- rørledning
- Pivot
- Sted
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- spiller
- spiller
- PoC
- Point
- Populær
- portefølje
- mulig
- Post
- makt
- spådd
- forbereder
- primært
- primære
- Før
- prosess
- Produksjon
- fremtredende
- bevis
- proof of concept
- proprietær
- gi
- forutsatt
- leverandør
- gir
- gi
- presset
- Python
- spørsmål
- rail
- raskt
- Sats
- å nå
- sanntids
- sanntidsdata
- realisert
- motta
- region
- regelmessig
- i slekt
- relevant
- representerer
- representerer
- påkrevd
- Krav
- Ressurser
- Resultater
- inntekter
- Rich
- root
- Kjør
- salg
- skalerbarhet
- Skala
- skalering
- planlagt
- Planlagte jobber
- Vitenskap
- sømløst
- søker
- seksjoner
- sikkerhet
- Sees
- Selvbetjening
- sending
- senior
- Serien
- server~~POS=TRUNC
- tjeneste
- Tjenester
- servering
- flere
- Del
- delt
- vist
- lignende
- Enkelt
- samtidig
- enkelt
- Slice
- So
- løsning
- Solutions
- Snart
- kilde
- Kilder
- krydder
- SQL
- interessenter
- Standard
- startet
- Start
- Steps
- lagring
- oppbevare
- lagret
- butikker
- suite
- støtte
- Støttes
- Støtte
- Støtter
- syntaks
- Systemer
- bord
- ta
- Oppgave
- lag
- vilkår
- De
- verden
- deres
- derfor
- tusener
- terskel
- Gjennom
- billettsystem
- billetter
- tid
- Tidsserier
- Tidsbestemt
- til
- sammen
- verktøy
- Totalt
- Turneringer
- mot
- Sporing
- trafikk
- reiser
- reisende
- reisende
- utløst
- SVING
- enhetlig
- universitet
- ubegrenset
- Oppdater
- Opplasting
- us
- bruke
- Bruker
- Brukere
- verdi
- Verdier
- variasjon
- ulike
- av
- Se
- seere
- nesten
- visualisering
- volum
- Warehouse
- web
- webserveren
- webtjenester
- Hva
- Hva er
- hvilken
- mens
- HVEM
- bred
- bredere
- vil
- Vinner
- innenfor
- uten
- Arbeid
- arbeide sammen
- arbeidet
- virker
- verden
- Verdens
- ville
- skriving
- år
- zephyrnet