Managing the analytic development lifecycle
Use application permissions to manage development, testing, and deployment of analytic scripts. With collections designated for development and for production, you can control the segregation of duties and prevent analytic developers from touching the production environment while end-users of the analytics remain isolated from the testing environment.
Note
This topic shows one of many possible configurations in AX Server. For additional help configuring your particular business case, contact your Galvanize account representative.
The scenario
Your organization maintains import analytics that brings data from an operational production database into Analytics Exchange for continuous monitoring. Over time, these analytics must be maintained and improved by your analytic developers.
Process
How it looks in AX Server
Develop the analytics
Creating the development collection
Create a Library collection called Import Analytic Development. This collection holds analytics that are in the testing and development phase. Any jobs run from this collection access the staging database instance and are isolated from production data.
Granting analytic developers access to the development collection
Now that the development collection exists, give your analytic developers Full permissions to the collection. The developers can import analytics into this collection and run jobs against staging to test any changes they make to the import scripts.
Test in the Development collection
As development proceeds in the Development collection, test the analytics against a staging or testing instance of your organization's database. Maintain two sets of parameters so that production and staging or testing connections use different credentials:
- username the database connection user
- password the database connection password
- environment the database instance to connect to (production or staging)
Note
As a best practice, do not use the same credentials for your staging database as your production database. This ensures that testing does not inadvertently touch production data.
Distribute the testing credentials to your developers so that testing is guaranteed to remain isolated from production data.
Deploy to the production environment
Once the development and testing phases are complete, you need a location to place the import analytics so they can run against the production database.
Create a Library collection called Import Analytic Production so that only Administrative users can access the production analytics.
Schedule and run the analytic in production
Finally, deploy the tested analytics by copying them from the development collection and pasting them into the production collection. You can now schedule the jobs to run against production data by using the production credentials and the analytic is fully isolated from the development environment.
At this point, development and testing can continue in the development collection and subsequent deployments are handled the same way.