OneCompute
What is OneCompute?
OneCompute is a set of components and services for
- Modelling of a computational workflow (job).
- Scheduling of that job for execution. The workflow may constitute sequential and parallel components that need to be orchestrated to execute in a particular order.
- Monitoring execution of jobs; their status and progress.
- Building backend compute services. Backend components are optional, and it will be possible to build completely custom backend solutions without using OneCompute, but still use OneCompute for modelling, scheduling and monitoring computational workflows.
- Deployment of applications to the backend. Easy application deployment is an important aspect of the backend solution.
The OneCompute APIs for job scheduling and the application worker are backend platform agnostic, which implies that they enable developers to write applications that are independent of the backend platform used and work across different backend platforms, both in-cloud and on-premise platforms.
What is OneCompute Platform?
OneCompute Platform is a platform service targeting computational applications. OneCompute Platform is built on OneCompute and is hosted in Azure. It comprises of the following services:
- Web API. A REST API that enables clients to submit jobs, request status and information about jobs and get access to the user's private data container.
- Job Scheduler. OneCompute jobs can be submitted to the OneCompute Platform REST API. The OneCompute Platform JobScheduler will schedule the job for execution with the backend service (Azure Batch), orchestrate it and monitor its execution
- OneCompute Portal. A web application that enables users of OneCompute Platform to get information about CPU consumption and storage. Various roles get access to additional management functionality.
- Compute backend. We use Azure Batch as the current backend of OneCompute Platform. The Azure Batch backend is a set of node pools. Each pool can be configured differently, with node types that fit the computational applications that will be executed.
Source Code Repositories
OneCompute Repository
https://dev.azure.com/dnvgl-one/OneFoundation/_git/OneCompute
OneCompute Platform Repository
https://dev.azure.com/dnvgl-one/OneFoundation/_git/OneComputePlatform
Nuget Package Repository
- OneFoundation feed on Azure DevOps: https://pkgs.dev.azure.com/dnvgl-one/_packaging/One/nuget/v3/index.json
- OneFoundation feed on MyGet: https://dnvgl.myget.org/feed/Packages/onefoundation