¡ ¡ ¡ ¡ AD38 ¡ DevOps ¡Practices ¡ 11:30 ¡AM ¡ ¡ ¡ ¡ ¡ ¡ AD38 ¡-‑ ¡Building ¡Quality ¡into ¡Your ¡ Release ¡Pipeline ¡ ¡ Presented ¡by: ¡ ¡ ¡ ¡ Troy ¡Walsh ¡ ¡ ¡Magenic ¡ ¡ Brought ¡to ¡you ¡by: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ 888 -‑-‑-‑ 268 -‑-‑-‑ 8770 ¡ ·√·√ ¡904 -‑-‑-‑ 278 -‑-‑-‑ 0524 ¡-‑ ¡info@techwell.com ¡-‑ ¡ https://agiledevopswest.techwell.com/ ¡ ¡
¡ Troy ¡Walsh ¡ ¡ Troy ¡Walsh ¡is ¡the ¡national ¡quality ¡assurance ¡& ¡testing ¡practice ¡lead ¡and ¡co ¡DevOps ¡lead ¡ for ¡Magenic ¡Technologies. ¡He ¡started ¡his ¡career ¡in ¡the ¡DevOps ¡space ¡as ¡a ¡Release ¡ developer, ¡creating ¡custom ¡build, ¡deployment ¡and ¡installation ¡solutions ¡for ¡Epic ¡ Systems. ¡Following ¡Epic, ¡he ¡transitioned ¡to ¡consulting ¡where ¡he ¡developed ¡a ¡love ¡for ¡ test ¡automation. ¡Troy ¡is ¡a ¡frequent ¡blogger ¡(Magenic.com ¡and ¡CIO.com) ¡and ¡speaker ¡ (Twin ¡Cities ¡Test ¡Automation ¡Group, ¡SauceCon, ¡The ¡Executive ¡Leadership ¡Institute ¡and ¡ more) ¡with ¡a ¡passion ¡for ¡test ¡automation ¡and ¡DevOps. ¡
6.6.19 Building Quality into Your Release Pipeline Troy oy Wals lsh
Overview » A note about tooling » High level overview of DevOps » What we mean by quality » The key to effective DevOps » Core concepts » Live demo » Questions 2
A Note About Tooling » Process over tooling » Let your needs dictate your tools » Beware of the best of breed trap 3
DevOps High-level » Defined Processes Plan • Backlo cklog Groo ooming ming › Transparency • Sprint int plannin nning › Consistency Build ld Monit itor or • Develop elop • Usage ge • Compi mpile le • Failur ilures es • Conf nfigur igure/ e/Deplo eploy • User er feed edback ck • Create e Artif ifact ct » Automation • Suppor port ticket kets • Operabili ility › Deployments › Configuration Test › Testing Oper erat ate • Unit it • Feature ure • Conf nfigur iguration ion • Regres ession ion • Depl ployme oyment nt • Performa manc nce • Healt lth checks ecks • UAT » Fast feedback • Secur curit ity Release lease › Business • Artif ifact • Conf nfigur igure/ e/Deplo eploy › Development • Hosting ing 4
What Do We Mean By “Quality” » Code » Processes » Product » Operability 5
Pl Plan T an To o Fail ail 6
Terms » CI › Continuous integration » CD › Continuous delivery or deployment » CT › Continuous testing 7
Source Control » Where source code lives » Tracks change history » Provides a way to branch *Different source control technologies do this differently » Provides a way to share branches 8
Static Code Analysis » Looks at the source code » Finds style, code quality, test coverage and security issues » A must for any enterprise level application 9
Gates » Criteria that must be met before an automated process can continue » Helps assure quality » Types › Code › Build › Deploy › Quality 10 10
Gated Check-in » Build that runs be befor ore merging changes into a shared branch » Can be part of branch policy » Should only run unit test » Time sensitive 11 11
Triggers » Kicking off a process when an event happens » Event types › CI › Scheduled › Manual › Hybrid 12 12
Build » Group of tasks that compile and/or package content » Content typically comes form source control » Build artifact › A copy of the content created via a build process 13 13
Unit Test » Black box testing » Lives with the application code » Typically done by development 14 14
Package » Taking the results of a build and packaging it to a redistributable form 15 15
CI » CI = Continuous Integration » Build that runs after merging changes into a shared branch » Process by which changes to a shared repository are automatically built and tested with each check-in » CI build artifacts are often used as release candidates 16 16
Deployment » Copying files to a host » Often packages are what get deployed » Example: › Bring down service › Copy over new files › Configure new content › Bring back up service 17 17
CD » CD = Continuous Deployment » Process by which changes to a shared repository are automatically deployed with each check-in » Runs after CI » Often deploys CI artifacts 18 18
Release Pipeline » Process by which changes get released to environments 19 19
Configuration » Global application value » Often needs to be updated for each environment *Especially ally true when build arti tifa facts cts are deployed » Common override strategies › Environment variables › Transform › Scripted › Host override 20 20
CT » CT = Continuous Testing » An automated process which attempts to measure or assure the quality of an automated deployment » Runs as part t of of CD » Often used as a CD gating mechanism » Often, but not always, accomplished by leveraging ATDD and/or BDD practices 21 21
CT - Performance » Verifies the application is responsive » Several different types are load, stress and response time tests. 22 22
Monitoring » Proactively monitor product › Resources › Bottle necks › Synthetic transactions » Find problems earlier › Autoscaling › Blue-Green deployments » Learn › Analytics › User feedback 23 23
What This Looks Like In Practice 24 24
Questions 26 26
7.277.1044 / mage m // // 27 877.277.1044 genic.c .com 27 THANK YOU
Recommend
More recommend