Hva er Apache Kafka?

Illustration of people working with apps and technology

Apache Kafka er en open source streaming plattform, og brukes til å håndtere datautveksling mellom systemer og til prosessering av data i sanntid.

Kafka ble opprinnelig bygget av LinkedIn for løse deres utfordringer knyttet til enorme mengder data i bevegelse. Dette ble senere til selskapet Confluent, som leverer blant annet Kafka som skytjeneste, og som står bak hovedandelen av bidragene i Apache Kafka-prosjektet. Itera er Confluents første partner i Norge.

Se for deg at du eller din virksomhet er pålagt å rapportere informasjon i forbindelse med et nytt direktiv dere er underlagt. Dataene er fordelt i et utall systemer, og må samles, forstås og presenteres i en rapport – og dette skal gjøres jevnlig. I dag vil dette innebære å involvere IT og andre avdelinger for å finne data som skal analyseres. Sist gang dere gjorde noe lignende innebar det uker med hardt arbeid.

 

Fra 16 uker til få sekunder 

Dette var utfordringen en stor, nordisk bank stod ovenfor da de besluttet å ta i bruk strømmeplattformen Apache Kafka. Ved å samle data fra mange systemer i en enkelt plattform, reduserte de tiden det tok å få underlag og rapportering på plass fra 16 uker til sekunder. I tillegg har de fått bedre oversikt, og kan bruke data på en ny måte til å analysere og styre virksomheten - de har tatt sitt første skritt til å bli en datadrevet virksomhet! 

Lenger ned har vi beskrevet hvordan strømmeplattformen Apache Kafka faktisk fungerer, og hvorfor denne er unik sammenlignet med andre strømmeplattformer. 

Dagens datasystemer er ofte komplekse og uoversiktelige:

Itera Apache Kafka modell 01 uten tittel.jpg

 

Men med Apache Kafka kan man forenkle dette:

Itera Apache Kafka modell 02 uten tittel.jpg

 

Apache Kafka er relevant for alle virksomheter som vil utnytte dataene sine bedre  

Eksempelet fra den nordiske banken er ett av mange. Data vokser eksponentielt, og vi begynner allerede å se konturene av et samfunn som er drevet av at alt blir datakilder - fra biler til kroppene våre. Det samme gjelder for organisasjoner og virksomheter. 

Dette skaper en rekke muligheter, men også utfordringer dersom vi skal fortsette å lagre og håndtere dataene slik vi gjør i dag. 

I dag opplever de fleste virksomheter at dataene er låst i systemer som ikke snakker med hverandre. Man ønsker egentlig én enkelt og felles datakilde for hele virksomheten: et sentralt nervesystem som man stoler på, og som tilgjengeliggjør alle data og hendelser for alle. Dette gjør at man kan reagere etter hvert som data oppstår, og gjøredagens utilgjengelige systemer mer håndterbare og tilgjengelige. 

De fleste organisasjoner står overfor en eksplosjon av data som kommer fra nye applikasjoner, nye forretningsmuligheter, IoT og mer. Den ideelle arkitekturen de fleste forestiller seg er et rent, optimalisert system som gjør det mulig for bedrifter å kapitalisere på alle dataene.

 

Tradisjonelle systemer som ble brukt for å løse disse problemene ble designet i en tid med store distribuerte systemer, og mangler evnen til å skalere for å møte behovene til den moderne datadrevne organisasjonen. 

 

Hva er egentlig Apache Kafka?

Apache Kafka er en streamingplattform designet for å løse utfordringen med store datamengder i en moderne distribuert arkitektur. Opprinnelig ble den utviklet som en rask og skalerbar distribuert meldingskø, men har raskt utvidet seg til en fullstendig streamingplattform som ikke bare tillater publisering av eller abonnering på data, men også lagring og behandling av data i sanntid.

 

Apache Kafka er en såkalt "distributed streaming platform", og har tre nøkkelfunksjoner: 

  1. Å publisere til og abonnere på strømmer av data eller hendelser, lignende en meldingskø eller meldingssystem.  

  2. Å lagre strømmer av data / hendelser sikkert og uten fare for å miste data 

  3. Å prosessere strømmer av hendelser mens de skjer - i sanntid  

 

Apache Kafka brukes vanligvis på to hovedområder:

  1. Bygge sanntids datastrømmer (pipelines)som garanterer riktig distribusjon av data på tvers av systemer og applikasjoner 

  2. Bygge strømmeapplikasjoner som i sanntid transformerer eller reagerer på strømmen av data 

Plattformen ble først utviklet av LinkedIn i 2011, og ble open sourced 2012. Apache Kafka har siden den gang utviklet seg fra å være en enkel meldingskø til å bli en fullverdig streamingplattform som håndterer trillioner av hendelser om dagen for brukere på tvers av mange bransjer. Tusenvis av selskaper har i dag bygget sin teknologi og databehandling på Apache Kafka, som blant annet Netflix, LinkedIn og AirBnb.

Itera som første Confluent-partner i Norge

Våren 2018 inngikk Itera en partneravtale med Confluent. Selskapet har sin opprinnelse i gruppen som utviklet Kafka i LinkedIn og er i dag den største bidragsyter i open source-prosjektet. Videre har Confluent etablert et økosystem av løsninger rundt Kafka som tilbys i en enterprise-pakke eller som SaaS-løsning hos skyleverandørene Amazon, Google og Azure.

Itera er Norges første offisielle partner av Confluent og deres fremste tilbyder av Apache Kafka streamingplattform. Gjennom vårt partnerskap har vi tilgang til ressurser og kompetanse som kommer kundene våre tilgode. Vi deler også erfaringer fra våre prosjekter med Confluent og deres andre partnere for å bygge et solid internasjonalt nettverk av leverandører rundt Apache Kafka.

Opp i skyen