Automated Application Deployment

I want to automate the deployment of applications / roles / functions (unattended) in Windows 2012 R2 Infrastructure, this project requires many hours of programming, which is why I ask here.

I want to deploy the following applications and roles: Active Directory, DNS, Sql Server 2012, Citrix XenApp Server, Citrix XenDesktop, Citrix Datacollector, Citrix License Server, Citrix Storefront Server.

So, the main deployment will be on 8 servers (already installed on ESXi, only with ip settings).

I presented this scenario:

I will fill in a CSV file containing all the information and run Powershell scripts to deploy everything, we can imagine 1 script that will call different scripts for each component (sql, ad, dns, citrix, etc.).

I don’t want to depend on any instrument (sccm, puppet or something else ..), that’s why I want to create it from scratch β†’ But maybe I'm wrong.

I also read that there is a new feature called Powershell DSC to simplify application deployment http://blogs.technet.com/b/privatecloud/archive/2013/08/30/introducing-powershell-desired-state-configuration-dsc .aspx There is a simple example: if you need 4 iis webserver, execute this code:

Configuration DeployWebServers { Node ("test1.domain.com","test2.domain.com","test3.domain.com","test4.domain.com") { Windows-Feature IIS { Name = "Web-Server" Ensure = "Present" } } } DeployWebServers -OutputPath "C:\scripts" Start-DscConfiguration -path "C:\scripts" -Verbose -Wait -Force 

But in my case, I will only have 1 server for each application / role or function, if I understand well, this function is interesting only if you need to deploy the same configuration to the servers (x)

What is your advice? Should I select a powershell script entry from scratch? Or choose a solution similar to a puppet or a chef (much easier), but in this case I will be dependent on the tool.

The best solution would be to use a sql database -> The ultimate goal of my project is a web application with a database that will execute my powershell scripts to deploy my infrastructure

Of course, from this web application I will fill out my database through forms, and my powershell scripts will query this database for information (IP address, client name, domain name, password, users ...) **

Thank you for your advice.

+7
windows powershell deployment automation puppet
source share
2 answers

A chef or a puppet will be the easiest way forward, and both tools are long enough so that you do not worry about the fact that they disappear from the interior. Both work pretty much out of the box, and you'll work in significantly less time than if you planned your own system.

Having said that, the advantage of switching to a PS solution is that it does not require any agents installed in the destination boxes (connection thanks to WinRM). Ultimately, you can wrap it as a Powershell module, pass it on to your system administrators, and retain full control over what happens under the hood. The PS solution will give you complete control, a better understanding of the main process - but it will cost time and other headaches.

To summarize: if you have the time, the will or the specific use case, then go to PS. Otherwise, do what the big boys do, and save yourself by reinventing the wheel β€” or seventeen.

Disclaimer: I did the PS thing for the previous employer.

+2
source share

If you are looking for a repeatable deployment solution and you cannot use a lightweight, free infrastructure, I suggest using Windows ADK 8.1 and MDT 2013 (if you are using Windows Server 2012 R2). You can develop an interface to select the type of deployment. Instead of using a csv file, all information can be contained in a task sequence and can be configured to run tasks in different conditions.

Johan Arwidmark of deploymentresearch.com has developed a great example of this Hydration Kit , with a complete step-by-step guide that configures the Configuration Manager 2012 R2 infrastructure running on Windows Server 2012 R2 and SQL Server 2012 SP1, either in Hyper-V or VMware. If you ask him beautifully, he can allow you to use his work as a base for your project.

0
source share

All Articles