Automating Enterprise Application Deployments with PowerShell

  • 155 views
Uploaded on

From SharePoint Saturday NYC 2014

From SharePoint Saturday NYC 2014

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
155
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Geoff Varosky July 26, 2014 Automating Your Enterprise Application Deployments with PowerShell
  • 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. 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. 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. Presentation Title | (#) Agenda • Why Automation? • PowerShell • Environment Deployment • Application Deployment • Further Refinement • Resources & Tools • Q&A
  • 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. 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. Presentation Title | (#) Why Automation? • Cons – Possible significant up-front time – Knowledge of PowerShell needed – Not managed code – Requires constant upkeep
  • 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. Presentation Title | (#) PowerShell • Cmdlets – PowerShell Commands – Can create your own – Standardized using a verb-noun convention • Eat-Cake • Drink-Beer • Live-Life
  • 11. Presentation Title | (#) PowerShell • The Basics – Get-Command – Get-Help – Piping – Select-Object – Tab Completion
  • 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. Presentation Title | (#) PowerShell • SharePoint Management Shell – Loaded with SharePoint 2010/2013 – Automatically Loads Microsoft.SharePoint.PowerShell Snap In – 531 cmdlets (772 in 2013!)
  • 14. Presentation Title | (#) PowerShell • SharePoint Management Shell – Requires PowerShell 2.0 – Backwards compatible, installs into 1.0 folder – <%SystemRoot%>System32WindowsPowerShellv1.0PowerShell.exe
  • 15. Presentation Title | (#) PowerShell DEMO: SharePoint cmdlets
  • 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. 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. 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. Presentation Title | (#) Environment Deployment • Create Databases based on YOUR naming conventions
  • 20. Presentation Title | (#) Environment Deployment • Maintenance – Any configurable change needs to be updated – If versioned, provides an evolution of your farm
  • 21. Presentation Title | (#) Environment Deployment DEMO: AutoSPInstaller Review
  • 22. Presentation Title | (#) Application Deployment • Why deploy applications in PowerShell? – Developers can pass installations to administrators – Replicable through environment deployments DEV TEST PROD
  • 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. 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. 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. Presentation Title | (#) Application Deployment DEMO: Application Deployment
  • 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. Presentation Title | (#) Recommendations • Documentation – Function Reference – Copy of Functions script
  • 29. Presentation Title | (#) Recommendations • Documentation – Script Samples • Helps with buy-in • Gives examples • Re-usable snippets
  • 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. 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. 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. 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. Presentation Title | (#) Boston Office 365 User Group • Meets 3rd Thursday/month • 6-8PM • Microsoft N.E.R.D. (Cambridge) • BostonO365UserGroup.org • Twitter: @BOS365
  • 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