IBM FileNet P8, Version 5.2.1            

Traditional application migration model

A typical organization divides its infrastructure into several deployment environments. An application in different stages of its lifecycle moves through these environments.

Traditionally, an organization might have some or all of the following deployment environments. The size of the organization and the complexity of its infrastructure can determine which of the following environments are used:
  • Development
  • User acceptance, testing, and quality assurance
  • Production
  • Performance testing
  • Training
  • Staging
The more deployment environments that are used and maintained by an organization, the more important it is to create a process for the deployment environments that saves time, reduces errors, reduces risks, ensures similarity among the environments, and reproduces problems reliably for troubleshooting and resolution.

Many organizations use at least three of these environments: development; user acceptance, testing, and quality assurance; and production. For example, developers create applications in the development environment. Then, the application moves to the user acceptance, testing, and quality assurance environment for various types of testing. If a problem is found during testing, the problem can be fixed and tested directly in the user acceptance, testing, and quality assurance environment. After all testing is complete, the application can be deployed to the production environment. The changes to the application must also be deployed into the development environment so that the application is synchronized in all three environments.

In addition, the user acceptance, testing, and quality assurance environment in the example is used to test, capture, and automate the configuration steps that are required to support the application. One major component of the configuration is the LDAP structure that is used for user authentication. The test environment uses the same LDAP structure as the production environment. This similarity of the test and production environments enables the testing, application documentation, and automation of configuration steps, including LDAP configuration, to be used directly in the production environment.

Within this example, the user acceptance, testing, and quality assurance environment plays a vital role. This environment enables the creation of an automated and repeatable deployment process for the application into any of the deployment environments, particularly into the production environment. The keys to creating this deployment process include the following tasks:
  • Capturing and automating a repeatable process for migrating the application to the production environment.
  • Writing clear documentation for the entire process, including the following information:
    • The required security credentials and the values used.
    • Any manual security changes.
    • Any manual configuration changes and how these changes are applied.
    • The order in which assets must be migrated and deployed.
  • Testing the deployment plans and instructions in the user acceptance, testing, and quality assurance environment.
As the example shows, the creation of a well-defined, repeatable, bidirectional process to ensure the accurate migration of applications to various deployment environments is critical. The following list of practices are not required, but they are best practices for the creation of an application migration model in a FileNet® P8 system:
  • Do not do development tasks within the production environment.
  • Separate the test environment from the development environment to maintain test environment integrity. The separation of development and test activities avoids the introduction of unwanted changes to configuration or code by developers before those changes are ready to be tested. This separation also enables testing to be done in a clean environment, by using documented procedures. This type of testing ensures that the results are well understood and repeatable.
  • Separate the test environment from the production environment to maintain production environment integrity. This separation avoids the introduction of unwanted changes before those changes are ready to be put into production.
  • Use the same LDAP foundation in all environments except the development environment. The use of the same LDAP foundation yields more reliable security testing. It also enables scripts and procedures that are developed in the test environment to be reused when you are applying the same changes to the production environment.
  • For most application development efforts, separate environments by the FileNet P8 domain. This separation enables people to work simultaneously and independently on the same project, but in different phases, without adversely affecting the work of others. In particular, assigning each environment its own FileNet P8 domain simplifies the process of granting domain-wide permissions in each environment to different groups. For example, developers can be granted full permissions to configuration objects in the development environment, but granted no permissions to configuration objects in the production environment.


Last updated: March 2016
p8pdb007.htm

© Copyright IBM Corporation 2017.