h ow-to d e vops - eng.verizondigitalmedia.com · h ow-to d e vops wh ig e h lco-le mavee l "...
TRANSCRIPT
HOW-TO DEVOPS
AN INTRODUCTION TO CI/CDWelcome "How to DevOps"high-level overviewcontinuous integration, delivery, deploymentapplicable for all projects
But, what is DevOps?
OBJECTIVESHigh-level Overview (What & Why)Components (How)Demo!
high-level, whats and whysparts and how to put togetherlight-weight example
DEVOPSIntegrate developer and operation teams to
improve collaboration and productivity
Collaboration teamsidea to production.
enhancements, requirements, bug fixesDevOps includes
CulturePhilosophyDifferent Processes
CI/CD helps us do the DevOps.
CI/CDContinuous
Integration / Delivery / Deployment
Release
Develop
Build
Test
Stage
Practice to improve software development
WHO IS CARLOS MEZA
SYSTEMS ADMINISTRATORWorks on the EdgeCast CDN at Verizon Digital Media ServicesConfiguration Management
@DIGITALR00TS
EdgeCast/VDMSSalt, Chef - started doing CI/CDTwitter - slides
DISCLAIMERViews and opinions expressed are of my own andnot of my employer or any other entity.Third party content used is under "Fair Use" as thisintended for educational purposes.Logos and trademarks belong to their respectiveholders. Use of them does not imply any affiliationwith or endorsement by them.
My opinionFair UseDoes not imply endorsement
WATERFALL MODEL
sequential (non-iterative) design processpass down the chainw/o good communication back upthrow over wall to Ops
INFREQUENT LARGE CHANGESHigher riskMore complex to debugMore time to productionLate feedback on impact
Thought to be safer not to touch production oftenchanges accumulate
MANUAL PROCESSES(builds, tests, etc)
InconsistentError ProneSlow
manualbuilds, test, deployments
cannot reliable reproduceerror proneslower
CI / CDA so�ware development practice intended to
produce better code faster.
Solution - CI CD
Development practiceto produce better code faster
CI / CDBy shipping small and frequent changes with
automated builds, tests, and reports.
small and frequent changesautomated
SMALL FREQUENT CHANGESModular, less complex codeIntegration is easierEasier to respond to changing demands
easier to debug and managefrequent integration becomes easiermore able to adjust changes
implantation, priorities, etc
AUTOMATIONConsistencyEnforced testingImmediate feedback
Same process;avoid mistakes and shortcuts
tests are not skippedquickly find out impact
of shipped code
OTHER BENEFITSReduced riskGreater visibility into the processFaster to production
Consistency / Less error proneHigher confidence in deploymentVisibility into the status and evolutionFaster ROI
PROJECT CODECode can represent:
Web applicationInfrastructureDocumentation
anything that can be represented as code
PROJECT CODE
Markdown + Jekyll
lightweight markup languagethat Jekyll can process
popular, open-sourcestatic site generator
VERSION CONTROL SYSTEMManage changes to source code over time.
Version Control System
Recordtrackover time
VERSION CONTROL
Git + GitLabGit - open source version control systemGitLab - open source web interface, freemium hosted
Other free hosted options include:
GitHub, Bitbucket
TESTSVerification of code
UnitIntegrationSystem
Automation needs testingMany categories/types
Unit - checks the feature being working onIntegration - checks code change works with rest of projectSystem - works with external dependencies, e.g. hw
TESTS
JekyllHTML-ProoferHunspell
check configuration sane and buildssyntax, images exists, linksspell-check
CI SOFTWAREOrchestrates builds, tests, and deployments.
CI software manages jobs to automate:builds, test, deployments
CI SOFTWARE
GitLab CIGitLab\s a continuous integration service.
Other popular CI solutions include:
JenkinsTravis
NOTIFICATIONSProvides feedback on successfulness of
tests, builds, and deployments.
Feedback loopinfo comes to us
STAGING ENVIRONMENTDelivers a release to a pre-production environment.
production-likesee site before it published
DEMO
Blog Posts
2017
SCaLE 15x Demo - CI/CD less than 1 minute read
Demonst rat ion CI/CD at SCaLE 15x!
2016
Post: Tweet FreeBSD w/ Cloud-Init in OpenStack
Carlos MezaAutomat ing all the things.
Follow
Toggle Menu
https://gitlab.com/DIGITALR00TS-Demo/ci-jekyll/You can do this yourself by creating your own fork on GitLab.
CI/CD - WHATA so�ware development practiceSmall frequent code changesAutomated processes
development workflowCheck in small changes frequentlyAutomated builds, tests, deployments
CI/CD - WHYFaster ROIHigher confidence in releasesMore agile
Get to production fasterConsistent processes, testing, feedbackshort, frequent iteration, better suited to adjust changing demands
LINKS
( )
ThoughtWorks - CIhttps://www.thoughtworks.com/continuous-integration
Agile Alliance Glossaryhttps://www.agilealliance.org/agile101/agile-glossary/
DevOps For Dummies pdfhttp://www.ibm.com/ibm/devops/us/en/resources/dummiesbooks/
Definition and concepts
LINKS - VCS / GIT
( )
What is Version Controlhttps://www.atlassian.com/git/tutorials/what-is-version-control
Git - Getting Startedhttps://git-scm.com/book/en/v1/Getting-Started
Git Cheat Sheet PDFhttps://services.github.com/resources/index.html
Version control and Git
LINKS - VIDEOS
What is DevOps? - In Simple Englishhttps://www.youtube.com/watch?v=_I94-tJlovg
What is Version Control?https://git-scm.com/video/what-is-version-control
Martin Fowler – Continuous Deliveryhttps://www.youtube.com/watch?v=aoMfbgF2D_4
In case you don't like reading like me.