The sheer amount of work that has gone into creating the Sitecore Installation Framework (SIF) to date and it’s power and flexibility is mega impressive. It exhibits a masterclass in Powershell, and kudos to the team for the amount of effort and testing that must have gone into it.
However compared to the old days of spinning up a Sitecore instance in Sitecore Instance Manager (SIM) and having an installation up and running in minutes, the process has become fairly complex and laborious.
A local installation can often consist of executing the installer, Googling the error message then figuring out whether you need to manually roll back parts of the installation and rerun the whole installation, or issue a command to skip steps.
It must admit it does make me slightly uncomfortable to have to add the password for a SQL Server login with sysadmin privileges into a config file in plain text. These files can often end up not getting deleted when they should and can potentially have security connotations depending on the environment. Small niggles such as using a SQL user with a dollar character as part of their password can cause problems as this has to be escaped in the SIF script. Sounds trivial, but it’s another annoyance for users. Similarly there seems to be no way of automatically creating a certificate and binding it to the Sitecore instance at the time of writing (v2.1) or uninstalling.
Now it is very understandable that with the Sitecore real estate widening as it becomes more and more service oriented, there needed to be changes to the way the product installed, but for simple installations and demo purposes it I’m unsure if SIF is the right way to go. The fact SIF has it’s own channel in Sitecore Slack and a not insignificant number questions on Stack Exchange suggests that perhaps the way we approach installation might need to change in future.
The people I’m particularly thinking of here, are those who want to investigate and assess the product for evaluation purposes. If they can’t get it installed quickly and smoothly Sitecore risk alienating potential customers and hence losing out on valuable revenue.
In the short term the community (specifically Rob Ahnemann) has kindly stepped in to bridge the gap with a GUI wrapper in the form of SIF-less(!). This is obviously very useful for developers and demo purposes but not the adorementioned people who wil lprobably want to follow the officially documented way of installing.
Thinking longer term, if Sitecore continue down their pursuit of breaking out and abstracting parts of the system, many parts will be able to run in lightweight Linux Docker containers. Docker is not currently supported by Sitecore but I hope they will embrace it in the near future as people like Per Manniche Bering have made some great strides with it and I personally feel that this will be the direction developer, test, and even production setups go in the next few years.