devops for sharepoint (what, why, how)
DESCRIPTION
SharePoint Saturday Toronto 2014 presentationTRANSCRIPT
Nick Kellett
[email protected] | www.linkedin.com/in/nicholaskellett | @NickKellett StoneShare Inc.July 12, 2014
DevOps for SharePoint
Thanks to our sponsors!
Connect. Collaborate. Share.
Toronto SharePoint Users Grouphttp://www.meetup.com/TorontoSPUG/
Toronto SharePoint Business Users Grouphttp://www.meetup.com/TSPBUG/
SharePoint Saturday Torontohttp://spbuzz.it/spstoyam
What…
DevOps – What? New Software Method (2009+)
Development Deployment
Combines Developers with Operations staff
Uses automation and reporting tools and simple processes
DevOps – What? Goals: Faster, Better Software Releases! And: No More Tears
Why…
Changing World Different but interdependent IT worldviews
Enterprise world vs Agile world Developers vs Operations staff
Business demand is increasing Pace of software change is increasing Cloud offerings are turning infrastructure
into code
Release Hell Are your software releases:
Slow? Painful? Manual? Buggy? Unverifiable? Inconsistent?
Why DevOps? DevOps practices help address these
issues Reduce risk and stress Keep up with change
How…
How Devs Think• “Change is good!”• “Cutting edge technology is fun!”• “It works on my machine!”• “It will take one day!”• “Nobody will click that button
anyway!”• “I remember everything I did!”• “I can fix that on the production
server”
Happy Dev sez:
How Devs Think
• “We did it that way last time!”• “That technology is over a year
old!”• “We have to test it on every
server?”• “The PM wants my estimates to
include testing, deployment and documentation”
• “We have to test every button?”• “I have to record every deployment
step as I go”• “I can’t log on to the Production
server!”
Sad Dev sez:
How Ops Think• “Stability is good!”• “We did it that way last time and the
time before”• “It’s proven technology”• “It works the same on every machine”• “It will take ten days”• “If it’s not fully tested, I’m not
deploying it”• “I only do it if it is written down”• “Nobody gets on my Production
server but me”• “If I run into trouble I can always
recover”
Happy Sys Admin sez:
How Ops Think
• “We didn’t do it this way last time”• “That technology is brand new”• “They haven’t tested the
deployment package”• “The deployment steps are two
lines long and one of them is a link to a blog”
• “I have no way of knowing if deployment succeeded”
• “There is no rollback plan”• “Help! There are Devs on my Prod
server!”
Sad Sys Admin sez:
Make ‘Em Both Happy
How? Communication Simple Clear Processes Great Tools And…
How? Devs and Ops work side-by-side (ideally
under same management structure) Agile development cycles Frequent releases Simple repeatable processes Automate testing Automation and configuration
management Monitoring Infrastructure – cloud and virtualization
How? Processes DevOps Processes
Source Control branches and releases Automated testing and code coverage Continuous integration (frequent builds) Configuration management Deployment automation Build and deployment monitoring
DevOps Tools
How…
How? Tools DevOps Tools
Source Control Automated Testing Continuous Integration (Build) Configuration Management Deployment Automation Monitoring
How? Source Control Source Control Tools
Team Foundation Server Git Subversion
How? Automated Testing Automated Testing Tools
Visual Studio Unit Test Generator Microsoft Test Manager and Test Web
Access Telerik Test Studio TypeMock Isolator for SharePoint
How? CI (Build) Tools Continuous Integration (Build) Tools
TFSBuild NANT Jenkins Hudson CruiseControl JetBrains TeamCity PowerShell and roll-your-own
How? Config Management Configuration Management Tools
Microsoft System Centre and Orchestrator
Chef (with Azure integration) Puppet Ansible Salt PowerShell and roll-your-own
How? Deployment Automation Deployment Automation Tools
AutoSQLInstaller and AutoSPInstaller TFSBuild JetBrains TeamCity PowerShell and roll-your-own DocAve Deployment Manager
How? Monitoring Tools Monitoring Tools
Build Quality CI tool reports SharePoint Code Analysis Framework
(SCAF) JetBrains ReSharper
Deployment Quality SP Doc Toolkit Splunk ULS Log Viewer PowerShell
To Sum Up…
Why? Improved team communications Faster releases Better software quality Predictable processes Metrics and insight
How? Devs and Ops collaborate and
communicate Agile development cycles Frequent releases Simple repeatable processes Automate testing Automated deployment and configuration
management Monitoring Infrastructure – cloud and virtualization
SharePoint Gotchas Users can make configuration changes in
your environments before during or after deployment
To test OOTB features or not to test? Network, storage, IOPs and permissions
issues during deployments Timer Job timings (Managed Metadata and
Content Type Hub issues)
DevOps – Further Reading DevOps.com Dev2Ops.org DevOpsDays conferences LinkedIn DevOps Group Everything DevOps on Reddit
SharePint Drake and Firkin aka “The Drake” 6982 Financial Drive, Unit B101
Don’t Miss the Prizes… Xbox One with Kinect Your favorite SharePoint books Training vouchers Office 365 Swag
(tweet #ShareSelfie #spstoronto to win) Vendor gifts and raffle