Skip to content

Task management in the cloud #8

@tusmester

Description

@tusmester

This is a discussion story that will initiate smaller stories in the future.

Task management is a standalone product that can be installed on one or more virtual machines, so it can work with a sensenet-powered application in the cloud. However the architecture can be improved to be a more modern, cost-effective member of the sensenet app family in the cloud.

Task management web app

Currently the task management app (which behaves like a service) is an Asp.Net web application. We should consider converting it to a more scalable, cloud-friendly app service.

Scaling tasks

The task management web app is responsible for orchestrating tasks, notifying agents about a new job, channeling errors back to the portal. In a cloud environment scaling can be outsourced to the infrastructure: we do not need agents, we should be able to start any number of tasks and the infrastructure will provide the resources (based on the subscription plan).

Proposal: the agent and the service can be eliminated from the infrastructure.
ToRead: Azure Functions

Exclusivity

We have to keep the feature that makes sure that tasks are started by a single executor. The locking mechanism (through the db) is already in place, we do not want to change that.

Deployment

  • Currently we deploy the task management app as a WebPI package, this should be improved to a more cloud-friendly solution.
  • Deploying executors to the sensenet web app through NuGet is also something we need to change.

Monitoring

In sensenet there is already a monitoring page based on SignalR that is able to process and display status messages from executors, we do not want to change that.

The central task management application may be capable of displaying a central monitor page in the future, or should we direct these status messages to a 3rd party monitoring system in the cloud?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions