Deliver more rapidly to accelerate digital experience success with new features — from container infrastructure orchestration to integrated data and marketing functionality.
If you want a quick overview of the whole release, check out Sitecore 10 highlights article. In the following article, we’re going to drill down into the changes and benefits for the technical teams of developers, DevOps professionals, and IT staff.
Take a tour!
In this video, Nick Wesselman provides a quick tour for developers of the new stuff in Sitecore 10:
Nick also has a great overview in his LinkedIn article Sitecore 10.0 Released: A Great Day for Sitecore Developers.
Continuous Delivery with Sitecore Containers
First announced as supported in Sitecore 9.3, Sitecore 10 brings about new tools from Sitecore on how to adopt a container approach in your delivery flow. Why are containers important? In general, if you’ve been doing your development with virtual machines or local installations, moving to a Docker-driven development and infrastructure flow will be a huge benefits for you. In general, you can address four major areas:
- Drive down your TCO by reducing costs and onboarding more quickly
- Faster delivery by leveraging local development efficiencies of Docker
- Make it easier for developers so they don’t have to plan for system requirements of specific versions, or how to get Sitecore installed
- Improved operational capabilities with new monitoring and security support based on industry standard technology used for containers.
By moving to a containerized approach, you can better support a continuous delivery model. Implementing DevOps is a culture change and technology doesn’t solve that, but adopting Docker and Kubernetes into your workflow will give your team the industry standard tooling they need to work on those changes.
Not sure if your team is container ready?
Take a look at the challenges and benefits of a containerized approach with Docker and Kubernetes in my article Are Docker and Kubernetes the right fit for my team?
How can containers help you?
So how will the different parts of the team benefit?
Developers will see the biggest changes in their flow in the way they can spin up and tear down local environments in a scripted manner. By using shared Docker images, a team of developers can bring on new members to the team much more quickly, and also help each other out by enhancing the image definitions as they determine new needs for all members of the development team. This includes the dependencies like Solr, Redis, SQL Server, .NET versions, without having to replicate the entire operating system as would be done with a virtual machine.
The team supporting the live production environments and other infrastructure can also choose whether they want to leverage container infrastructure for how they deploy their environments. Kubernetes is the industry standard for container orchestration and allows you to deploy to any cloud provider you want.
Additionally, each cloud provider provides a managed Kubernetes service (like Microsoft’s AKS) to make it easier to manage your containers. For organizations running traditional IaaS with VMs, this can be a huge reduction in costs by sharing the operating system and hardware amongst multiple isolated containers.
Other resources on containers:
- Are Docker and Kubernetes the right fit for my team?
- Official Sitecore Containers documentation
- Docker: A quick overview
- Sitecore Docker images repository for 9.x
- Using Docker EntryPoints to configure for development and production on 9.x
- Docker and containers playlist on Master Sitecore
Flexibility and speed with the new headless ASP.NET Core development option
Containers are not the only new option for how to deliver Sitecore solutions though. There is a new headless developer option that allows your team to start building your sites in ASP.NET Core. This ASP.NET Rendering SDK allows your team to implement a headless architecture where a remote rendering host runs the website using ASP.NET Core, similar to our existing JSS headless developer option for front-end teams. This allows for rapid local development with a much lighter-weight front-end, allowing you to change things and debug issues faster.
If you are a .NET developer working with the new ASP.NET Core headless option, you’ll be seeing a lot of changes you’ve been waiting for:
- All the benefits of JSS but with the ASP.NET Core you want to work with. Using feedback from customers, partners, and developers who have been excited about headless delivery options with JSS, this new headless offering leverages that community feedback to deliver a better development experience. Using the same headless services that power JSS, you get to deliver experiences that work for the marketer in Experience Editor, track and provide marketing capabilities, and work faster.
- Routing support. You can make sure to only connect to Sitecore when you need to.
- Remote rendering host. Developers can build straight from Visual Studio into the rendering host and test changes without needing to recycle all of Sitecore every time. Make quick changes to the presentation layer, push those changes, and debug in a fraction of the time!
Other resources on the ASP.NET Core rendering host:
- What is ASP.NET Core? [Microsoft Learning Center]
- Sitecore Headless Development conceptual overview [doc.sitecore.com]
- Sitecore Layout Service [doc.sitecore.com]
- Sitecore Rendering Engine [doc.sitecore.com]
- Sitecore ASP.NET Rendering SDK API Documentation [doc.sitecore.com]
- Sitecore Headless
Work more efficiently with content automation
Another big change to the developer experience is the new content serialization tooling. This combines the best of both TDS & Unicorn, making it much easier for you to script your content changes and move them between your different environments as part of your deployment process. To make use of this new Serialization approach you have two different tools to help you.
- The first is the Sitecore CLI: a command line interface to interact with your Sitecore instance.
- The second is Sitecore for Visual Studio – a graphical tool to interact with your Sitecore instance from within Visual Studio.
The crucial thing to note here though is that the feature set between the two will be the same. You can choose your preferred way of working, either on the command line or through a GUI!
Other resources on the new serialization tools:
- Sitecore Content Serialization docs [doc.sitecore.com]
- Sitecore CLI docs [doc.sitecore.com]
- Sitecore for Visual Studio [doc.sitecore.com]
- Sitecore Management Services [doc.sitecore.com]
Enhanced Performance and Monitoring
Other than the primary enhancements to the Developer Experience, there are numerous changes made to help out the technical team from a performance and monitoring aspects. These are all intended to help you address the total cost of ownership by reducing the infrastructure you need to do the same tasks, as well as speed up your ability to debug and isolate issues. Your infrastructure can do more with these changes!
- Experience Optimization:
Numerous performance optimizations have been put in the active personalization list including infinite scrolling, caching, lazy loading and back end optimizations.
All together this allows to load 10K experiences in the list without significantly perceived degradation.
- Faster Content Delivery Response Times:
New session state optimizations have reduced overall delivery response time by 10-15%.
- More efficient loading of xConnect data:
The Marketing Automation system now eliminates unnecessary server resource usage when plans have not been defined yet. Contacts and Interactions will only be loaded via xConnect when an active or inactive marketing automation plan has been detected in the Marketing Automation database.
- Why is the content test suspended?
This troubleshoot enhancement provides additional diagnostic logging for suspended and corrupted tests in Contest Testing. This will allow easier troubleshooting of issues.
- Application map for xConnect services
Application map support has been one of the highest requested features for operations teams running their infrastructure on Azure. Teams can view and diagnose the xConnect stack directly in the application map. This monitoring and diagnosing allows you to start tracing requests.
- Faster xDB change tracking
Massive performance improvements to xDB change tracking achieved by changing the way changes are tracked in xDB. This allows for a faster processing when there is a high volume of changes being made, while simultaneously being less heavy on server resources.
Posts from around the community:
- Sitecore 10.0 Released: A Great Day for Sitecore Developers (Nick Wesselman)
- Sitecore 10 New Features (Peter Prochazka)
- Sitecore 10 with 10 Ultimate Features (Abhinav Kumar Singh)
- What is new in Sitecore XP 10.0 (Julius Angwenyi)
- 10 Things I Love and 10 Things I Hate (Dislike) about Sitecore 10 (Kelly Rusk)
- Sitecore 10 available! (Olivier Michel)
- Sitecore Version 10 (New Features) (Jitendra Soni)
- Sitecore 10, What’s New, Updates, Installation and Troubleshooting (Saad “Sitecore Sam” Ansari)
- Install Sitecore 10 in 10 using SIF (Rashmy Patwari)
- Install Sitecore XP 10 using Sitecore Installation Assistant (SIA) in easy steps to development machine (Sandeep Pote)
- Installing Sitecore 10 using SIA (Madhu Anbalagan)
- Sitecore XP 10 Initial Release – Install/Uninstall by using Sitecore Install Framework version 2.3 (Viet Hoang)
- Sitecore 10 Docker Containers: Cannot start service (Gabe Streza)
- Using Windows Host Writer with Sitecore 10 (Rob Ahnemann)
- Sitecore 10 Content Serialization. Do we still need Unicorn? (Volodymyr Hil)
- Make your Sitecore 10 Asp.Net Core web app multilingual (Göran Halvarsson)
- Sitecore 10 – SitecoreGallery failing to register and install SIF (Vinayak Chauhan)
- Sitecore 10: QA Takeaways (Ritesh Mathur)
- Constellation is now compatible with Sitecore 10 (Richard Cabral)
- How to use the Nuget/Azure Artifact credential provider with a .NET docker build container to connect to authenticated Azure DevOps feeds (Bas Lijten)
- Debug your Sitecore 10 Rendering Host in Docker (Göran Halvarsson)