Mastering the Sitecore 10 System Administrator Certification: A Four-Part Journey Through 8 Key Competencies (PART 3)
Augusto Davalos
Sitecore, Kentico, DXP & Software development Senior Agile Project Manager/Scrum Master, Agile and Continuous Improvement Evangelizer Digital Transformation
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:
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.
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 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)
2. Sitecore Experience Platform (XP)
?
3. Sitecore Experience Commerce (XC)
?
4. By type: roles are grouped by their usage or technology.
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:
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:
Docker Terminology:
Benefits of Sitecore Development with Docker:
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:
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:
Non-production role type:
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:
Non-production role type:
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:
Non-production role type:
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:
Hyper-V:
Docker Desktop for Windows:
Docker Compose:
Visual Studio/VSCode:
Hardware Prerequisites:
Running Hyper-V:
Sitecore Development:
Networking:
Verify Configuration Files:
Sitecore License File:
Environment Variable (.env) File:
To get a Sitecore environment running in Docker, Sitecore suggests to go through the following actions:
Work with Sitecore Docker Examples
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
Import-Module SitecoreDockerTools
Set-DockerComposeEnvFileVariable "TELERIK_ENCRYPTION_KEY" -Value (Get-SitecoreRandomString 128)
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
Import-Module SitecoreDockerTools
Set-DockerComposeEnvFileVariable "SITECORE_LICENSE" -Value (ConvertTo-CompressedBase64String -Path "C:\License\license.xml")
Configure TLS/HTTPS certificates
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
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:
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.
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:
Perform Sitecore XP0 Installation:
After getting all the necessary files and successfully installing the SIF module, you should:
Installing Sitecore XP0 with the Sitecore Install Assistant (SIA)
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.
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.
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!