Automating Enterprise Application Deployments with PowerShell

518 views
419 views

Published on

From SharePoint Saturday NYC 2014

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
518
On SlideShare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Automating Enterprise Application Deployments with PowerShell

  1. 1. Geoff Varosky July 26, 2014 Automating Your Enterprise Application Deployments with PowerShell
  2. 2. Presentation Title | (#) About Me • Jornata – Senior Architect & Office 365 Practice Lead – President & Co-Founder Boston Area SharePoint Users Group – Co-Founder and Co-Organizer Boston Office 365 Users Group – Co-Organizer SharePoint Saturday Boston • Awards – Top 25 2012 Harmon.ie Online Community Influencer – Top 50 2012 KnowledgeLake Community Influencer – 2013 Metalogix Influencers Network • Blog – www.SharePointYankee.com • Email – geoff@varosky.com • Twitter – @gvaro
  3. 3. We Are Hiring in NYC! SharePoint Developer Technical Designer / Front End Developer UX Software Engineer UX Software Architect Java Architect Software Operations Mgr (Norwalk, CT) Learn more: https://www.linkedin.com/company/blue metal-architects/careers
  4. 4. Presentation Title | (#) About Me • Jornata – Managing Consultant, Senior Architect, Office 365 Practice Lead – President & Co-Founder Boston Area SharePoint Users Group – Co-Founder and Co-Organizer Boston Office 365 Users Group – Co-Organizer SharePoint Saturday Boston • Awards – Top 25 2012 Harmon.ie Online Community Influencer – Top 50 2012 KnowledgeLake Community Influencer – 2013 Metalogix Influeners Network • Blog – www.SharePointYankee.com • Email – geoff@varosky.com • Twitter – @gvaro
  5. 5. Presentation Title | (#) Agenda • Why Automation? • PowerShell • Environment Deployment • Application Deployment • Further Refinement • Resources & Tools • Q&A
  6. 6. Presentation Title | (#) Poll • Who is using SharePoint? – 2010? – 2013? • SharePoint Developers? • SharePoint Administrators? • Familiar with Scripting Languages? (bash, batch files, perl, vbscript) • Using PowerShell?
  7. 7. Presentation Title | (#) Why Automation? • Pros – “Almost” human-less deployments – Re-Deployment – Restoration – Documented and actionable deployment – Saves on knowledge transfer – Reduces the risks of human error – Repeatable process
  8. 8. Presentation Title | (#) Why Automation? • Cons – Possible significant up-front time – Knowledge of PowerShell needed – Not managed code – Requires constant upkeep
  9. 9. Presentation Title | (#) PowerShell • What is it? – More flexible, faster, extensible, and POWERful than STSADM – Scripting Language – Based on C# – Integrated with the .NET Framework • Load in DLLs • Provides full access to COM amd WMI – Not limited to JUST PowerShell • DOS commands (with UNIX-like aliases)
  10. 10. Presentation Title | (#) PowerShell • Cmdlets – PowerShell Commands – Can create your own – Standardized using a verb-noun convention • Eat-Cake • Drink-Beer • Live-Life
  11. 11. Presentation Title | (#) PowerShell • The Basics – Get-Command – Get-Help – Piping – Select-Object – Tab Completion
  12. 12. Presentation Title | (#) PowerShell • Aliases Cmdlet DOS Alias Description Get-Location pwd gl Current directory Set-Location cd, chdir sl Change current directory Copy-Item copy cpi Copy file/directory Remove-Item del ri Remove file/directory Move-Item move mi Move a file/directory New-Item - ni New a file/directory/object Clear-Item - cli Clear contents of file Get-Content type gc Read file contents to output Set-Content - sc Set file contents Format-Table - ft Formats output
  13. 13. Presentation Title | (#) PowerShell • SharePoint Management Shell – Loaded with SharePoint 2010/2013 – Automatically Loads Microsoft.SharePoint.PowerShell Snap In – 531 cmdlets (772 in 2013!)
  14. 14. Presentation Title | (#) PowerShell • SharePoint Management Shell – Requires PowerShell 2.0 – Backwards compatible, installs into 1.0 folder – <%SystemRoot%>System32WindowsPowerShellv1.0PowerShell.exe
  15. 15. Presentation Title | (#) PowerShell DEMO: SharePoint cmdlets
  16. 16. Presentation Title | (#) Environment Deployment • AutoSPInstaller – Deploy single or multi-server farms from one script – XML-based configuration – Re-launches with Elevated Privs to deal with User Access Control – Automatically download and install platform pre-requisites – Can be done in offline mode – Install both SharePoint and Office Web Apps using config files • Office Web Apps Different in 2013 – ULS Logging path – IIS Configuration – PDF iFilter & ForeFront Installation and Configuration
  17. 17. Presentation Title | (#) Environment Deployment • Configure Service Applications – User Profile Service Application – User Profile Synchronization Service – Metadata Service Application – SharePoint Foundation User Code Service – State Service Application – Usage and Health Service Application – Secure Store Service – Enterprise Search Service Application – Web Analytics Service Application – Business Data Connectivity Service Application – Excel Service Application – Access Service Application
  18. 18. Presentation Title | (#) Environment Deployment • Configure Service Applications – PerformancePoint Service Application – Visio Graphics Service Application – Word Automation (Conversion) Service Application – Word Viewing Service Application – Excel Service Application (if not already provisioned by virtue of having an Enterprise license) • Not PowerPivot – Overly complex install
  19. 19. Presentation Title | (#) Environment Deployment • Create Databases based on YOUR naming conventions
  20. 20. Presentation Title | (#) Environment Deployment • Maintenance – Any configurable change needs to be updated – If versioned, provides an evolution of your farm
  21. 21. Presentation Title | (#) Environment Deployment DEMO: AutoSPInstaller Review
  22. 22. Presentation Title | (#) Application Deployment • Why deploy applications in PowerShell? – Developers can pass installations to administrators – Replicable through environment deployments DEV TEST PROD
  23. 23. Presentation Title | (#) Application Deployment • What can be automated? – Farm Configuration – Service application configuration • Search scopes • Managed Metadata – Web application configuration • Upload limits • Permission policies – Solution Deployment – EXE and MSI deployments
  24. 24. Presentation Title | (#) Application Deployment • Anatomy – Deployment Master Script • Variables • Initiates Logging • Step-By-Step Deployment • Directions and Documentation – Shared Functions File • Updates not to be done across scripts • Managed by platform team – Steps
  25. 25. Presentation Title | (#) Application Deployment • Anatomy – Deployment Master Script • Variables • Initiates Logging • Step-By-Step Deployment • Directions and Documentation – Shared Functions File • Updates not to be done across scripts • Managed by platform team – Steps
  26. 26. Presentation Title | (#) Application Deployment DEMO: Application Deployment
  27. 27. Presentation Title | (#) Recommendations • Documentation – Provide overall Guidelines • Basic usage, functionality • Naming of scripts • How scripts are used • How to use basic functions • How to run steps
  28. 28. Presentation Title | (#) Recommendations • Documentation – Function Reference – Copy of Functions script
  29. 29. Presentation Title | (#) Recommendations • Documentation – Script Samples • Helps with buy-in • Gives examples • Re-usable snippets
  30. 30. Presentation Title | (#) Further Refinements • Handle all configuration via XML file variables • Export steps to their own scripts • Manage entirely through SharePoint Lists • Additional steps can be scripted/approved through workflow? • Host documentation and example scripts in SharePoint, allow alerts for file changes
  31. 31. Presentation Title | (#) Resources • What is COM? – http://en.wikipedia.org/wiki/Component_Object_Model • What is WMI? – http://en.wikipedia.org/wiki/Windows_Management_Instrumentation • PowerShell for SharePoint References – 2010: http://go.gvaro.net/XgmYCk – 2013: http://go.gvaro.net/YBLtGW • Cmdlet Index – 2010: http://go.gvaro.net/WHh5wD – 2013: http://go.gvaro.net/151DGaX
  32. 32. Presentation Title | (#) Tools • Windows PowerShell for SharePoint Command Builder – http://go.gvaro.net/WS4s3u • Gary Lapointe’s PowerShell cmdlets – http://go.gvaro.net/YirJau • AutoSPInstaller – http://autospinstaller.codeplex.com
  33. 33. Presentation Title | (#) Boston Area SharePoint Users Group • Meets 2nd Wednesday/month • 6-8PM • Microsoft N.E.R.D. (Cambridge) • BostonSharePointUG.org • Twitter: @BASPUG / #BASPUG • SPTechCon Boston Hosted Meeting!
  34. 34. Presentation Title | (#) Boston Office 365 User Group • Meets 3rd Thursday/month • 6-8PM • Microsoft N.E.R.D. (Cambridge) • BostonO365UserGroup.org • Twitter: @BOS365
  35. 35. Presentation Title | (#) About Me • Jornata – Managing Consultant, Senior Architect, Senior Developer, Director of Evangelism – President & Co-Founder Boston Area SharePoint Users Group – Co-Founder and Co-Organizer Boston Office 365 Users Group – Co-Organizer SharePoint Saturday Boston • Awards – Top 25 2012 Harmon.ie Online Community Influencer – Top 50 2012 KnowledgeLake Community Influencer – 2013 Metalogix Influencers Network • Blog – www.SharePointYankee.com • Email – geoff@varosky.com • Twitter – @gvaro

×