Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

mbank.devops slides

603 Aufrufe

Veröffentlicht am

How we start DevOps in mBank

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

mbank.devops slides

  1. 1. míank TW" "MB Produkty Masne v wam o Hutt í l-Jnlnnuaqn-nli llmnnnaullr annan. , Desktop Theslory Somenumbers Architecture LET ï Ti' f IH i . EAwFłrwlEší ) Pïl"lł«l 233%" mBank ka! WAY! VIIMI Piïfåšíï'
  2. 2. Arial” j -u~«. ... .~. ... =« EEN: r- r: *já “www” _ . ' ił0"' Project i continues build Enviroments i Sum up : Asian-w 'g' g' q-nnaunuunr-xaa allimliúlllll; Hey, did you know that New mBank. .. o is built on . NET stack - utilizes ASP. NET MVC 3 o is an SPA based on Backbone. js Sounds like any modern web dev project, but there was one major difference. and Complex : )
  3. 3. lèïęjm. i 74 ? Nuadh u ãäuumæ- Project i continues build l i Enviroments i : raru-w 'ahau-m ł-í i' * : Iadmtiauu: THE PROJECT IN ROUGH NUMBERS: 6 milestones 8 Ul/ UX dev teams 18 months 171 SLN ñles 983 used packages 5045 JS tiles 12766 CS ñles 71613 versions of packages 712143 package downloads ~4.7 mln lines in CS, JS, HTML & CSS
  4. 4. míånk Team NmB T Produkty Masne v mm. ” A s' za a: i m. .n. u.= .«. ..nn : nvnnnnane E Hllnlų- Desktop 111esmry somenumbevs Architecture ('J vw/ HT [IF IETÊ 'Fi LALÉE P* AV ` Mi i' , Hr 'Iinms 31:1? : i Ê-ñl orolnhipllløæeiterøíl, valium _Vlłllll pmjleloií te: Ullllmšlïl: Fllllmalłãlïïøllłali “HHHLIHOIIIIQHIIV Wllllíïłlàdilnlølłaųg* mmm ewmel
  5. 5. Team Nma Pvodukty wàasne mBank s' m o buie @ í Desktop Thestory Somenumbers Architecture NMB ARCHITECTURE IN IOOO WORDS : wa sw W Hup SN DE s, ams iTK TN g . i. j . i Jl/ LWX sn X LnadBalanDe aan Balancer nadBalanDer DÊQMS _ - DB s. aeons ? van sn ýx l x g . i « i: .vm sw ' w
  6. 6. - w. "*"""""a“ Ti 'antanut-w l , - -i l t - ' rem Project I continues build i Enviroments i Sum up = W'. l. i, is suílñlltiiniituåa Ci TOOLS o | v Teamcity -Continuous build - åJenkins - lnstallation tool o - Scripts
  7. 7. v ęføłtł ru:1111 = ... r.. ,.. i=. ... - E . s-. ... .._. Build process Artifact Sharing míånk Team NmB i ierodukty Masne v wylogu] o eLLTiC 'li « ~r . i TÉJÊíT : ir i; “ii-až -r I r~ a . i T "Ê . ~ Vnroïtųv/ "tent : mv/ e eulłolnłzilłwom : xvrapy/ FXQIIKSHÊ ~ "ni niíłæll "tzieii : mr e elųitolnlręiltnøilęnkx/ ~ ini pirqpirmílųtoiítom - msiniųrall om läojlllf-kii a fm giroxoilųtøiïtøiui - 'Ilłf-_llllłåli mi xeiçiųteięii
  8. 8. llàïàlii' i -. s.. ... ~.. ..= . l Project continues build i = in” “na simieiauimaiua INSTALLATION ON TEST ENVIRONIVIENTS v On dev test env - automatic on every request v On official test env - automatic daily v On preproduction - manual on request v On production - manual on request lnstallation on production was rare. Officially once for few months, excluding hot-fixes. But this just changed : )
  9. 9. 7` *w ~= . łsølhr I i 1 a Project continues build i Enviroments i Sum up iilllFlłu-Jlèxw ARTIFACT SHARING FROM ANCIENT UP TO NOW Sharing external artifact is always a problem. Independent of technology the process goes more or less same. And same errors are repeatedz)
  10. 10. Team Nina Pwdukíy wàasne mBank i eina buie @ í Build process Artifict sharing ANCIENT (BEFORE 2000) Usually it begin like this: solution eipioiei m 'o ~ . a Êi P e , , . . c , 55] sohnion (om . igjüwrwołęhzplíatiønïęxl l> p Properties l> -n Rdevincéš Eli Scmsthing dll l> c- viegiam : S
  11. 11. r erect : An-nuo anihnnnane F a-. ... .._. Build process miract sharing míånk Team NmB i_ Produkty Masne v Wim. ” 0 Art al' , íI El ilT FIAiFIT g ? nie i iinrvmitłri ~ ii ololnnlpllla atv/ aløykvlvliralra frons. ~ vhusnoni ololniiroll : xvleitclnle 'te 'clearer ~ Diiïtvlųllí Iilglvïlaltms nręlnralglalnnrani
  12. 12. :Melvin-raam MIDDLE AGES (2000-2010) v FAROOT - We move artifacts to shared space v BTW: Maven was created v More or less dependency managment was like:
  13. 13. “iwi”. i 1 . i “ - : wam Project continues build i Envlroments i Sum up PROBLEMS OF MIDDLE AGES v Difñcult to get LATEST version v When should we get dependencies: - Once? - Build? - On request? v If l have LATEST version which exactly version I got: - Build time LATEST? - lnstallation time LATEST? v How to manage security hot-fixes like: 3.0.0.1?
  14. 14. - "' '= " 'i' j " - ~ P! m n Prvduklywłasn . l Hlłäýl u Www: Project continues build l Envtroments ` Sum up : Milanu-max: RENAISSANCE A lot of dependency management tools like: o NuGet o Maven - Npm o Bower ' [m]
  15. 15. v ęføłtł Inanda = ... n.. ,.. m.. ..- T . a-. ... .._. Build process mina Sharing míånk Team NmB l Produkty Masne v wylogu] o Wa” i *ÉnLEVí 'A n Ê 'F N *n *' Én : T r <ItemGroup> (Reference Inc1ude= "Autofac, Version=3.3.0.ø, Cu1ture= neutral, Pu <SpecificVersion>Fa1se</ Specificversion> <HintPath>. .XpackagesXAutofac.3.3.1X1ibXnet40XAutofac. d11</ Hint </ Reference>
  16. 16. v ęføłtł Inanda = ..rn. .,. .r= ... .- T . a-. ... .._. Build process mina Sharing míånk Team NmB F Produkty Masne v was. ” 0 T Www mari: oliwïłalpia) : Idiale: :iłonli ` Mail Vl= llšlTOlll~`-= ~0Êl= l0ii= .ll= l0Ê| om Tlàełøllllïłølnn iiplplłàuolølllíïgl ill: ławali : mi : iíllnua na: Elizma onu-ittaulų: * Êhłgisłlløíłantøïtàł: àzłilęløiłzxøfl 'to' ofllmoliollïm Vlúlii IKO' Vlałlełïolnt. <ItemGroup> (Reference Include= "Autofac, Version:3.3.0.ø, Cu1ture= neutra1, <Specificversion>Fa1se</ Specificversion> <HintPath>. .XpackagesXAutofacX1ibXnet40XAutofac. d11</ HintPat </ Reference)
  17. 17. .Mnr 1 e. ' i " _ _ ýłgsę; Project l continues build l Enviroments l Sum up HIHFIHIIJIQXN THE FUTURE o Ripple ideas are implmented in vNext o Project. json allows to specify versions with wildcards or empty for latest { "dependencies": { "He1íos": "Klnalpha-builg. ujęueryu: }. "confígurations": ( "net4S": ( }, "k1ø“: { ; ) , "(ommands": { )
  18. 18. ?na 311-1111* V ųnuinnuiaqainlltí T annan-u. , Tokenilitinn lnstallation Log chaos míånk Team NmB F Produkty whsne v was. ” 0 TT Ił-IEÊ *l lZ. :l. `l'l*Ê 'nl
  19. 19. v ęføłtł 311-1111* V ųnuinnuiaqainlltí T annan-u. , Tokenilitinn lnstallation Log chaos Eank TRV" "WB l Produkty whsne v “Mom” H l" 'T T T 'FH i Külęlølinnlà ? klem-Il oionlïtglllłaiíłolll ~ Aïll oiolniíbulniíłcni lui lila raipxoiełïiølųv' ~ Taungllęliaia -= :InmlølllnlàlllïTłãlílålålhł:
  20. 20. 'Izinmuiac 11; wuųw, , ? Ver ~l Project l continues build Envlroments Sum up mini n. Ilnnllhlíl-JAI : nia m'
  21. 21. v ęføłtł : Annual V ųnuinnuiuqainlltí T arm-u. , Tokenilitinn lnstallation Log chaos míånk Team NmB F Produkty whsne v mmm 0 FLE Éïi i T 'PW 'l i iT ållilglollliï Êoraieiłøięillil' mislei-ike. ïlllllmmllgl lAitounmlI-mar l íhlięi oionliiãloií l šiãllVlãli = i , mii l gruik. l ÉonAi-: llnigi diagram âllløïl -àruøiųiñv
  22. 22. v ęføłtł : Annual V (uAin-iuiuqai-lltí T min-u. , Tokenilitinn lnstallation Log chaos míånk Team NmB F Produkty whsne v mmm 0 Ê al i" FLE E) ii 'PN 'l i wlT <add name= "contractX" path= "X" server= "drev. mbank. p1" port= "8888" binding= "TCP" serverThumbPrint= "29[. ..]76" c1ientThumbPrint= "98[. ..]84"/ >
  23. 23. v await* nie. i a. r.. n.. .e. «.. .no E aan-n. - Tokenilitinn lnstallation Log chaos míank Team Nma T Produkty whsne v mm. ” 0 ? mre l FronráleituAIï. uomïtęuilęliłørai Éoruiwerunl olltemi : inruil : rumen l 'Êłolliïtęllllålíłølli i: ełinllplliíłaoïl ~ 'tonrngiųiręritørni dilemma. eireenrev/ "rw lprrorprergreite *Êh1nl~f» ~ Vrorojleeolireiųghr: alràaoiliíiłolllii tol , ølmsłaręłaiła ~ "leraar-ml arcllliilt-rm
  24. 24. míank TeamNmB Prøduktywlasne v wogu] o ` u: t: V Tunnual l-inrn-r-ruvii-rlri l manna-Tai, - Tukemzarion lnstallation Logcriaos F F' ñAX-"h “iii LAx`("'F' u' F" Ti rłgggmx 7 I: r _NN , e : Igtl gif* AF' . ' 'l "T ' l' on, :gL--ł- _fairy ? gv T V li' [Ln _ ~ lïlireil l m 'ÊIoiic1pl! l~e» oïtupirørv' l r"l_| ,o], or: ií ~ ? urirlrerłšłireill “ ? hierin : ruimte * l--Jl
  25. 25. Team Nma Produkty wóasrie mBank T v 'wild í Tokenizatlon lnstallation Logchans lO YEARS AGO RELEASE MANAGEMENT? riirs lllllllllłilllllllljejllęsifll generalounel
  26. 26. .llseinrl l 1 al T _ _ ýłgsez: Project l continues build l Enviroments l Sum up 'r-lkurirgiit-iul W. a-. išadisr-x- PS_ENV o lt is our custom PowerShell scripts a lt setups: websites, windows services, SQL Server (plain SQL, SSlS, SSAS, SSRS), execs o Config generation o Packages downloader
  27. 27. Team NmE mšank T s' za car : Annual (ainin-rureuai-ilti Tokenization lnstallation Log chaos Wag-AJ l Produkty whsne ~ VAVI: łurøwx uzłęrøilllr/ 'vrlliiłoiii l 'Mea ołaini (agent l “lila pinroreme. 'te íliilllrl elli prertoiliræ. vuur: ęipigilteroïl eoirsięiítøni prnrorenae “Areituoil
  28. 28. 1 stum-w fèsw: Project continues build 1 Envíroments l Sum up 'bynaam-up minimum šmwuw-sųl-xsnls(vsa1»'l v x n SELECT [lnvrýïd] . lPacchIdl , [lxecnace] , lmuxnxamxxnæal , [krkeúlsnelened] , [Lasclødhane] nou [abo] . [nhpmmgggų 3 Runa: | g Mwanssl Emyld PalnHd men” Måwmalnłn MarkedAsDdełgd LexlMndDale A | _A1 l wmaømøusų znmnnunzsnannv Lumumba n znmnnunasnannv 2_ 2 łacannrmnd : namn-m Iu : s m na7 lncdwmDh : a n : maan-m IU : s m nu L a wæuænøwųa w! annan-m In in In 257 hnmmDh-Dalnxd n zuli-In-m In sn In 257 _4_ 4 Devicelïalłlg sal Zula-mm m sn m 357 Dmnužmłigxd n znmn-m vn sn vn 357 5_ 5 wxłMcsxww w! znmnwnanln aan vuåxMesxawlsųl n ZDHIUMIUBUIU 400 L s Fin15: n: zn13-1n-nunann427 Rnłexw? n 2nmn-m1nw1na7 7_ 7 ? man : al ZUIJ-ID-uł In sn In un namm zu n znu-In-m In sn In un _n_| n łncatinnbbFvncmAvłałthl sa! znmn n: un nn 15 aan lnwwmbbłïmnedmęhlúxï sal n znu vn nl vn nn 15 aan L s wæmyoboæavaxwv su : m: vn nn cs as nn 2:93 lncawwnDb Daxææcm m: n 2n13 Iü on ns as na 2:33 -
  29. 29. V -ønzuaur u nízjnnz- l Project continues build l Sum up Tñkïllłñlíł-nl Ilñçllhlïl-Jll i. :fi T LOG CHAOS MANY LOG DESTlNATIONS Event Log Files - lots of files SQL Database ? ??
  30. 30. E TEEN! NWIE Produkty Masne v A ę' v! ti Ell-Rum V q-uinnuiadan-nri T -*"""I~' Tokenlzalion lnstallation Lag chaos L. " "Fi *T HAT f? IM' i : « ï M: ;rí *raw 'ÊTFłIL r- ? n IFłE E Elia ïøllnłãlïš i 'Êłëlłaųiølłhłš email Iljłslllïlílïllł-
  31. 31. mBank Team NmH Pvcdukty wiasne v wyiogu] o ? na iuuiiii í Tokenization lnstallation Logmaos LOG CHAOS DIFFERENT PURPOSE o Audit log o Performance logs o Developers logs and distrubuted enviroment
  32. 32. V 'łIiluäUF u . éïànz- l Project continues build Enviroments Sum up Talïtillłtalíł-ni unçIIm-*i-m i. “ii T ELK Éö '35 Po' S. i -`- Logstash - Data collection, parsing, and enrichment . Elasticsearch - Distributed, search and analytics ięíųñjåá Â Kibana - Data visualization platform o r. ,log. co nxLog - light-weight data collector agent
  33. 33. “iwi”. 1 . . Project l continues build Enviroments l Sum up -r-lnanmm-m IIHEHFIÊIIID v: 'na
  34. 34. mBank Team Nma Pvcdukty wàasne v Wwagul c, V 5:93 iuuiiii @ Th! and THE END INTERESTED? WANT MORE? LOOKING FOR A JOB? o piotr. stapp@mbank. pl marcin. przekop@accenture. com o Twitter: @ptrstpp95O a Blog: piotrstapp. azurewebsites. net o Survey: https: //www. surveymonkeycom/ s/XFJZBFX QU ESTIONS?

×