This discussion is intended to identify the sort of workflow that would be good to ship with Overlord "Design Time Governance" as a good default/example.
A simple workflow could consist of the following steps, when considering three stages (development, test, staging):
(1) Moving artifacts from dev to test should be based on validation criteria being met (artifact and dependency validation) - details of the validation would need to be fleshed out.
(2) On entry into test perhaps jenkins could be triggered to run pre-prepared QA tests. Once all tests passed (and if available) final approval given by QA manager, before artifacts move to staging (use staging instead of production, to distinguish from the runtime production environment).
(3) On entry into staging, schedule deployment of artifacts based on a defined procedure (e.g. wait until after working day before deploying to server)
Issues to consider:
(a) If one service A is dependent upon another B (i.e. its interface), then artifact B needs to be promoted at the same time, or before, A. What happens if A is uploaded on its own first - how do we know there is a B? i.e. its possible A is using an external service and therefore can be promoted straightaway - how do we indicate whether a service interface is implemented by internal/external services?
(b) If a group of inter-dependent services are uploaded, pass validation and a long running workflow begins, what happens if changes are made to the artifacts to make them invalid, before the workflow completes? Should the workflow be cancelled? Should the artifacts associated with the workflow be locked in some way until workflow complete?
|Retrieving data ...|