Figure 3.1 - Overview
As above, emdash™ is a web-based application that runs on a Windows Server and a SQL Server Database. The following components make up the emdash™ solution:
After the installation is complete, you will have set up the following components which comprise the emdash™ solution.
- Application Pool
- A separate App Pool will be set up, which will run under the service account credentials. This App Pool will then be used for the 3 IIS containers.
- emdashWeb is the main emdash™ web application. It is the website that the users log into to perform the environment management functions.
- It is based on Windows Authentication. A user will be prompted for their AD credentials when they log into it.
- The credentials are used to identify the users and the permissions they should have in the application.
- Functions within the emdashWeb application communicate with the database through a webAPI.
- emdash™ also exposes functionality through a Web Service.
- This is for use by the server-side processes (Windows Services and command-line driven console application)
In addition to the Web-based components, emdash™ has 3 server-side processes that execute the main environment management functionality:
- Console App (Functions have been migrated into the Scheduler and this will be deprecated in a later Emdash DevOps release)
- This is a command-line interface into emdash™ that allows core functions to be scheduled using an external task scheduler (or the in-build Windows Task Scheduler)
- This is useful for automating environment refreshes to occur on an overnight schedule or at regular intervals.
- Workflow Service
- This is the core workflow engine that drives the environment management automation.
- It is the engine that executes the job steps in the configured sequence and handles processing flow conditions
- Multiple workflow services can be configured, each running under a different Service Account as needed to separate out security of different environments under Emdash's management.
- ‘Synthetic’ Workflow Service
- This is our legacy workflow engine, which performs similar functionality to the ‘Workflow Service’
- Functionality is being migrated into the new ‘Workflow Service’ which has been reengineered to be more configurable by Users and robust, so the ‘Synthetic’ workflow service is being decommissioned.
- Scheduler Service
- We have created an in-built Scheduler to replace the need for an external application and/or the Console App above. There is a Windows Service that controls the jobs that are to be run which should be enabled and executing at all times.
We have a self-contained database that is created as part of the installation process on the SQL server/instance that you nominate. This database is used to store all emdash™ data, including:
- Environment configuration and metadata;
- emdash™ Users and allocations to environments;
- Workflows and deployment job steps;
- Deployment job status and history.