Workflows and Monitoring

Overview

Workflows and monitoring are key elements in the development process at the Alliance Business Suite. This page guides understanding how we automate repetitive tasks, maintain the quality of our codebase, and keep track of various system metrics.

Table of Contents

  1. Why Workflows and Monitoring?
  2. Technology Stack
  3. PowerShell Scripting
  4. Azure DevOps Pipelines
  5. Elsa Workflows
  6. Monitoring with NewRelic
  7. Best Practices

Why Workflows and Monitoring?

Effective development isn't just about writing code. Automated workflows and real-time monitoring help us to:

  • Increase efficiency
  • Reduce errors
  • Maintain code quality
  • Ensure uptime

Technology Stack

  • Scripting: PowerShell (extended with posh-git and oh-my-posh)
  • CI/CD: Azure DevOps
  • Workflow Engine: Elsa Workflows
  • Monitoring: NewRelic, Grafana

Refer to the official resources for documentation on each technology.

PowerShell Scripting

  • Why?: Automate repetitive tasks, set up environments, and more.
  • How-To Guide: To get started, ensure that PowerShell is properly set up. We use a specific startup script (start.ps1) that prepares your environment.
  • Learn More: PowerShell Official Docs

Azure DevOps Pipelines

  • Why?: Automate building, testing, and deploying your code.
  • How-To Guide: Pipelines are defined in azure-pipelines.yml. Learn to create or modify pipelines by referring to Azure DevOps Project.
  • Learn More: Azure DevOps Official Docs

Elsa Workflows

  • Why?: Execute long-running, fault-tolerant, and scalable workflows.
  • How-To Guide: Elsa workflows are integrated into our solutions. To modify or create a new workflow, refer to Elsa's documentation.
  • Learn More: Elsa Official Docs

Monitoring with NewRelic

  • Why?: Keep an eye on application performance, troubleshoot errors, and monitor uptime.
  • How-To Guide: New Relic is integrated into our solutions. To monitor real-time data, log in to New Relic Dashboard.
  • Learn More: New Relic Official Docs

Best Practices

  • Always document your code and workflows.
  • Regularly update workflow dependencies.
  • Follow naming conventions for files and pipelines.
  • Use monitoring data for continuous improvement.

Additional Resources

For junior developers or anyone needing further clarification, feel free to contact the Engineering Team via Microsoft Teams.