270 likes | 409 Views
Install an application, how do?. Goals: Reduce total average mouse clicks per day (MC/D) Maximize free time to troll fb/slack off Isaac Overcast overcasi@evergreen.edu Academic Computing The Evergreen State College. TESC Imaging. 4500 Students
E N D
Install an application, how do? Goals: Reduce total average mouse clicks per day (MC/D)Maximize free time to troll fb/slack off Isaac Overcast overcasi@evergreen.eduAcademic Computing The Evergreen State College
TESC Imaging • 4500 Students • ~350 Dual boot linux/Win7 in 12 labs and public spaces across 2 sites • 2x base images • 32bit vanilla and 64bit kitchensink • FOG + post-flight config • Keyserver & DeepFreeze • Significant use of GP
Demo • ev_client and ev_server • AD Structure and Group Policy
Overture So, say somebody needs you to install an application to a set of machines tomorrow bcz they forgot to tell you about it at the beginning of the quarter when they were supposed to. Assumptions: * You have full control of the machines * This is real windows-y * You actually prefer free/open software or you are just broke
Considerations / Tradeoffs • Time allotted • # machines • Complexity of the install • Licensing • Image size/stability • Expected duration of need • Other priorities
Introducing Oc A notation for the amount of work generated by any installas the number of computers you support tends towards a particular value of infinity. The amount of time you spend on any task will inevitably rise as the number of machines you support goes up, but the question is “How steep is the incline?”
LINEAR! EXPONENTIAL! Bad Oc TIME # of CPUs
CONSTANT! LOGARITHMIC! Good Oc
Not ideal ways to do it • One-off install • Scripted mass install • Other misc hax • Update image and push
One-offsOc strict linear + You know it'll work + Keeps your student employees busy - takes tons of time - chance that you can screw it up on one or more, which sucks - requires doing the same thing over and over, which is a mortal sin - makes you feel bad because you can't / won't learn to automate
Scripted mass installOc non-deterministic Like where you have a script on your server that reaches out and runs the installer on x,y and z machines + It is fast + Congratulations, you can automate it! +/- It “sometimes” works • Complicated and often homebrew (o_0) • Difficult to maintain - It's a one off and it's not scalable
Misc HaxOc log + high admin penalty • WPKGhttp://wpkg.org/ • Win-gethttp://windows-get.sourceforge.net/ • GetIThttp://puchisoft.com/GetIt/ + Congratulations, you’re using tools! + Better than nothing • Needlessly complicated • Narrow focus/limited app set • Hackish
Update and deploy a new imageOc constant + admin penalty + You know how to do it, it's easy and reliable + Easily control the default user experience (start menu items, pesterboxes, registration, etc) - It's Slow (esp. w/ audit mode win7) - App installs EVERYWHERE! (unless you only have 1 image per classroom/department/area, in which case you have bigger problems than this) - If the app yr pushing has licensing restrictions then that could be a problemfor ex, what if you have an app that has 5 seat licenses and the lab size is 25? Just image 5 of them? Too weird. - Unnecessarily complicates/crusts the imageNormally to be avoided, just for the sake of simplicity
Smart(er) ways to do it • A cheat: VM + Remote Desktop • Reconceived Application Installation • Silent Installers • Custom MSI packages • Virtual applications • Reconceived App Deployment • GP Runonce/startup script • GP Assigned Applications • Virtualized App on the "Desktop"
VM + Remote Desktop Oc Linear + resource overhead 1) Make VM 2) Install your app 3) Remote Desktop 4) ??? 5) Profit + Easy + Good for <5 installs - Not scalable - Resource intensive - Annoying
App Hax: Silent Installers Provided by vendor!: LoggerPro http://www.vernier.com/til/1681/ Simple manuals: Firefox https://wiki.mozilla.org/Installer:Command_Line_Arguments Complicated manuals: Dragon NaturallySpeaking AdminGuide: http://bit.ly/LWecRW + Much faster than one-offs - Post-flight config is trickier or impossible
App Hax: Custom msi packages Creation: AppDeploy Repackagerhttp://bit.ly/Kwx75F Customization: InstEd - http://www.instedit.com/ Orca – http://bit.ly/LEAI5g + More flexibility/customizability
App Hax: Virtualized Apps Cameyo - http://www.cameyo.com/ Thinapp (Useful but $$) - http://bit.ly/11GMib App-V ($$ & complicated) - Http://bit.ly/wbVVYB + Image agnostic + Instant deployment + Get creative * Flash Drives * Email * Moodle site - Config is tricky (GP?)
Demo • Silent Installer • Custom MSI & Config • Virtual Apps
GP Runonce/startup scriptOc Logarithmic CPU/Policies/Windows Settings/Scripts/Startup + Our first 'real' way to do it, something you can feel good about + Better for complicated installs or if you still need to hack a bit (DeepFreeze) +/- Permanently alters the system - Requires a reboot - Moderately hackish
GP Assigned ApplicationsOc Logarithmic CPU/Policies/Software Settings/Software Installation • CPU vs User GP • Published vs Assigned + Maximum flexibility + Publish tons of apps and let users choose what they want • Sometimes requires a reboot or logoff • Tricky for licensed apps
Virtualized App on the "Desktop“Oc Constant! Shared Desktops: User/Policies/Windows Settings/Folder Redirection/Desktop + Great for small/medium apps that can abide virtualizing + Super fast and flexible + You can use it to manage licensed apps - Not ideal for tricky/huge apps (Adobe CS / ArcGIS / Dragon) - Requires a little set up on the backend and you have to stay on top of your computer accounts in your OUs (which you should be doing anyway!)
Demo • Assigned Apps • Published Apps • Virtual App on Desktop
Wrap-up • What does it mean to ‘install’ an application? • Deploying an app means getting it in the hands of the user, however that may look. • Remote Desktop • Runonce installers • Assigned/published applications • Virtual apps
Q&A Isaac Overcast The Evergreen State College overcasi@evergreen.edu