Those of you who have installed Sitecore in a scaled environment (i.e. multiple instances) know that the process can be somewhat tedious. To configure an instance to use a specific role, you need to manually enable/disable/modify config files to make the instance act as a delivery, authoring, or processing instance. Oh, do you also want to upgrade to the latest update? Be prepared to have to do it all over again.
While we wait for Sitecore to make this process a little bit easier, I decided that enough was enough and I wasn’t doing those steps anymore. Introducing the Sitecore Role Configs!
https://github.com/jst-cyr/Sitecore-Role-Configs
Inspired by the work in @kamsar’s SwitchMasterToWeb, the role configs capture the manual steps from those guides in a single role-specific file. Need to configure a processing instance? Drop the processing config file for your version of Sitecore.
Note: Hardening is not covered in these files, so keep that SwitchMasterToWeb handy!
At the time of writing, I’ve got Sitecore 8.0 Update 3 to Update 7 supported and will be working to get other versions in there as time goes by.
One day, I hope that the need for these files will be completely obsolete and I will laugh at how easy it is to deploy new roles of Sitecore. For now, though, happy deployments, and let me know if you find any issues and I’ll fix them up!
I will just leave it here 🙂
https://github.com/sitecore/sitecore-configuration-roles
Thanks Alen! A perfect solution for those on the 8.1 path… I honestly can’t wait until this is in the product.
Thanks Jason for your nice articles on Sitecore CI & CD setup. I can understand “Delivery” & “Authoring” Instance type, but what is actually a “Processing Instance”; Please let me know.
@Jagan S: Thanks for reading Jagan! A typical default installation of Sitecore runs all of the roles (delivery, authoring, reporting, processing). You can read about configuring processing in the Sitecore docs here:
https://doc.sitecore.net/sitecore_experience_platform/setting_up__maintaining/xdb/configuring_servers/configure_a_processing_server
Essentially, this is a Sitecore instance that is not intended for authors or visitors, but purely to run code against the collection database and aggregate data. This is especially helpful if you have a lot of visitors coming in with lots of data to parse, or if you are finding the aggregation code is slowing down your authors.
More info on scaling can be found here:
https://doc.sitecore.net/sitecore_experience_platform/setting_up__maintaining/xdb/platform/scalability_options