Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

mbank.devops slides

549 visualizaciones

Publicado el

How we start DevOps in mBank

Publicado en: Software
  • Sé el primero en comentar

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?

×