Sitecore Host
Sitecore Host is a common platform for all Sitecore services, introduced in Sitecore 9.1.
A Sitecore service is a piece of functionality or a feature that runs separately, outside of the main Sitecore CM or CD role.
Sitecore Host acts as a base for a service and it addresses a number of common concerns. It also allows dynamic extensibility of services through the use of Sitecore Host plugins.
Sitecore Host has the following features:
-
Unified service registration (DI)
-
Unified configuration
-
Unified file system access
-
Command-line actions
-
Global route registration
-
Dynamic plugin loading
-
Sitecore consumption-licensing ready
-
Cross-platform ready (Sitecore Host is based on the latest Microsoft .NET Core libraries)
The advantages of running any feature or service built on Sitecore Host are:
-
All Sitecore Host applications have a consistent experience. For example: logging works the same way across any Sitecore Host application, configuration is merged and patched in the same way, command-line options all work in the same way, and so on.
-
The installation experience is consistent.
-
You can configure applications on the command line, without need for a UI.
-
You have powerful extensibility options through host plugins, so you can extend a feature with additional functionality.
-
The host behaves the same way whether you run it in the cloud or on premise, on Windows or on Linux, on dedicated hardware or inside a container.
Sitecore Host plugins
A Sitecore Host plugin is a extensibility unit that you can load into a Sitecore Host application dynamically, without having to change or recompile any part of the base code.
Sitecore Host always loads plugins in dependency order . It applies code loading, configuration overrides, and so on, in that same dependency order.
A plugin can contain the following elements:
-
Code - register services (dependency injection), register routes, and run your C# code.
-
Configuration - include, override, or provide new configuration.
-
Commands - add new commands, arguments, and subcommands.
-
Content - include any file system files (JavaScript, images, and so on).