If you haven't heard already, Kentico recently announced the next generation of their Xperience platform, at their annual Connections conference. In part two of my excited fanboy series, I'm here to talk about some of the technology highlights that should get Developers, DevOps, and geeks in general excited about the new platform!
If you missed it, check out my excited summary of Kentico's next-gen Xperience announcement here.
The TL;DR version is: this isn't just the next version of Xperience. It's a complete rebuild, from the ground up.
This means the product teams were able to select the best technologies available today, rather than having to support 16 years of history that has gone into building one of the most comprehensive, all-in-one, unified DXPs on the market today. In other words: remove all technical debt, and build everything the way it should be built.
But of course, they're not just rewriting the exact same thing line by line. They're just using 2020s technology instead of 2000s. The same goes for the way they're implementing the features we require in a DXP in 2022.
Being a complete rebuild, the list of things that are new is obviously impossibly long. As an Xperience MVP I'm fortunate to have been included in many discussions, early previews, and beta tests over the past couple of years, so I've been able to pull out a few key highlights that get me excited and summarised them for you below.
Full .NET Core rebuild
At the risk of sounding like a broken record, this is not just an upgrade to the previous version of Xperience. It's completely new. (Although of course, they have a well supported migration path for existing customers.)
The new codebase is a from-scratch rebuild on the latest .NET (Core) technologies from Microsoft. There is absolutely no legacy code from old frameworks. This means it is extremely stable and efficient, and extremely fast. It also means developers have access to all the latest C# has to offer and all the modern development techniques they've been unable to use on their legacy projects.
Accordingly, the developer experience is massively improved. There's no more Kentico Installation Manager, no downloadable .exe files to install things into your Start Menu. It's all Nuget packages and dotnet templates now. Command Line Interfaces (CLI) allow you to easily script complex tasks such as generating code for your custom classes that used to be a manual process. Starting a new Xperience project is as simple as adding the Xperience packages to your solution in Visual Studio. Of course, there are still downloadable starter templates, but in that case, it's as simple as using dotnet new.
All of this leads to much simpler infrastructure requirements, even simpler than they already were with Kentico Xperience compared with the competition. Not only does it require fewer infrastructure resources (which translates to lower costs), it also means that it can be hosted practically anywhere, even on Linux servers.
And of course, this modern technology and hosting flexibility unlocks another option...
A SaaS (Software as a Service) solution
The pure definition of SaaS is often stretched pretty generously by DXP vendors, and is often really more of an Infrastructure as a Service (IaaS) + managed services offering. But I digress... 😬 A 'SaaS' (or Managed Cloud) offering is now one of the latest battlegrounds for the leading traditional DXPs.
I've been through the betas and prototypes in detail, and I can honestly say Xperience's upcoming Managed Cloud service is the closest I've seen to a DXP vendor providing a true SaaS solution.
On a subscription plan, they will provide all the infrastructure, of course, portals for deploying your own customised website code into the platform, and allow you to track deployment status across multiple environments. Deployments of custom code and configuration changes are much more packaged and streamlined than before, more like the modern DevOps pipelines and flows you might be used to.
Beyond this however, they will actually offer to manage the production codebase completely, and keep it continually up-to-date with the latest feature releases and security patches, as well as tested and monitored for issues, as you would expect from true SaaS platforms. (I've checked, and yes, my discerning Solutions Architect reader, they say there will be an option to turn this off.)
Thanks to the admin/back-office and the front end of your website implementation both being completely on .NET 6+, there's no longer any need to maintain two separate web applications for your website and your CMS administration (unless you want to, of course).
This means so many things for veteran Xperience developers:
- deploy once, to one application
- one domain (if you choose), removing requirements for CORS and so on
- no more shared projects or libraries across multiple solutions targeting different frameworks
- no more matching machine keys or hash salt strings
- no requirement to maintain a web farm for a single site instance.
Of course, you can still run multi-instance web farms, but you'd only set this up and do it in the case where you want to, for security, scalability or stability reasons.
While Kentico Xperience has had a full REST API for many years now, Kentico Software's strategy for the past six years or so has been to focus on being a web-first DXP, with a completely separate product targeting headless use cases with a pure-play Content-as-a-Service offering.
Since then, there's been a growing need and demand for alternative or non-web channels associated with a DXP, powered by this style of headless API. The next generation of Xperience will include a brand new, modern headless API to fully serve these hybrid use cases.
By starting from scratch, the Kentico team has also been able to go right back to the drawing board with how it deals with structured content. Of course, the same DNA is there – you have a Pages module with a familiar tree of content, that you can expand and browse, and which usually pretty much matches your site's information architecture.
But under the hood, there are some significant improvements. One of these is what Kentico is calling 'atomic content'. This means every last little piece of content that you're inserting into pages as widgets for example, will no longer be saved just within that page, but will be a nice little piece of reusable, structured content in its own right. (This might sound familiar if you've been using a modern headless CMS such as Kontent).
This approach gives you essentially the best of both worlds: a visual, web-first authoring environment that does not restrict editors in any way; but also all the benefits of structured content, including reusability (or eliminating content duplication), and omni-channel support, delivering purely structured content as JSON via the headless API I described above.
JAMstack admin user interface
Even if you don't pop the hood, the first thing you'll immediately notice is obviously the new user interface.
It's a Single Page App (SPA) built on React.js in the front end, and powered completely by high performing API calls. What this translates to an incredibly quick experience, that feels like a native app, not a website. In fact, it responds so quickly that my colleagues literally thought I was joking when I sent through a screencast and accused me of speeding the video up!
A screen recording of the user interface of Xperience by Kentico (beta)
More to come
The next generation of Xperience by Kentico hasn't even been officially released in early access yet (that's coming next month, July 2022!) and there's already a lot to get excited about. Some of what I've mentioned above and more are listed on Kentico's public product roadmap, so if you're interested in what's coming next and can't bear to wait for more posts from me, check it out as it will continue to be updated!
Considering an Xperience upgrade?
Speak to one of our Kentico Xperience experts about keeping your platform up to date.Get in touch
Want more? Here are some other blog posts you might be interested in.