Pünkt­lich zum Jah­res­start stellt saracus einige viel­ver­spre­chende Tools, Platt­for­men und Frame­works vor, die auch Ihnen das Leben erleich­tern kön­nen. Hier ist der Teil 1.

Debe­zium

Vielversprechende Tools und Frameworks für 2019 – Teil 1 Bild1

Die Methode Change Data Cap­ture (CDC) hat viele Anwen­dungs­fälle u. a. das Repli­zie­ren von Daten in andere Daten­ban­ken, die Ver­sor­gung von Ana­ly­tics-Sys­te­men, das Extra­hie­ren von Micro­ser­vices von Mono­li­then und die Cache-Inva­li­die­rung. Als CDC-Platt­form kann Debe­zium Daten­bank­än­de­run­gen auf Kafka The­men strea­men. Dafür nutzt Debe­zium einen log-basier­ten CDC-Ansatz, der auf Ände­run­gen in Log­da­teien reagiert. Saracus hat Debe­zium bereits in aus­ge­wähl­ten Pro­jek­ten erfolg­reich ein­ge­setzt. Beson­ders über­zeugt hat uns die hohe Ska­lier­bar­keit und Resi­li­enz durch die Anwen­dung von Kafka Con­nect. Ins­ge­samt ist Debe­zium eine aus­ge­zeich­nete Wahl, um CDC zu unter­stüt­zen und kann durch CDC-Ver­bin­dun­gen mit zahl­rei­chen Daten­bän­ken ver­knüpft wer­den, wie z. B. Post­gres, Mysql und MongoDB.

DVC

Vielversprechende Tools und Frameworks für 2019 – Teil 1 Bild2

Die Ver­sio­nie­rung von Daten ist ins­be­son­dere für die repro­du­zier­bare Ana­lyse in groß­an­ge­leg­ten Ana­ly­tics-Pro­jek­ten von zen­tra­ler Bedeu­tung. In die­ser Hin­sicht hat saracus sehr gute Erfah­run­gen mit dem Tool DVC gesam­melt. DVC kann bei der Ver­sio­nie­rung von Daten unter­stütz­ten, in dem User ihre Daten in einem git-ähn­li­chen Work­flow an einen remote Cloud Sto­rage-Bucket pushen und com­mit­ten. Dies erleich­tert das Pul­len einer bestimm­ten Daten­ver­sion, um eine Ana­lyse nach­zu­voll­zie­hen. Dabei kann DVC auch die nicht-lineare Struk­tur von ML-Pro­zes­sen berück­sich­ti­gen und jede Hypo­these als einen eige­nen Git Branch darstellen.

TICK Stack

Vielversprechende Tools und Frameworks für 2019 – Teil 1 Bild3

Die Open-Source Zeit­rei­hen-Platt­form TICK Stack setzt sich aus vier funk­tio­na­len Kom­po­nen­ten zusam­men, und ermög­licht das ein­fa­che Spei­chern, Visua­li­sie­ren und Über­wa­chen von Zeit­rei­hen. Die erste Kom­po­nente Tele­graf sam­melt und repor­tet Metri­ken und Events. InfluxDB bie­tet eine hoch­per­for­mante Daten­bank und Chro­no­graf ist das User-Inter­face der Platt­form. Schließ­lich über­nimmt Kapa­ci­tor die Ver­ar­bei­tung der Daten von InfluxDB und die Kom­mu­ni­ka­tion an Chro­no­graf. TICK Stack basiert auf dem Pull-Modell und wird unter­stützt von Influx­Data. Ins­ge­samt über­zeugt uns TICK Stack beson­ders durch InfluxDB als eine der bes­ten Daten­ban­ken für Zeitreihen.

Azure DevOps

Vielversprechende Tools und Frameworks für 2019 – Teil 1 Bild4

Mit Azure DevOps stellt Micro­soft eine Samm­lung von Tools und Ser­vices zur Unter­stüt­zung von Soft­ware­ent­wick­lungs­teams, dar­un­ter Git Repos, CI- und CD-Pipe­lines und Arti­fact Repos, bereit. Wäh­rend das Ver­wal­ten, Ent­wi­ckeln und Ver­öf­fent­li­chen von Anwen­dun­gen an Azure posi­tiv zu bewer­ten sind, stel­len der feh­lende Sup­port für CI- und CD-Pipe­lines als Code, die lang­same Build Agent Start up Zeit und die Tren­nung zwi­schen Build und Release in ver­schie­dene Pipe­lines Her­aus­for­de­run­gen dar. Wir hof­fen, dass die Ser­vices von Azure DevOps sich wei­ter ste­tig ver­bes­sern, um Ent­wick­lern eine gute und rei­bungs­lose Hand­ha­bung für die Bereit­stel­lung von Anwen­dun­gen auf Azure zu ermöglichen.

Apa­che Atlas

Als Meta­da­ten-Frame­work für Hadoop ermög­licht Apa­che Atlas das Model­lie­ren von Meta­da­ten, das Klas­si­fi­zie­ren von Daten­be­stän­den, die Nach­voll­zieh­bar­keit von Daten­ur­sprung- und trans­for­ma­tion und die Daten­er­fas­sung. Durch Import einer Taxo­no­mie kann ein Busi­ness Cata­log erstellt wer­den, um Geschäfts­wis­sen abzu­bil­den. In Kom­bi­na­tion mit einem intui­ti­ven UI erlaubt dies eine schnelle Suche im Daten­ka­ta­log nach Typ, Klas­si­fi­ka­tion, Eigen­schaft oder Stich­wor­ten. Der beson­dere Vor­teil ist eine ver­ein­fachte Kol­la­bo­ra­tion zwi­schen Data Sci­en­tists, Ana­lys­ten und dem Team Data Gover­nance. Unsere jüngs­ten Pro­jekt­er­fah­run­gen zei­gen, dass Unter­neh­men mit stei­gen­den Com­pli­ance-Anfor­de­run­gen auch ein zuneh­men­des Bedürf­nis nach Data Gover­nance ent­wi­ckeln. Apa­che Atlas leis­tet in die­ser Hin­sicht grund­le­gende Gover­nance Ser­vices und kann für neue Anfor­de­run­gen ste­tig erwei­tert werden.

Micro­ser­vices

Vielversprechende Tools und Frameworks für 2019 – Teil 1 Bild5

Unter Micro­ser­vices wird im All­ge­mei­nen ein Ansatz des Soft­ware­de­signs ver­stan­den, bei dem eine ein­zige Anwen­dung als unab­hän­gig ein­setz­bare und ska­lier­bare Ein­hei­ten klei­ner Ser­vices kon­zi­piert wird. Diese ent­kop­pel­ten Ser­vices wer­den um Geschäfts­fä­hig­kei­ten gebaut und kön­nen dadurch unab­hän­gig Mehr­wert schaf­fen. Micro­ser­vices ste­hen somit im Kon­trast zum mono­li­thi­schen Ansatz, der Ser­vices um tech­ni­sche Eigen­schaf­ten orga­ni­siert. Jeder Ser­vice kann eine andere Pro­gram­mier­spra­che und ver­schie­dene Daten­spei­cher­tech­ni­ken ver­wen­den und sollte auf einer eige­nen Maschine lau­fen. Unter­neh­men erhof­fen sich von Micro­ser­vices vor allem neue Tech­no­lo­gien schnel­ler auf den Markt zu brin­gen. Wei­tere Vor­teile sind ein wider­stand­fä­hi­ge­res Sys­tem und eine ziel­ge­naue Ska­lier­bar­keit ein­zel­ner Services.

Zwar haben in der Pra­xis einige Unter­neh­men bereits eine geschich­tete Micro­ser­vices Archi­tek­tur über­nom­men, doch orga­ni­sie­ren sie ihre Ser­vices wei­ter­hin um tech­ni­sche Rol­len, so z. B. Pro­zess APIs oder Sys­tem APIs. Die­ser Ansatz steht im Wider­spruch zu Micro­ser­vices und lei­det an einer lang­sa­men und kos­ten­in­ten­si­ven Abstim­mung zwi­schen ver­schie­de­nen Fach­teams. Des­halb soll­ten Unter­neh­men genau dar­auf ach­ten, Ser­vices um Geschäfts­fä­hig­kei­ten zu orga­ni­sie­ren, um damit von den Vor­tei­len von Micro­ser­vices zu profitieren.

In cloud-basier­ten Umge­bun­gen haben sich Micro­ser­vices zum vor­herr­schen­den Ansatz ent­wi­ckelt. Trotz­dem sollte die Ent­schei­dung für Micro­ser­vices ins­ge­samt gut über­legt sein. Micro­ser­vice Envy bezeich­net die Gefahr, dass Teams ihre Archi­tek­tur mit zahl­rei­chen Ser­vices ver­kom­pli­zie­ren, nur weil Micro­ser­vices gerade im Trend lie­gen. Unter­stüt­zung mit einer kom­ple­xen Anzahl an Micro­ser­vices kön­nen Platt­for­men wie Kuber­netes leis­ten, um den Ein­satz von Micro­ser­vices zu erleich­tern. Wich­tig ist, dass Micro­ser­vices Kom­ple­xi­tät in der Ent­wick­lung gegen Kom­ple­xi­tät im Ablauf ein­tau­schen. Des­halb erfor­dern sie eine solide Grund­lage von auto­ma­ti­sier­tem Test­ing, ste­ti­ger Belie­fe­rung und eine DevOps Kultur.