Mastering the Sitecore 10 System Administrator Certification: A Four-Part Journey Through 8 Key Competencies (PART 3)

Mastering the Sitecore 10 System Administrator Certification: A Four-Part Journey Through 8 Key Competencies (PART 3)

Welcome back to our series on the Sitecore 10 System Administrator certification journey! As a Senior Project Manager at Oshyn Inc., I’ve gained valuable insights into Sitecore XM/XP through hands-on project experience and preparation for this certification exam. In this installment, we’ll explore two key competencies essential for managing a robust and scalable Sitecore environment:

  • Competency 5: Sitecore Architecture and Containerization – Mastering the foundational structure and deployment methods of Sitecore in modern environments.
  • Competency 6: Installation, Updates, and Upgrades – Ensuring your Sitecore instance remains current, stable, and primed for performance.

Understanding these competencies will empower you to maintain a high-performing platform that meets both business and technical needs. Let’s dive into the details!

Competency 5: Sitecore Architecture and Containers

Understanding Sitecore Architecture

The Sitecore product suite contains more than 60 logical system roles or entities that can be scaled and configured in a wide variety of ways.

Roles delineate the specific functions and responsibilities assigned to different servers or instances within the Sitecore environment. These roles, such as Content Delivery, Content Management, Processing, or Reporting, define the purpose and tasks of each server, contributing to the efficient functioning of the entire Sitecore system.

1. Content Delivery (CD) role. This role handles requests from website visitors and determines the appropriate content to serve and format to render. This role is crucial to effectively manage global web traffic and provide fallback scenarios for your website.

  • If you expect a regular high number of visitors, you can arrange your CD servers into clusters. You can also ensure that your servers are located as close as possible to the regions they are servicing.
  • In a production environment, the CD should not be combined with any other role. You can only combine the CD role with other roles in the following topologies: Sitecore XM or Sitecore XP Single.

Content Delivery Role’s place in the Sitecore reference structure

2. Content Management (CM) role. This role enables you to create, manage, and publish content. The CM role handles the content the CD server accesses from the Web database.

  • The CM role references various storage roles to manage and deliver content (e.g. references the xDB reporting database). A crucial storage role is the Master Database, which stores the master copy for all versions of every content or media item, published or unpublished, across all languages and publishing targets.
  • The CM role references several search indexes. When content is updated in the Master Database, the CM role adds that content to the Master Index.

Content Management Role’s place in Sitecore reference structure

The roles described above are logical and do not represent physical or virtual servers, database servers, or search engines. Some logical roles can be combined into single physical entities within a topology, depending on the objective:

By product: roles are grouped based on the product for which they are licensed, installed, and predominantly utilized. Sitecore consists of three major products: Sitecore Experience Manager, Sitecore Experience Platform, and Sitecore Experience Commerce. Each of them contains several logical entities that together with several cloud services form the entire functionality of the Sitecore Platform.

1. Sitecore Experience Manager (XM)

  • Sitecore XM enables you to create, manage, and publish content to your websites.
  • You can use Sitecore XM (CMS-only mode) to run Sitecore XP without enabling xDB or purchasing xDB licenses, although personalization conditions are limited and data collection is unavailable.
  • Path Analyzer is incompatible with Sitecore XM.
  • Sitecore XM can be single or scaled. A single topology means that the CD role and the CM role are configured in a single Web App instance. This is only recommended for development and testing, and Sitecore advises against using XM Single for the production environment. XM Scaled consisted of CD on one instance and CM on the second instance. They both can be scaled horizontally (to have multiple CD instances or a cluster of CDs, while the Web database can be scaled into multiple web databases, but there can only be one Master database).
  • These are the roles contained in Sitecore XM:

Roles contained in Sitecore XM

2. Sitecore Experience Platform (XP)

  • Sitecore XP provides a larger set of services, such as content management, digital marketing, analysis, and reporting.
  • It is the most used Sitecore topology.
  • Sitecore XP combines the features of Sitecore XM with the marketing and customer intelligence functionalities of xConnect and xDB.
  • Sitecore XP allows you to collect data to provide engaging digital experiences for customers.
  • It can be configured as a single or scaled. XP Single has core roles such as CM, CD, Processing, and Reporting hosted in a single Web APP instance. Sitecore recommends XP Single configuration only for local environments. XP Scaled has each role in its own Web App instance.
  • These are the roles contained in Sitecore XP:

?

Roles contained in Sitecore XP

3. Sitecore Experience Commerce (XC)

  • Sitecore XC is deployed on top of Sitecore XP. It provides tools to manage e-commerce storefronts. It also enables marketers and merchandisers to fully customize the end-to-end shopping experience at all stages of a transaction.
  • It can be configured as single and multitenancy out-of-the-box. Single tenancy setup is with a single website - or storefront - that is served by the CD role. A multitenancy setup, a single instance of a CD role, and Commerce engine can host multiple storefront sites with tailored functionalities.
  • Sitecore XC is suited for companies that need a single integrated platform to establish or enhance their commerce capabilities by creating personalized customer journeys.
  • These are the roles contained in Sitecore XC:

?

Roles contained in Sitecore XC

  • Sitecore XC requires additional applications such as DevOps, Shops, Minions, Authoring, and BizFx.

4. By type: roles are grouped by their usage or technology.

Roles by type (Four groups)

5. By combination: for scalability or simplicity reasons.

6. Standalone roles: These roles cannot be combined with any other roles and must run as a standalone web application: Content Publishing (publishes content from the Master database to the Web database, and is an optional replacement for the Sitecore publishing methods that are part of the CM role), Universal Tracker Collection service (collects live interaction data and stores that data temporarily in the Universal Tracker database), Universal Tracker Processing service (is responsible for submitting to xConnect the data collected by the Universal Tracker Collection service), and the Sitecore Identity Server (it is used to request and handle identity, grant access, and refresh tokens).

Sitecore Development with Docker

Sitecore’s containerized approach leverages Docker to streamline development, testing, and deployment. Using Docker allows Sitecore developers to work in isolated environments that closely mimic production, improving consistency and reducing configuration issues

Benefits of Docker in Sitecore Development:

  • Lightweight: Containers have a small size on disk and minimal overhead.
  • Isolation: They keep applications isolated from each other and from the underlying system, enhancing security.
  • Portability: Containers can run on any machine supporting their runtime environment, facilitating easy movement between environments.
  • Loose Coupling: Containers are self-sufficient and encapsulated, enabling the replacement or upgrade of one container without affecting others.
  • Scalability: Due to their lightweight and loose coupling, containers support quick scaling by creating new instances.

The main difference between containers and virtual machines is that Containers virtualize at the operating system level, sharing the kernel, resulting in faster start-up times and lower memory usage compared to Virtual Machines, which emulate entire operating systems with dedicated resources.

Docker in Sitecore Development:

Definition of Docker:

  • Open Source Project: Docker is both an open-source project and a company that promotes container-based application development.
  • Technology Evolution: Docker has accelerated modern container development since its introduction in 2013, becoming synonymous with containers.
  • Compatibility: Originally built for Linux, Docker now runs on Windows and MacOS as well.

Docker Terminology:

  • Image: A package with code and dependencies serving as the blueprint for creating a container.
  • Dockerfile: A text document format containing instructions for building a Docker image.
  • Registry: A storage place for images, either public (Docker Hub) or private (Azure Container Registry).
  • Repository: A collection of images with the same name, labeled with tags to indicate version or variant.
  • Tag: A reference to a specific image within a repository, often used for version numbers or architecture variants.
  • Container: An instance of an image, consisting of image contents, an execution environment, and instructions.

Benefits of Sitecore Development with Docker:

  • No Installation: Docker eliminates the need for traditional installations like SIF (Sitecore Installation Framework) or SIM (Sitecore Instance Manager). Sitecore provides ready-to-use container images.
  • Multi-Project Efficiencies: Developers can run multiple Sitecore instances simultaneously without concerns about conflicting versions.
  • Simplified Onboarding: Onboarding involves installing prerequisites, cloning code repositories, and running docker-compose up.
  • Environment Consistency and Stability: Containers ensure consistent build environments and stable instances, eliminating issues due to environment inconsistencies.

Sitecore Images: Starting from Sitecore 10.0, Sitecore provides official Docker images for all supported roles, making it easy to configure and deploy Sitecore instances. These images are available via the Sitecore Container Registry (https://scr.sitecore.com) and include roles such as:

  • CM and CD Roles: Core content management and delivery functionalities.
  • Processing Role: For xDB data processing and aggregation.
  • Reporting Role: Handles reporting services for Sitecore Analytics.

For Previous Versions: The docker-images community repository is used, requiring image building but providing scripted and well-documented processes.

Supported Sitecore topologies for containerized solutions

Sitecore XP 10 introduces three distinct topologies tailored to elevate your containerized experience. Understanding the functionalities encapsulated within each topology is paramount for orchestrating the seamless deployment of Sitecore with containers. In this exploration, I will go over XP Workstation (XP Single), XM Server (XM Scaled), and XP Server (XP Scaled), unraveling the potential each holds.

XP Workstation (now mostly referred to as XP Single or XP0): Streamlining Development

This is a topology meticulously crafted as a developer Docker workstation only, also known as XP0.

The XP Single is a strategic choice for developers seeking to streamline their development environments, minimizing memory overhead, download size, and complexity. This optimization extends to enhancing startup and shutdown times, offering an efficient and focused workspace.

XP Single supports the following roles:

Production role type:

  • Sitecore Identity Server

Non-production role type:

  • Content Management (standalone)
  • xConnect Server (standalone)
  • xConnect Search Indexer
  • xDB Automation Engine
  • Cortex Processing Engine
  • Microsoft SQL Server
  • Apache Solr
  • RedisLabs Redis Server
  • Traefik Reverse Proxy (Traefik is a dynamic reverse proxy and load balancer that is commonly used in microservices architectures and containerized applications)

XM Server (now mostly referred to as XM Scaled, or XM1): Balancing Production Dynamics

This topology is designed for both production and non-production environments. XM Scaled can optimize deployment time and minimize resource overhead in non-production scenarios by excluding the Content Delivery role from the Docker Compose configuration.

XM Scaled supports the following roles:

Production role type:

  • Content Management
  • Content Delivery
  • Sitecore Identity Server

Non-production role type:

  • Microsoft SQL Server
  • Apache Solr
  • RedisLabs Redis Server
  • Traefik Reverse Proxy

XP Server (now mostly referred to as XP Scaled or XP1): Meticulous replication for Production

Our final destination is the XP Scaled, meticulously crafted for production and non-production Docker environments. XP Scaled empowers you to replicate the exact configuration used in production, providing a true-to-life environment for testing and development. However, note that this topology demands substantial resources for optimal performance.

In both production and non-production environments, XP Scaled supports an extensive array of roles, mirroring the comprehensive Sitecore configuration:

Production role type:

  • Content Management
  • Content Delivery
  • Sitecore Identity Server
  • xDB Processing
  • xConnect Collection
  • xConnect Search
  • xConnect Search Indexer
  • xDB Automation Operations
  • xDB Automation Reporting
  • xDB Reference Data
  • Cortex Processing Engine
  • Cortex Reporting
  • xDB Automation Engine
  • Cortex Processing Engine

Non-production role type:

  • Microsoft SQL Server
  • Apache Solr
  • RedisLabs Redis Server
  • Traefik Reverse Proxy

Setting up the Environment

Here I have summed up the steps to prepare (prerequisites) and launch your Sitecore environment to run using containers, as Sitecore suggests.

Software Prerequisites:

Windows 10:

  • Required operating system for running Sitecore XP 10 in containers.

Hyper-V:

  • Enables the operation of multiple operating systems as VMs on Windows.

Docker Desktop for Windows:

  • Essential for managing and deploying containers on Windows.

Docker Compose:

  • Included as part of Docker Desktop installation, facilitates defining and running multi-container Docker applications.

Visual Studio/VSCode:

  • Development tools for creating and editing Sitecore solutions.

Hardware Prerequisites:

Running Hyper-V:

  • Requires a 64-bit processor with second-level address translation (SLAT) and hardware-assisted virtualization.
  • Virtualization support must be turned on in the BIOS.

Sitecore Development:

  • RAM: 32 GB
  • CPU: Quad-Core or higher
  • Free Disk Space: 40 GB

Networking:

  • Ensure no other processes access TCP ports used by containers.
  • Required Ports: 433, 8079, 8080, 8984, 14330

Verify Configuration Files:

Sitecore License File:

  • Ensure a valid Sitecore license file is available.

Environment Variable (.env) File:

  • Verify and configure the environment variable file for the Sitecore solution.

To get a Sitecore environment running in Docker, Sitecore suggests to go through the following actions:

Work with Sitecore Docker Examples

  • Use Sitecore Docker Examples repository to launch a containerized solution. There are Docker Compose files for each Sitecore topology at https://developers.sitecore.com/.
  • Clone the Docker Examples repository by downloading and extracting or cloning the Docker Examples repository found here https://github.com/Sitecore/docker-examples
  • Explore the Docker Compose files, and go through the instructions to build containers. Sitecore recommends using variables for passing configuration settings into containers.

Prepare your Sitecore environment:

Install Sitecore Docker Tools

Populate variables in the environment (.env) file. The six variables that need to be populated are SITECORE_ADMIN_PASSWORD, SQL_SA_PASSWORD, TELERIK_ENCRYPTION_KEY, SITECORE_IDSECRET, SITECORE_ID_CERTIFICATE, SITECORE_ID_CERTIFICATE_PASSWORD

  • SITECORE_ADMIN_PASSWORD and SQL_SA_PASSWORD are populated directly in the .env file
  • Run the following script to populate TELERIK_ENCRYPTION_KEY

Import-Module SitecoreDockerTools
Set-DockerComposeEnvFileVariable "TELERIK_ENCRYPTION_KEY" -Value (Get-SitecoreRandomString 128)        

  • Run the following PowerShell script to populate SITECORE_IDSECRET, SITECORE_ID_CERTIFICATE, SITECORE_ID_CERTIFICATE_PASSWOR, Drequired for the Identity server.

Import-Module SitecoreDockerTools
Set-DockerComposeEnvFileVariable "SITECORE_IDSECRET" -Value (Get-SitecoreRandomString 64 -DisallowSpecial)
$idCertPassword = Get-SitecoreRandomString 12 -DisallowSpecial
Set-DockerComposeEnvFileVariable "SITECORE_ID_CERTIFICATE" -Value (Get-SitecoreCertificateAsBase64String -DnsName "localhost" -Password (ConvertTo-SecureString -String $idCertPassword -Force -AsPlainText))
Set-DockerComposeEnvFileVariable "SITECORE_ID_CERTIFICATE_PASSWORD" -Value $idCertPassword        

  • Run the following PowerShell script to set the Sitecore license variable.

Import-Module SitecoreDockerTools
Set-DockerComposeEnvFileVariable "SITECORE_LICENSE" -Value (ConvertTo-CompressedBase64String -Path "C:\License\license.xml")        

Configure TLS/HTTPS certificates

  • Examine Traefic folder for the chosen solution. -> Go to /getting started/traefik and place generated certificates
  • Install mkcert utility to generate required certificates. -> Download the latest mkcert file; Rename it to mkcert.exe; Move the file to a directory that is in one of your path environment variables; Open a command prompt in Administrator mode and run mkcert-install; Install mkcert using Chocolatey.
  • Generate certificates ->Go to the folder C:/sitecore/docker-examples/getting-started and run the following command:

mkcert -cert-file traefik\certs\xp0cm.localhost.crt -key-file traefik\certs\xp0cm.localhost.key "xp0cm.localhost"

mkcert -cert-file traefik\certs\xp0id.localhost.crt -key-file traefik\certs\xp0id.localhost.key "xp0id.localhost"        

Generate certificates for xpcm.localhost and xpid.localhost

  • Add Windows host file entries. Add “xp0cm.localhost” and “xp0id.localhost”hostnames to Windows host files.

Launch the Sitecore environment in Docker

More details are in the following link:

Competency 6: Sitecore installation, updates, and upgrades

A Sitecore 10 System Administrator should be able to install Sitecore XP Single (XP0). To do so, you need to work with Sitecore installation packages, Download Sitecore Installation Framework (SIF) or the Sitecore Install Assistant (SIA), and Perform Sitecore XP0 Installation.

Installing Sitecore XP0 with the Sitecore Installation Framework (SIF)

Work with Sitecore installation packages:

First, you need to identify and download the correct packages for your Sitecore topology from the Sitecore Developer Portal (here you will find downloadable files for every Sitecore product). The Sitecore Developer Portal also shows the latest Sitecore updates, technical documentation (e.g. installation guides), and Sitecore’s blog.

Once you have chosen the Sitecore XP version you want to download, in this case, it is within “Download options for On Premises deployment” you select Packages for XP Single.

Content of the XP0 Installation packages:

  • SQL scripts for database and user creation, Sitecore’s web folder, and all the files needed to run an installation
  • Necessary package for installing xConnect.
  • Package to install Sitecore Identity Server.
  • Package containing the installation scripts and installation configuring files.

Get started with Microsoft PowerShell. Microsoft PowerShell is a powerful scripting and automation framework that is widely used in the IT industry. PowerShell uses a scripting language that facilitates the automation of repetitive tasks and the creation of complex scripts. PowerShell provides a command-line interface for interacting with the operating system and various applications. You must download and install Microsoft PowerShell version 5.1 or later.

  • Right-click on the PowerShell icon and select Run as administrator.
  • Change the execution policy to run unassigned PowerShell scripts.

Download Sitecore Installation Framework (SIF):

The SIF is a Microsoft PowerShell module provided by Sitecore for automating the installation and configuration of Sitecore Environments. It serves as a framework that streamlines the deployment process, making it more efficient and consistent. There are two ways to install the SIF module:

  • You can download the SIF module as a .zip package from the Developer Portal and install it manually.
  • You can install SIF with Microsoft PowerShell through MyGet feed of the Sitecore Gallery.

Perform Sitecore XP0 Installation:

After getting all the necessary files and successfully installing the SIF module, you should:

  • Check for prerequisites for the Sitecore XP Installation: You can also check software requirements and install any missing software running the following json file: Install-SitecoreConfiguration - Path .\Prerequisites.json Or you can check manually requirements: You must use the version of IIS that your operating system supports. Sitecore XP can be hosted on the IIS 10.0 Sitecore Identity server needs.NetCore 2.1.18 Windows Hosting Module or later Sitecore XP versions 10 and over need .NET Framework 4.8.0. Operating system: You can host Sitecore XP on Windows Server 2019, 2016 or Windows 10 (64-bit) Database server: Sitecore XP supports Microsoft SQL Server 2017, 2019, and Microsoft Azure SQL. Search provider: Solr 8.4.0 Microsoft PowerShell version 5.1 or later.
  • Configure the installation files: In the folder you have unpacked the installation files, open XP0-SingleDeveloper.ps1 Configure the file according to: Prefix: type your website name as the prefix, followed by a suffix Password: Specify the password for your Sitecore instance. The site name is the prefix previously specified, followed by .sc. The Solr URL is the same one you have on your machine. Configure SQL server parameters (server, user, password)
  • Run the installation script for the XP0: Start the installation on Microsoft PowerShell by executing “.\ XP0-SingleDeveloper.ps1”
  • After installing Sitecore XP, you must rebuild the search indexes and rebuild the Link databases. To rebuild all the indexes: On the Sitecore launchpad go to Control Panel>Indexing section> Indexing Manager. In the Indexing Manager dialog box, click Select all, and then click Rebuild. To rebuild the Link databases for the Master and Core databases: On the Sitecore launchpad go to Control Panel>Dabase section> Rebuild Link Databases. Select Master and Core databases and then click Rebuild.
  • You can use SIF also to uninstall a SIF configuration file by launching PowerShell as an administrator and running the uninstall command: “Uninstall-SitecoreConfiguration –Path <configurationpath> \sitecore-XP0.json”

Installing Sitecore XP0 with the Sitecore Install Assistant (SIA)

  • You can use SIA to install XP0 and XM1.
  • Download the Sitecore Install Assistant here, unpack SIA, and move it to where you want to install Sitecore XP on your computer. The package includes the SIA executable file. JSON configuration files. ZIP program files/
  • Before installing Sitecore XP: Your computer meets the minimum hardware requirements running a single Sitecore installation. 4-core processor. 16 GB of RAM IIS 10.0 Windows 10 (64-bit)/Windows Server 2016/ Windows Server 2019 Install .NET Framework 4.8.0. Install .NET core 2.1.18 Windows Hosting Module or later. Install SQL Server Install all operating system updates. Have a valid Sitecore license.
  • Go to the folder where you unpacked SIA and Run setu.exe
  • SIA guides you step by step through the installation process. This is a summary table with information on each step of SIA:


SIA guide for installation process

As a System Administrator responsible for managing Sitecore solutions, staying informed about and implementing timely updates and upgrades is crucial for optimizing the functionality, usability, and security of the organization's Sitecore environment.

Sitecore regularly releases product improvements, i.e. UPDATES, and as part of your role, you will be actively involved in overseeing the update process. To streamline this process, it's essential to comprehend the basics of Sitecore updates, upgrades, and the associated terminology. Sitecore employs specific product update terminology, and becoming familiar with these terms is key to efficiently monitoring and implementing relevant updates. Understanding distinctions such as feature releases, updates, and hotfixes is vital.

  • Feature releases introduce significant functionality and are labeled with a two-level version number and "Initial Release."
  • Updates address specific issues within a product version and are cumulative, with each subsequent update containing the fixes of its predecessors.
  • Hotfixes for isolated issues, ensuring the ongoing stability and security of the Sitecore solution.

Understanding the intricacies of transitioning from an older version of Sitecore XP to a newer one is essential, i.e. UPGRADES. While each upgrade process is unique, collaboration with your Sitecore Sales Representative or Partner is crucial to determining the specific upgrade process for your organization. Accessing relevant documentation and upgrade files on the Sitecore Downloads site is part of your preparation. The Sitecore upgrade process involves three main components: Sitecore's Versioning Policy, Common technical steps, and consideration of your organization's Content strategy.

  • Familiarizing yourself with Sitecore's Versioning Policy is paramount, as your current Sitecore version significantly influences the upgrade process. The versioning policy includes details such as the number of levels in version numbers, and understanding this is vital when deciding how and when to upgrade.
  • Technical steps for upgrades involve actions like adding connection strings, disabling indexing, and managing the Sitecore Experience Database (xDB). Depending on your Sitecore version, specific technical steps may vary, and referencing detailed guides can provide insights into these processes.
  • Managing your organization's content strategy is also crucial during upgrades. The unique nature of each upgrade process requires careful consideration of your Sitecore version and specific installation details. Familiarity with these components equips you to navigate the complexities of Sitecore upgrades efficiently.

More details are in the following links:

Remember that by understanding Sitecore Architecture and Containerization, you will be able to create agile, scalable environments that align with modern development practices. Pair that with the ability to handle Installation, Updates, and Upgrades smoothly, and you’ll have what is needed to optimize Sitecore deployments and deliver exceptional digital experiences.

In the next and last part of this series of 4 blogs, l'll share about performance optimization, health monitoring, and leveraging Sitecore’s support services to maintain a responsive and reliable environment. Stay tuned as we continue this exciting road towards the Sitecore 10 System Administration certification!

要查看或添加评论,请登录

Augusto Davalos的更多文章

社区洞察

其他会员也浏览了