30 May 2017, last update: 30 Jan 2022
Sitecore Development and Deployment 2017
Almost 3 year ago I write an article about which choices you have to setup your development and deployment with Sitecoredevelopment . The article is still relevant at some point. But the today choices are from another level, Sitecore now gives more direction and guidance than before. This new article and the old one can help you to setup your Sitecore development environment.
Cloud
First for development no big difference. Future innovation will take place on Azure cloud, today you can call Sitecore cloud first. Choose for Azure web apps. Note today some modules are not supported see Sitecore on Microsoft Azure – Module compatibility Table For example the Email Experience Manager. When it comes to scalability, reliability, future-proof and maintenance. Then you do not want any VM but cloud services. Azure SQL, Azure Web Apps, Azure search, Azure Application Insights, and Azure Redis cache can already be used well with Sitecore soon there will be some for xDB probably Azure Cosmos DB.
Sitecore Experience Accelerator. SXA
Out of the box Sitecore is pretty empty, no starter kit as in Umbraco or teams as in Wordpress. SXA is not the same, but give you a very nice start point see https://doc.sitecore.net/sitecore_experience_accelerator This can save you a lot of time and help you to use the best practices and get a high quality user-friendly Sitecore CMS implementation. New developers and cms users will be quickly on speed because the standards are used. No vendor lock with your implementation partner. You need a Sitecore.SXA key in your Sitecore license, so it is not free.
Helix
Helix is a set of overall design principles and conventions for Sitecore development. See http://helix.sitecore.net/ A no-brainer use the helix principles and for old projects, turn this to helix to avoid a lot of refactoring you create a legacy folder inside your Helix structure for the old stuff. Also if Helix principles are used easy to transfer to other developers. On boarding new Sitecore Helix developers can really fast.
Item Serialization
Unicorn is a good choice. No license costs In the past period, the necessary innovation has taken place also suitable for deployment of Sitecore items. See Unicorn. TDS is also usable for serialization and deployment for Sitecore items. License required see Hedgehog
Other tools.
Glass Mapper is a Sitecore ORM for mapping Sitecore items directly into an object mode. Glass is widely used, when you start with Sitecore development, are aware of what glass does for you and what it means for performance. Avoid a base class and definitely one with queries, also some fields contains one or more GUID’s it takes time to get all references.
ZeroDeploy from hedgehog currently in beta, Nice to try. Develop without recycling the Sitecore Application Pool reducing. ZeroDeploy effectively does a 'hot-swap' of the DLLs in your web application, No more 60-90 second wait time, while the App Pool reloads on your computer. Intended only for your (local) development IIS
Octopus is a friendly deployment automation tool for .NET developers. Of course there are several tools to do it but this is a great tool for deployments to production.
Sitecore PowerShell Extensions (SPE) script anything you like widely used, contain also a lot of reports.