a lap around pdt and other automation goodness

36
idea. plan. deliver. idea. plan. deliver. idea. plan. deliver. Enrique Lima A lap around PDT and other automation goodness

Upload: enrique-lima

Post on 28-Nov-2014

278 views

Category:

Software


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: A lap around pdt and other automation goodness

idea. plan. deliver.

idea. plan. deliver.

idea. plan. deliver.

Enrique Lima

A lap around PDT and other automation goodness

Page 2: A lap around pdt and other automation goodness

idea. plan. deliver.

Page 3: A lap around pdt and other automation goodness

idea. plan. deliver.

•Enrique Lima• [email protected]• Principal Consultant / Owner• Microsoft v-TSP BPIO / CoreIO / APPIO• Microsoft Certified Trainer – Regional Lead – East US• Member of the Geekswithblogs.net Community - Influencer

▫ http://geekswithblogs.net/enriquelima• @enriquelima - twitter.com/enriquelima

• Member of INETA

Who am I?

Page 4: A lap around pdt and other automation goodness

idea. plan. deliver.

Overview

•The case for automation•Automation options•PowerShell Deployment Toolkit

Page 5: A lap around pdt and other automation goodness

idea. plan. deliver.

idea. plan. deliver.

idea. plan. deliver.

The why would I care …

The case for automation

Page 6: A lap around pdt and other automation goodness

idea. plan. deliver.

•We deploy servers for test, development, proof of concept, etc.•We need it quick•Saving VMs as templates•A lot, wait, again, a lot of manual work.•Tedious and repeatable

Our reality

Page 7: A lap around pdt and other automation goodness

idea. plan. deliver.

Let’s talk about the reality

How many products make up System Center 2012 R2?Answer: 1

How long does it take to deploy System Center 2012 R2?Answer: Too long!

How many "screens" does an installation take including prerequisites and SQL Server?Answer: I lost count somewhere around 500

How many post-setup integration tasks are there?Answer: What on earth is post-setup integration?

Who’s afraid of XML?Answer: Don’t worry, there may be some good news towards the end of this session!

Page 8: A lap around pdt and other automation goodness

idea. plan. deliver.

Page 9: A lap around pdt and other automation goodness

idea. plan. deliver.

idea. plan. deliver.

What is DevOps?

Page 10: A lap around pdt and other automation goodness

idea. plan. deliver.

What is DevOps?

Page 11: A lap around pdt and other automation goodness

idea. plan. deliver.

idea. plan. deliver.

idea. plan. deliver.

What is available out there?

Automation options

Page 12: A lap around pdt and other automation goodness

idea. plan. deliver.

•Chocolatey•SCCM

App/Server deployment automation

Page 13: A lap around pdt and other automation goodness

idea. plan. deliver.

•PowerShell Deployment Toolkit•SCCM OSD

Platform deployment

Page 14: A lap around pdt and other automation goodness

idea. plan. deliver.

idea. plan. deliver.

idea. plan. deliver.

PowerShell Deployment Toolkit

Page 15: A lap around pdt and other automation goodness

idea. plan. deliver.

This section involves manually editing XML…

Page 16: A lap around pdt and other automation goodness

idea. plan. deliver.

Before you start – XML Editing

•Get a good XML editor▫Notepad++▫Visual Studio▫PowerShell ISE

Page 17: A lap around pdt and other automation goodness

idea. plan. deliver.

•Spin drives vs. SSD•Memory•Windows 8.1 Update 1 vs. Windows Server 2012 vs. Windows Server

2012 R2

Hardware / Software

Page 18: A lap around pdt and other automation goodness

idea. plan. deliver.

•Get PDT•Customize the settings on Variable.xml•Run Downloader.ps1•Create Parent VHDX files•Run VMCreator.ps1

PDT – The Process

Page 19: A lap around pdt and other automation goodness

idea. plan. deliver.

Define your deployment – Variable.xmlSpecify global settingsUser and company nameInstaller service account and passwordSource pathOptional – product keys

Specify settings for each componentUsually just service account and password

Specify servers for each roleDatabase roles must specify SQL instance name

Specify SQL settings for each instanceVersionAdmin group

Installer.ps1 will validate all settings before deployment

Page 20: A lap around pdt and other automation goodness

idea. plan. deliver.

Download all the bits – Downloader.ps1Downloads…Prerequisites e.g. - SQL Native Client, Report Viewer, WSUSSQL Server 2012, SP1, and CU8SQL Server 2008 R2 and SP2SharePoint 2010 FoundationManagement PacksIntegration Packs

Extracts…

Runs…ADKSetup.exe downloadConfiguration Manager setupdl.exe downloadSelf-extracting exeWebPI for Windows Azure Pack Web Sites

Slipstreams…SQL Server 2008 R2 SP2

Requires…Windows Server 2012/Windows 8WinRAR or 7-ZipWeb Platform Installer

Option…Downloader.ps1 -DeploymentOnly

Restartable!Does not download…Windows Server 2012System Center ComponentsNew! Warning messages for items not downloaded

Page 21: A lap around pdt and other automation goodness

idea. plan. deliver.

•Make a sysprepped OS image•Easy path …▫Use Convert-WindowsImage.ps1

•http://bit.ly/1q4BCMm

Create Parent VHDX files

Convert-WindowsImage.ps1 -SourcePath "9600.16384.WINBLUE_RTM.130821-1623_X64FRE_SERVER_EN-US-IRM_SSS_X64FRE_EN-US_DV5.ISO" -VHDFormat VHDX -Edition "ServerDataCenterCore" -SizeBytes 8GB -VHDPartitionStyle MBR -BCDinVHD NativeBoot -ExpandOnNativeBoot:$false -RemoteDesktopEnable -Driver "F:\Custom Driver" -Verbose

.\Convert-WindowsImage.ps1 -ShowUI

Page 22: A lap around pdt and other automation goodness

idea. plan. deliver.

Install each server OS – VMCreator.ps1OptionalPDT can use existing servers, physical or virtual, any virtualization platformRequirements - Windows Server, domain joined, WinRM enabled, administrator permissions

Specify countHow many servers are in your deployment?

Specify defaultsHyper-V host, VM name, processor, memory, network adapter, OS disk, data disks, domain to joinFull example in default Variable.xml in PDT

Specify overrides per VM, if desired e.g. Different Hyper-V hosts, VM name, memory, OS disk

VMCreator.ps1 will validate required resources for VM creationCreates VM, joins domain, enables WinRM, add installer service account to administrators

Page 23: A lap around pdt and other automation goodness

idea. plan. deliver.

Single pass complete lab setupProcess…First VM created as domain controller for new Active Directory forestMedia copied to DC during virtual hard disk creationAll other VMs are created but wait for Active Directory setup to complete before startingOnce Active Directory setup is complete, DC waits for all other VMs to start and join domainDC automatically runs Installer.ps1

RecommendationInclude minimum of 2 data disks with DC for Active Directory database and log files

VMCreator with Active Directory

Page 24: A lap around pdt and other automation goodness

idea. plan. deliver.

Everything else! - Installer.ps1

Distributed Deployment ControllerManages validation, sequencing, dependenciesManages reboots where requiredGracefully handles cascading failures

PhasesFor each server, simultaneously:

AdministratorsWindows Roles and FeaturesSQL Clusters – with dependencies between cluster nodesSQLPrerequisites

With cross server dependencies:RolesIntegration and Configuration

Page 25: A lap around pdt and other automation goodness

idea. plan. deliver.

The “Knowledge” in PDT – Workflow.xml

Installer.ps1 knows nothing about deploying System CenterAll “knowledge” is in Workflow.xmlWorkflow.xml defines everything we know about deploying System Center

Defines…Roles

Requirements – validation, Windows roles and features, prerequisitesDependencies on other rolesIntegrations between rolesFirewall

InstallablesDownloadsInstalls

Default settings – global, component, SQL

…and is completely extensible!

Page 26: A lap around pdt and other automation goodness

idea. plan. deliver.

Validation

LocalValidates settings in Variable.xml for…

FQDN, dependencies, role combinations, role instance count, required variables, SQL instances, media

ActiveDirectoryValidates against Active Directory for…

Service accounts and passwords, other security principals - groups

RemoteValidates against target servers for…

Server exists, administrator access, clusters, WinRM, Task Scheduler,credentials policy, operating system version, file access, certificates, minimum memory

Page 27: A lap around pdt and other automation goodness

idea. plan. deliver.

Extenders – work with all PDT scripts

Extends Workflow.xml for custom rolesFilename must match Extender*.xml, and be in same location as Workflow.xmlExtender*.xml merged in memory with Workflow.xmlExtender entries are added at end of existing sections

New Installer.ps1 switch if defining new rolesInstaller.ps1 -SkipValidation RolesCombination

SamplesVeeam Management Pack for VMwareGridPro Request Management for WAPOperations Manager MPs

Page 28: A lap around pdt and other automation goodness

idea. plan. deliver.

Custom setup and post installerCustom setupVMCreator.ps1 –Setup <path>Requires a folder with the name of the VM in <path>Requires a PowerShell script with the name of the VM in that folderScript will be run against that VM using autologon during initial VM startupVMCreator.ps1 with AD – DC waits for custom setup to complete before running Installer.ps1

PostInstallerPostInstaller.ps1 in same location as Installer.ps1Automatically run after successful completion of Installer.ps1Must use remoting for configuration of any systems other than the one running Installer.ps1

Page 29: A lap around pdt and other automation goodness

idea. plan. deliver.

-MaxStageSwitch on Installer.ps1Limits deployment stage for partial deployment1Admin – Adds service accounts to local administrator groups2ServerFeatures – Installs Windows Roles and Features3SQLClusters – Installs SQL clustered instances4SQL – Installs SQL standalone instances5Prereqs – Installs prerequisites6Roles – Installs roles7Integration – Completes integration and configuration

Stages are cumulative

Page 30: A lap around pdt and other automation goodness

idea. plan. deliver.

GUIs!!!Service Provider Operational Readiness KitDeveloped by Microsoft service provider teamAvailable to service provider partners onlyDelivered as a USB stick with all mediaLimited to specific deployment scenarios relevant to service provider team

PDT GUIDeveloped by a partner, Elanity Network PartnerUI for creation and editing of Variable.xml

Page 31: A lap around pdt and other automation goodness

idea. plan. deliver.

PowerShell Deployment Toolkit

Available on the TechNet Galleryhttp://aka.ms/DownloadPDT

Documented through the Building Clouds bloghttp://aka.ms/GetToKnowPDT

Don’t forget the YouTube video…http://aka.ms/PDTVideo

Does not replace…Configuration Manager software distributionVirtual Machine Manager virtual machine creationVirtual Machine Manager service deployment and servicing

…but solves the chicken and egg problem!

Page 32: A lap around pdt and other automation goodness

idea. plan. deliver.

demo time!

Page 33: A lap around pdt and other automation goodness

idea. plan. deliver.

idea. plan. deliver.

Page 34: A lap around pdt and other automation goodness

idea. plan. deliver.

idea. plan. deliver.

idea. plan. deliver.

Questions

Page 35: A lap around pdt and other automation goodness

idea. plan. deliver.

•Rob Willis▫TechEd 2014 Session on PDT: DCIM-B361

http://bit.ly/1oUTx4f▫Blog

http://blogs.technet.com/b/privatecloud/

Credits

Page 36: A lap around pdt and other automation goodness

idea. plan. deliver.

idea. plan. deliver.