Should we host Sitecore on IaaS or PaaS? (Jan 2020)

This started as a question on the community forums, and my answer got so long I decided to capture it here as well.

In general, when you are choosing an infrastructure model the first question you need to ask is what your team is comfortable having responsibility over, and what your organization is willing to pay to have somebody else worry about. You could do it in-house, pay a managed services group or Sitecore partner, or have Sitecore do things for you. Figure out what your team wants to have responsibility for and then that will guide you towards the best hosting model for your production environment.

Continue reading “Should we host Sitecore on IaaS or PaaS? (Jan 2020)”

Preparing your CMS infrastructure for traffic spikes

We’re living in the days of “going viral.” Consumers move faster than ever, and businesses need to be ready to respond to sudden demand the moment it arrives—or risk losing out to competitors.

The right endorsement from the right person can generate global exposure and cause unprecedented numbers of people to flock to your site, with little or no prior warning.

Take Lady Gaga’s Super Bowl halftime show in 2017—millions of people saw her backup dancers in Steve Madden boots and rushed online to order them. That can amount to more traffic than most people dream of in a year, all arriving in seconds.

Major televised events are only one piece of the puzzle. In the modern digital world, digital marketing is aimed purposefully at trying to create demand–and businesses need to be ready to scale up to meet sudden successes from the drop of a tweet.

Crucially, it’s not just about bearing the weight of enormous traffic spikes. It’s about being able to innovate, and capitalize on sudden demand at a moment’s notice. One great way to do that is to leverage cloud hosting for your CMS.

Read more on sitecore.com…

Sitecore 9 xDB Sharding

Have you ever wondered what is going on with those new Shard databases in Sitecore 9? This is the new xDB! The new Shard Manager stores data based on the contact ID. A contact ID is a GUID identifier that is unique for each contact. It looks something like this:

B9814105-1F45-E611-82E6-34E6D7117DCB

The xDB scales out by splitting these contacts across the various shards based on their contact identifier. A 16-byte hash of the GUID is used and assigned to each shard to ensure distribution.

Continue reading “Sitecore 9 xDB Sharding”

Scaling Sitecore 9.0 XP Services

The blog here has been a little quiet lately as I have started moving to creating content on the corporate site. I wanted to share something I worked on and has been posted on the Community blogs.

Here you go: Scaling Sitecore xConnect and XP Services architecture

In the linked blog you’ll get a brief overview but primarily you’ll get access to the video content I’ve created to help you understand the new Sitecore 9.0 services and how to scale them!

SSL for multi-tenant Sitecore installations

From the dawn of HTTPS-time, admins have struggled with setting up multiple SSL certificates on a single server.  At the same time, we have Sitecore’s licensing model which really drives the business to get the most value out of fewer Sitecore instances. This leads teams to encounter multi-tenant installations that also require SSL protection, which in turn leads to me receiving questions like the following from clients:

“How do we get Sitecore to have multiple HTTPS websites on a single instance?”

The multiple SSL certificates problem is not because of a limitation on the Sitecore side, but rather a limitation in Internet Information Services (IIS).  No amount of configuring Sitecore site definitions will help you solve this problem. So how do we solve this issue?

Continue reading “SSL for multi-tenant Sitecore installations”

Tenth day of Christmas… Ten WTFs!

On the tenth day of Christmas, my true blog gave to me:

Ten WTFs,
Nine giphy’s dancing,
Eight Scrums a-scaling
,
Seven most-heard retrospective comments,
Six Keystone config tips
,
Five Golden Rules!
Four CI tools
,
Three powershell scripts,
Two Keystone merge tips,
…and a placeholder rule in the content tree.

For years, I’ve read The Daily WTF for humourous stories from the field. As a gift to you, here are 10 of the ones from over the years that I personally enjoyed!
Continue reading “Tenth day of Christmas… Ten WTFs!”

WCF and CORS: “No ‘Access-Control-Allow-Origin’ header is present on the requested resource”

If you are building an Angular app (or other form of HTML5 web application) you are probably running controllers on JSON data to bind to repeaters and present to your users. In many examples, this is usually set up with static data, or a local file, but inevitably you will want to architect something a bit more scalable. One way is to introduce a WCF service to act as your gateway to a data store, but if you are running this service outside of the domain of your web application, you will see the following error in your Javascript console:

No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://www.yourdomain.com’ is therefore not allowed access.

Continue reading “WCF and CORS: “No ‘Access-Control-Allow-Origin’ header is present on the requested resource””

Baby Steps to SOA: A retrospective on the blog series

Service-oriented ArchitectureOne of the key needs in lean, scrum, and other agile processes is for continuous improvement.  We constantly review how we do things to do them better.  The most common method of doing this is the retrospective.  After 5 months of writing the Baby Steps to SOA series, I decided that I wanted to review what I had done and figure out how to do it better.  Of course, since this is an agile-related blog, I wanted to share this experience with those of you out there so you can learn about how a retrospective works, and how you can apply it to any work you are doing.

Continue reading “Baby Steps to SOA: A retrospective on the blog series”

Baby Steps to SOA – Step Ten: Riding the ESB

In the continuing Baby Steps to SOA series, we follow Doug and the IT team behind BuyMyWidget.com as they take steps to renovate their digital asset architecture. In this final stage, the team moves to using an Enterprise Service Bus (ESB) to handle the inter-application communication. This step allows for an increased ability to manage the disparate systems and scale to an enterprise level while also removing tight coupling between the applications.

Continue reading “Baby Steps to SOA – Step Ten: Riding the ESB”