Many IT groups in higher education institution have to deal with last minute requests for applications to be deployed in labs, faculty workstations, or classrooms. It can be very challenging to deploy those applications depending on:
- Application deployment complexity: licensing and configuration
- Size of the deployment: how many machines and what operating systems you are targeting
- Maintaining an update schedule for those applications
If you have a challenge like the one I described, then you are not alone. Just breathe and follow the steps I listed under the solution.
You have 3 main steps to consider:
If you don’t have a license for the application, then tackle that problem first. Hopefully the application supports some sort of network licensing mechanism using a concurrent model. Explain the challenge to the faculty, student, or staff and set their expectation that it may take some time to get the license purchased. Always communicate with them clearly and transparently.
While you are trying to get the license, think about how do you want to package the application. Packaging means the creation of a software installation and configuration payload that you will execute on each endpoint. Packaging is beyond the msi file: it is the msi+silent arguments+configurations scripts. A great example of an application packaging system is Chocolatey. Since you are reading this post, I will share a little secret with you: always check Chocolatey repository to see if a good soul has already created a package for your application. You will be surprised and your life will become much easier.
Once you secure the appropriate license and application package, your next step will be to deploy the application in a testing environment and subsequently to your production endpoints. Deployment can be in 3 forms:
- Local install
- Application virtualization: i.e. App-V
- Application layering: i.e. FlexApp, Unidesk
The 3 forms of deployments depend on how the application performs under each type. The simplest of them is the local install which you can use PowerShell or SCCM to distribute your application to you Windows machines. When you distribute your package, you can be sure that the application will be the same no matter what machine the user logs into. Deployment consistency is key to a better user experience. Of course, application virtualization has its own advantages like easier updates, disk space savings, cleaner golden image, and isolation features.