DevOps Tooling event Amazic
-
Upload
bas-van-oudenaarde -
Category
Software
-
view
149 -
download
0
Transcript of DevOps Tooling event Amazic
MainframetoμServices
• 166yearsofbrickandmortarwantstododirectsales• 20+yearsonmainframetechnology,Javaontop,notfutureproof• Businessneedsabilitytoexperimentandchangefast• Manyattemptsstartedtocomplex.Greenfieldreboot:• Agile• μServices• FlexibleInfrastructure
Getthestuffdeployed!
• 2yearsofDev-effort,sofaronlylocaldemo’s• DevandInfrateamsbusyignoringeachother• TimetorunMVPreleaseonrealsystems• Tminus6m:Startfromscratch,hirehelp!• Scaleoutprincipleswithgrowingnumberofμ-Services• Butwait,dowehaveproperreleasesofoursoftware?
Anyway,Pleasedeploy!
ContinuousIntegration(CI)decoupledfocusonCD…
ALM SCM Build Analyze Reposit.Test
Unittesten
Promote(nextHop,)Deploy() test()Check
Promote()
Quality-GateKeeper
• CIsetupwasmoreorlesssetup
• Hardlyanyreleaseinartifactory(80comp,maybe4components releases)
• StillSVN,makeplanstomigratetoGIT
• TODO:re-structureSVN/Artifactoryandmakeitreleasable
• Configurebuild-tooling inrightway,setupEnterpriseJenkins
Moving in
EnterpriseJenkins->CIJobTemplate• FirstmadenewCI-buildtemplate;improvecurrentCIsteps
• RestructureSVN,onesimpleupdateinCI-buildtemplate• 80jenkinsjobseasyupdated
• RestructureArtifactory(movingfromoldArtitonewArti)+restructureandsplittingartifactstypes• 80jenkinsjobseasyupdated
• Restructuredeploymentflow• 80jenkinsjobseasyupdated
BUTINeedArtifacts,pleaseRELEASE!!!
Andsomemorerequirements…
• FocusonCD.“Immer gerade aus!”Failquicklyandfailsmall.
• Qualitygatesmustblockdeploymentofartifactswhenqualityisinsufficient.
• DeploytoProdonlywhenauthorizedbybusiness.
• Compliance:Logeveryactionanddecisioninthepipelinesforauditingpurposes.
LazyDev,wherearethereleaseofthemicro-services?
• JokingJ butitisaneffortaround80components!Andstillcounting…• Doweneedreleases?Continuous...• Fixingauto-release
SingleStreamPipelines
A
C D
B
A:10,11,12,13,14,15,…
B:3,4,5,6…
C:1,2…
D:300,301,302,…
15 6
2 302
A
C D
B
relatiesomgeving
μService:
1stsetupofcontrol:μ-Servicesswarm…
UPK-10:
{app:[{"name":“portaal","version": “2345","jbgroup": "D03-G01", "flags":"1"{"name":“wijzigen","version": “1234","jbgroup": "D03-G01", "flags":"1“},{"name":"afrekenenleven", "version":“1230","jbgroup": "D03-G01", "flags":"1“}]},…comps:[{"name":“account","version":"20563", "jbgroup": "D03-G01", "flags":"1“},{"name":“polis","version": "20563", "jbgroup": "D03-G01","flags": "1“},{"name":"afrekenenleven", "version":"20563", "jbgroup": "D03-G01", "flags":"1“}]}.…workers:[{"name":“afrekenen","version": "20563","jbgroup": "D03-G01","flags": "1“},…
Declarativeswarmofμ-Services,
Immutableserverconcept,JenkinsascentralHub(ochestrator)
μ-service
Platform
Nuts
μ-service
Platform
Nuts
μ-service μ-
service
Platform
NutsNuts
LabelUPK1VM,Satellite,Puppet
Test,Test,Test,...
μ-service
μ-service
μ-service
μ-service
A
C D
B15 5
7 49
A
C D
B15 6
2 302
Label:upk10+delta
Label:upk10+delta OAomgeving
Testingok?
OBomgeving
Testingok?
A
C D
B15 6
7 302
Label:upk10+delta
Iomgeving
RegressionTestpassed
RegressionTestfailed
UitrolmogelijkT,A,P
AutomatischLabelsindienOk
Continuous DeliverynaarOx,indienoknaarI
Label:upk11
Tryagain
JenkinsasOrchestrator(Pipelineplugin)
Pitfalls
• Not“BuildingthingsRIGHT”– Timepressureà technicaldebtM• Devops?Opsbusysavingtheday,Devsittingbackenjoyingtheride…atfirst• BuildtheRIGHTthing,preventscopecreep• Planning(way)aheadoncapacityofvirtualIT-infrastructure• Nobrainer:4monthsisveryshortperiodoftimetochangeculture,buildplatform,CD-processetc.
NextSteps
• Movingtomorecontainerizationprinciples• Reorg:BringOpsintotheDev-teams• Steppinguponquality,Jenkinsasqualitygate• ScaleoutEnterpriseJenkinstorestoforganization.ControlwithJenkinsOperationCenter• FirstlookovertheshoulderandfeelingproudJ