Before we discuss the details of our web architecture, it is worth asking, “Why do need a web architecture at all? Why not just buy a license to Sitefinity?” Why might we intentionally aim for a complex-looking architecture like the one below right, rather than aim for the simple-looking architecture like the one below left?

Complex-looking and simple-looking web architectures

The answer is that the complexity must go somewhere.

The single-application solution on the left is actually no simpler than the multiple-application solution on the right. The solution on the left merely attempts to hide the complexity, where the solution on the right exposes the complexity.

Complex-looking and simple-looking web architectures have same complexity

So, why expose complexity?

Ironically, it is to reduce the complexity. It is simpler to manage 100 open components where each has a single reponsibility than it is to manage a single application which has 100 responsibilities hidden away.

Keep this in mind as we work through Kleenheat’s web architecture. Each time we add a new microsite or microservice, we are actually managing necessary complexity—we are not adding needless complexity.

The following illustration sets out the the main regions of the Kleenheat web architecture. The final solution may have any number of websites, microsites, and microservices—only two are shown to keep the illustration comparatively simple.

Regions of the Kleenheat web architecture

Next section: Mermaid