Related Documents
Document Properties
Kbid259D03
Last Modified03-Feb-2020
Added to KB11-Aug-2014
Public AccessEveryone
StatusOnline
Doc TypeGuidelines, Concepts & Cookbooks
Product
  • Gradle Tools
  • ICM 7.6
  • ICM 7.7
  • ICM 7.8
  • ICM 7.9
  • ICM 7.10

Concept - Planning an Intershop 7 Deployment

1 Introduction

This document is addressed to operators or administrators who design and plan the deployment of an Intershop 7 system. It summarizes the essential deployment concepts and the Intershop 7 software "building blocks", and introduces some options for deploying Intershop 7.

Related reading:

2 Essential Deployment Concepts

The Intershop 7 deployment is based on Gradle, a tool for automating the build, publication and deployment of software packages. Primarily, Intershop uses Gradle to support a continuous integration and continuous assembly of Intershop 7 components. At the same time, it provides a flexible base for custom-taylored deployments of Intershop 7. The basic idea is: You define a so-called "desired state" beforehand, and the Gradle tools take care of its implementation. With respect to the Intershop 7 deployment, this means that you configure all relevant options in advance, and then execute the deployment (or have it executed automatically).

For more information about Gradle, refer to www.gradle.org.

With Gradle, Intershop 7 introduces a number of new deployment concepts, which are essential for understanding the deployment.

ConceptDescription
Cluster

A cluster is a complete Intershop 7 system, made up of all cluster nodes acting together. The nodes that make up the cluster may be installed all on one physical or virtual machine or distributed over several physical or virtual machines via host types.

Cluster node

A cluster node is one of the three main building blocks, which may be deployed individually for distributed installations via host types.

Instance

An instance is a self-contained deployment containing at least one installed Intershop 7 host type. Each instance has a unique ID, such as ES1, ES2.

Assembly

An assembly refers to a number of system components (software packages) that can be deployed together in order to deliver a specific feature set.

Host type

A host type refers to a specific combination of system components that make up the runtime environment of an individual cluster node.

Environment

The environment is an additional dimension of a deployment configuration used to address different needs with respect to the usage of a particular assembly.

2.1 Cluster and Cluster Nodes

An Intershop 7 cluster follows the classical three-tier architecture and basically consists of following cluster nodes.

2.1.1 Intershop Application Server (IAS)

The Intershop Application Server (IAS) comprises all system components necessary to create a runtime environment ("engine") for Intershop 7 cartridges. The components are grouped as:

  • Application server and integration components
    This includes the Java Development Kit (JDK), the Tomcat application server, and the Node Manager (a "watchdog" program used to control server processes). These components are located in the engine directory.
  • System Tools
    This includes the DBDelta tool, the DBExtract tool, Apache Ant and some shell scripts. These components are located in the tools directory.

In distributed deployments, the IAS is deployed via the host type appserver.

2.1.2 Intershop Shared Files (ISF)

The Intershop Shared Files (ISF) comprise the application server's business logic, which is structured in cartridges, Intershop 7's containers for executable code. Cluster-wide configuration information, which is necessary for running an application server instance, is also kept in the ISF. In addition, the ISF includes all static file content that is required for Intershop 7 applications, like import/export files, branding packages, etc.

The ISF must be deployed before setting up a distributed cluster with multiple application servers.

In distributed deployments, the ISF is deployed via the host type share .

2.1.3 Intershop Web Server (IWS)

The Intershop Web Server comprises the Apache HTTP Server and the Intershop 7 Web Adapter (including the Web Adpater agent).

  • Apache HTTP Server
    The Apache HTTP Server is installed automatically as part of the IWS installation.
  • Web Adapter
    This is a plug-in to the Apache HTTP Server. It dispatches HTTP client requests to the Intershop 7 application, generates session IDs and caches application responses.

Note

Intershop only supports the Apache HTTP Server.

In distributed deployments, the IWS is deployed via the host type webserver.

2.1.4 Apache Solr Server

When using Apache Solr as search engine, you may want to operate the Solr server on a dedicated machine. Starting with Intershop 7.5, Solr servers can be deployed automatically just like the other nodes.

2.1.5 Database

The database is not part of the Intershop 7 delivery but is required to run an Intershop 7 cluster. For more information, see Guide - General Database Setup.

2.2 Assemblies

An assembly refers to a number of system components ("software packages") that can be deployed together in order to deliver a specific feature set. The Intershop 7 distribution package contains a file system-based artifact repository that provides three default assemblies, upon which new custom assemblies can be based:

  • intershop7, the basic application,
  • intershop7-solr, (since Intershop 7.5) includes the basic application as well as the Solr search service,
  • primetech, includes the basic application and the reference applications,
  • primetech-solr, includes the basic application, the reference applications as well as the Solr search service.

2.3 Host Types

A host type refers to a specific combination of system components that make up the runtime environment of an individual cluster node. Intershop 7 delivers the following predefined host types:

  • all, used to deploy all nodes of an Intershop 7 cluster for a single-host deployment on one machine,
  • webserver, used to deploy the Intershop Web Server for a multiple-host deployment on multiple machines,
  • appserver, used to deploy the Intershop Application Server for a multiple-host deployment on multiple machines,
  • share, used to deploy the Intershop Shared Files for a multiple-host deployment on multiple machines,
  • solr, used to deploy the Solr search engine server for a multiple-host deployment on multiple machines
  • javadoc, used to deploy the Intershop 7 JavaDoc only, independent of any Intershop 7 instance, for distributed development environments, for example.

Additional host types can be created with a project-specific implementation.

2.4 Environments

The environment is an additional dimension of a deployment configuration used to address different needs with respect to the usage of a particular assembly. The predefined Intershop 7 environments include:

  • development, uses a single node deployment that allows to test an assembly under development; requires specific application configurations that, among others, enable the autoload mechanisms for code artifacts like ISML, pipelines, queries, etc., enable additional type checks during pipeline processing to avoid errors,
  • test, configures the application in production mode and requires all test cartridges of the assembly to run the automated test suite,
  • production, configures the application so that incoming requests are processed as fast as possible and excludes the test cartridges.

3 Deployment Options

Intershop 7’s open, scalable design means that a variety of deployment scenarios are possible. Its components can be grouped on one machine, several instances distributed over multiple logical CPUs or over multiple hosts, or instances can be duplicated for load balancing.

Depending on the requirements for an Intershop 7 system, different deployment scenarios can be used. Most requirements or priorities can be categorized as follows:

  • High Availability
    Multiple web servers and Web Adapters, multiple application servers, load balancer for HTTP calls
  • Scalability
    Multiple web servers and Web Adapters, multiple application servers, load balancer for HTTP calls
  • Testing
    Editing system for testing, for example, testing a new Web design offline before moving it to the live system
  • Security
    Firewalls between Web server, application server and database

3.1 Basic Deployment Scenarios

With respect to the deployment scenarios, this breaks down to the following basic approaches.

  • Single-Host Deployment
    With a single-host deployment, all software components (and hence, all host types) are deployed on the same machine. The simple deployment is best suited for development and testing purposes. This deployment scenario is covered with the host type all.
  • Multiple-Host Deployment
    With a multiple-host deployment, only selected host types are deployed on individual machines. A multiple-host deployment allows full use of Intershop 7’s open architecture by distributing the components over as many machines and processors as you need, and configuring them optimally for your site.

    Note

    In multiple-host deployments, the IAS and ISF instances must be operated on the same operating system.
  • Data Replication Deployment
    This deployment supports data replication scenarios. Data replication is a specific mechanism used to transfer large amounts of data between multiple Intershop 7 clusters, i.e., at least from a source cluster to a target cluster. As a typical scenario, one could first update any storefront data (like product data) and other settings in an "editing system" and then transfer this information to a "live system". This mechanism allows to develop and maintain large content in the background without significant disturbances to the production system.
    The number of IAS or IWS instances is irrelevant to the data replication mechanism. The source cluster includes one or more IAS instances, one or more IWS instances, one ISF instance and a source database account. The target cluster also includes one or more IAS instances, one or more IWS instances, one ISF instance and a target database account.
    For more information about data replication, refer to Concept - Mass Data Replication.

3.2 Typical Deployment Scenario

Production environments must provide for a maximum scalability and high availability, and therefore include multiple web servers and Web Adapters, multiple application servers, load balancers, etc.


Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets