Home  >  Blog  >  Web CMS Deployment

Ingeniux Team Blog
Powered by BlogXite

David Hillis | 07.13.09

Understanding Web Content Management Deployment

In my experience deployment is one of the least understood and most important decisions in implementing a CMS solution. When I use the term "deployment" I simply mean how a website is published and delivered. There are many deployment options, each with benefits and challenges. Ultimately, your deployment choice will have a large impact on how you develop your website and support advanced functionality.

Common deployment options include static or "decoupled" baking of content or dynamic frying of content. The good news is that whether you like your web content "baked" or "fried" Ingeniux CMS can help. Our flexibility in supporting multiple deployment options is one of the key differences between Ingeniux CMS and many other CMS applications.

Ingeniux CMS Deployment Options

Decoupled (Static / Baked)

Content is (typically) rendered on the CMS server as HTML and replicated to a Web server or file server where it is delivered to users. In Ingeniux we often call this "structured publishing" because our deployment engine builds all of the physical directory "structure" on the web server and syncs all of the content

Pros: Speed, dependability, and scalability. Because all of the content is flat files it can be delivered very quickly. There is no server-side processing of content or dependencies on a CMS / content store. The CMS can be down and the website will still be running.

Cons: Truly static content does not support any personalization or data-driven pages.

Ingeniux Dynamic Content (Fried)

Content is replicated to a web server in a raw or semi-expanded format and rendered "just in time" when it is requested. Ingeniux provides a "run-time" server option for Windows and Linux servers to dynamically render content and aggregate data from databases, feeds, web services, and other sources. An additional Run-Time Authentication module supports personalization and secure content access.

Pros: Supports personalization, syndication, and live data from databases or feeds. Built-in caching for rendered content on the server ensures content can be a delivered very quickly. Rich websites can be launched and managed with a minimum of development.

Cons: Dynamic content requires the use of a server-side application. Processing can add load or latency to very large web deployments and may take some tuning to optimize. Dynamic content by its nature adds complexity to websites.

Multi-Format Output (Push)

Content is rendered similar to decoupled delivery, but the rendered pages use third-party server technology and mark-up, like .NET, PHP, or Cold Fusion, to manage dynamic content.

Pros: Robust delivery backed by a huge library of solutions for your website. Using a standards-based technology means your website and code are supported by a large community of web developers who can extend and maintain templates and web applications. You can finely tune caching and support high scalability websites.

Cons: Requires additional coding to support dynamic content. Many websites actually have very little dynamic content and do not leverage or need a server technology framework. Requires developers to make template changes, thus the old joke about JSP (Java Server Pages) standing for "Job Security Pages."

Multi-Format Output (Pull)

Page templates are developed natively in a third-party server technology, like ASP.NET or Ruby on Rails. Templates query and consume CMS content just like they would display a database record-set. Content may be consumed from the CMS server using a lightweight web service API or alternatively be "slurped" or "pulled" from static content items stored on a web server.

Pros: Ideal for application-driven websites where complex functionality or transactions require a mix of editorial content and back office data. Think about an airline reservation system or e-commerce site. In these types of sites is often very difficult for marketing to update content like promotions or product descriptions. Without a CMS it often requires working in code (editing content resources: Tiles, RESX, etc...) in a development tool and a full application build to preview pages. Managing the editorial and promotional content with a CMS delivers real ROI and advantage.

Cons: Requires additional set-up to support preview as pages need to be rendered before they are seen. If web CMS content is consumed as a service it creates a dependency between the CMS application server and live website.

What About Content Delivery Networks?

Another option in website deployment is whether to use a Content Delivery Network (CDN). Many Ingeniux customers use CDNs to deliver content worldwide. A CDN provides mirroring and caching of web content across multiple servers placed in data centers worldwide. CDN's provide very fast content delivery and are ideal for delivering images as well as streaming media files. With a CDN you can easily scale content delivery without adding additional hardware by utilizing native "cloud" services. Because content is redundant a CDN helps ensure maximum uptime for websites. The challenge of working with a CDN is that it is difficult to support dynamic content. Some CDN's support a short list of server technologies, but deploying dynamic or data-driven content on a CDN adds additional complexity and can be expensive.

My recommendation for CDN deployment is to use a pure static "decoupled" deployment of HTML or the "pull" approach to Multi-Format Output where the content is slurped in by the application pages from static content. However, with some tweaking you can get any deployment model to work on a CDN.

The Best Deployment Approach

So what is the best deployment approach? It depends completely on the type of website you are managing and your business requirements. The good news is that Ingeniux CMS is one of the few CMS applications that fully support all deployment options from .NET to Java to good old HTML. Moreover, Ingeniux CMS can support "mixed" deployment where content may be deployed using a variety of technologies that can be mixed and matched.

To learn more about your deployment options with Ingeniux CMS feel free to contact one of our solutions experts today by calling 1-877-445-8228 or emailing info@Ingeniux.com.

Posted by David Hillis at 4:00 pm