Documentation > Best Practices and Examples > Services

CrownPeak Package Deploy

CrownPeak Package Deploy allows in-house developed business logic to be deployed cleanly, seamlessly and safely alongside a CrownPeak-managed presentation layer for the ultimate in dynamic, multi-channel digital experience solutions.

Overview


CrownPeak Package Deploy allows in-house developed business logic to be deployed cleanly, seamlessly and safely alongside a CrownPeak-managed presentation layer for the ultimate in dynamic, multi-channel digital experience solutions.  This capability is initially being offered for Microsoft Windows .Net platforms.

With this enhancement, customers and partners can safely, reliably and independently deploy application packages built for Microsoft Web Deploy (http://www.iis.net/downloads/microsoft/web-deploy) to their CrownPeak Content Delivery Servers, and run the resulting code alongside CMS-managed content deployed to the same publishing target.

A number of use-cases where CrownPeak Package Deploy would prove advantageous:

  • Complex web applications that require 'atomic deployment'
  • Maintaining an existing continuous integration or QA process for an existing application
  • Simplifying deployment of web applications from within the CrownPeak CMS.
  • Abstracting presentation layer from business logic and allowing separate teams to manage both independently 

The CrownPeak Package Deploy enhancement is available to all customers that take advantage of CrownPeak Content Delivery hosting. 

Features and Benfits


The following features and benefits are available to CrownPeak customers and partners with the release of the CrownPeak Package Deploy enhancement:

  • Packaged Deployment - Microsoft's Web Deploy (http://www.iis.net/downloads/microsoft/web-deploy) enables developers to package an application into a single archive. The CrownPeak Package Deploy enhancement enables customers and partners to deploy a Microsoft Web Deploy Package as a single entity to their CrownPeak Delivery Server hosted web applications. When deploying in this manner, Microsoft's Web Deploy will first check for a number of potential deployment errors, before actually unpacking the package contents to the web server. This means that it is possible to see many potential application code issues prior to deployment (e.g. dependency or configuration file issues). In the event of an issue being reported, the package will not be deployed and the error detail returned to the CrownPeak CMS. This greatly improves end-customer experience, as will result in fewer failure situations when compared to individual file deployment.
  • Atomic Deployment - As all application files are combined into a single Microsoft Web Deploy package that are deployed in a single operation, the deployment can be considered 'atomic' by definition. With atomic deployments, all files within the package are deployed and are available to the web server at the same time. This reduces the possibility of critical files not having been deployed together, which potentially causes failures. 
  • Application Settings Substitution - By using Microsoft Web Deploy's Web.config / Application.config parameter substitution, configuration settings can be easily managed between workflow states (e.g. STAGE and LIVE) from within the CrownPeak CMS. Since the configuration settings are managed as CrownPeak Asset fields, the CrownPeak CMS therefore maintains a full version history of these updates, a full audit trail of deployments and enables seamless roll-back as necessary.
  • Continuous Integration and Quality Assurance (QA) - Application code for deployment is fully maintained by your existing team or partner, before the Microsoft Web Deploy Package is created. Deployment of the package through the CrownPeak Package Deploy enhancement means that the deployed code isexactly the same as the code that you tested within your Continuous Integration and QA processes. This results in less potential for failure during the transition from your team into the CrownPeak CMS.
  • Mixed Deployment - Why manage complex application code from within the CrownPeak CMS, and potentially introduce code changes between your Development Team and the Delivery Server? With the CrownPeak Package Deploy enhancement you have the option of deploying the complex application code directly using Microsoft's Web Deploy packages, whilst continuing to manage the presentation layer from within the CrownPeak CMS. The CrownPeak Package Deploy enhancement includes the standard Microsoft Web Depot rule of 'DoNotDelete', meaning that content from your application development team, and CMS deployed content can live side-by-side within the same web application. This will reduce development effort associated with CrownPeak CMS managed web applications.

Core Architecture


At its core, the CrownPeak Package Deploy enhancement, enables you to maintain an existing Application Development Lifecycle process within your organization. Existing continuous integration and automated testing processes can be maintained. At deployment time, configuration management information stored within the CrownPeak CMS is combined with your Application Package, and deployed atomically to the CrownPeak Delivery Environment.

As configuration management information is stored within the CrownPeak CMS, full version management capabilities are available, enabling quick rollback as required. CrownPeak Workflow and Policy Management is tightly integrated with the CrownPeak Package Deploy enhancement, giving you full control over how and when your application is deployed.

CrownPeak Package Deploy - Core Architecture Diagram

Mixed Deployment Architecture


With Mixed Deployment Architecture, the core architecture of the CrownPeak Package Deploy enhancement is extended to not only provide configuration management from the CrownPeak CMS, but also the files that need to have their content substituted at publish-time.

Mixed Deployment Architecture enables developers to retain the agility and QA processes within complex application architectures, whilst enabling the Marketing Team to maintain content changes within the CrownPeak CMS. This architectural pattern provides a much improved time-to-value for applications delivered via the CrownPeak CMS.

CrownPeak Package Deploy - Mixed Deployment Architecture Diagram

Connect with Crownpeak