oscar
Open Source Serverless Computing for Data-Processing Applications
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
✓Academic publication links
Links to: ieee.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.2%) to scientific vocabulary
Keywords
Repository
Open Source Serverless Computing for Data-Processing Applications
Basic Info
- Host: GitHub
- Owner: grycap
- License: apache-2.0
- Language: Go
- Default Branch: master
- Homepage: https://oscar.grycap.net/
- Size: 79.8 MB
Statistics
- Stars: 87
- Watchers: 8
- Forks: 17
- Open Issues: 5
- Releases: 64
Topics
Metadata Files
README.md
OSCAR - Open Source Serverless Computing for Data-Processing Applications

Introduction
OSCAR is an open-source platform to support the event-driven serverless computing model for data-processing applications. It can be automatically deployed on multi-Clouds, and even on low-powered devices, to create highly-parallel event-driven data-processing serverless applications along the computing continuum. These applications execute on customized runtime environments provided by Docker containers that run on elastic Kubernetes clusters.
Information on how to deploy an OSCAR cluster using the Infrastucture Manager can be found at: https://grycap.github.io/oscar/deploy-im-dashboard/
For more documentation visit https://docs.oscar.grycap.net
NOTE: If you detect inaccurate or unclear information on the documentation please report back to us either opening an issue or contacting us at products@grycap.upv.es
Overview
Why OSCAR
FaaS platforms are typically oriented to the execution of short-lived functions, coded in a certain programming language, in response to events. Scientific application can greatly benefit from this event-driven computing paradigm in order to trigger on demand the execution of a resource-intensive application that requires processing a certain file that was just uploaded to a storage service. This requires additional support for the execution of generic applications in existing open-source FaaS frameworks.
To this aim, OSCAR supports the High Throughput Computing Programming Model initially introduced by the SCAR framework, to create highly-parallel event-driven data-processing serverless applications that execute on customized runtime environments provided by Docker containers run on AWS Lambda.
With OSCAR, users upload files to a data storage back-end and this automatically triggers the execution of parallel invocations to a service responsible for processing each file. Output files are delivered into a data storage back-end for the convenience of the user. The user only specifies the Docker image and the script to be executed, inside a container created out of that image, to process a file that will be automatically made available to the container. The deployment of the computing infrastructure and its scalability is abstracted away from the user. Synchronous invocations are also supported to create scalable HTTP-based endpoints for triggering containerised applications.
Components

OSCAR runs on an elastic Kubernetes cluster that is deployed using:
- IM, an open-source virtual infrastructure provisioning tool for multi-Clouds.
The following components are deployed inside the Kubernetes cluster to support the enactment of the OSCAR platform:
- CLUES, an elasticity manager that horizontally scales in and out the number of nodes of the Kubernetes cluster according to the workload.
- MinIO, a high-performance distributed object storage server that provides an API compatible with S3.
- Knative, a serverless framework to serve container-based applications for synchronous invocations (default Serverless Backend).
- OSCAR Manager, the main API, responsible for the management of the services and the integration of the different components.
- OSCAR UI, an easy-to-use web-based graphical user interface aimed at end users.
As external storage providers, the following services can be used:
- External MinIO servers, which may be in clusters other than the platform.
- Amazon S3, an object storage service that offers industry-leading scalability, data availability, security, and performance in the AWS public Cloud.
- Onedata, the global data access solution for science, used in the EGI Federated Cloud.
- dCache, a system for storing and retrieving huge amounts of data, distributed among a large number of heterogeneous server nodes, under a single virtual filesystem tree with a variety of standard access methods.
An OSCAR cluster can be easily deployed via the IM Dashboard on any major public and on-premises Cloud provider, including the EGI Federated Cloud.
Licensing
OSCAR is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
Acknowledgements
This development is partially funded by the EGI Strategic and Innovation Fund.
Partially funded by the projects:
- AI-SPRINT "AI in Secure Privacy-Preserving Computing Continuum" that has received funding from the European Unions Horizon 2020 Research and Innovation Programme under Grant 101016577.
- interTwin "An interdisciplinary Digital Twin Engine for science" that has received funding from the European Unions Horizon Europe Programme under Grant 101058386.
- AI4EOSC "Artificial Intelligence for the European Open Science Cloud" that has received funding from the European Unions Horizon Europe Research and Innovation Programme under Grant 101058593."
- iMagine "AI-based image data analysis tools for aquatic research" that has received funding from the European Unions Horizon Europe Research and Innovation Programme under Grant 101058625.
Also, Grant PDC2021-120844-I00 funded by Ministerio de Ciencia e Innovacin/Agencia Estatal de Investigacin/ 10.13039/501100011033 and by European Union NextGenerationEU/PRTR and Grant PID2020-113126RB-I00 funded by Ministerio de Ciencia e Innovacin/Agencia Estatal de Investigacin/ 10.13039/501100011033.

This software has received a silver badge according to the Software Quality Baseline criteria defined by the EOSC-Synergy project. Please acknowledge the use of OSCAR by citing the following scientific publications (preprints available):
Sebastin Risco, Germn Molt, Diana M. Naranjo and Ignacio Blanquer. (2021). Serverless Workflows for Containerised Applications in the Cloud Continuum. Journal of Grid Computing, 19(3), 30. https://doi.org/10.1007/s10723-021-09570-2
Alfonso Prez, Sebastin Risco, Diana M. Naranjo, Miguel Caballer, and Germn Molt,
Serverless Computing for Event-Driven Data Processing Applications,
in 2019 IEEE International Conference on Cloud Computing (CLOUD 2019), 2019. https://ieeexplore.ieee.org/document/8814513/
Owner
- Name: GRyCAP
- Login: grycap
- Kind: organization
- Website: https://www.grycap.upv.es
- Repositories: 155
- Profile: https://github.com/grycap
Grid y Computación de Altas Prestaciones
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"license": "https://spdx.org/licenses/Apache-2.0",
"codeRepository": "https://github.com/grycap/oscar",
"contIntegration": "https://github.com/grycap/oscar/actions",
"dateCreated": "2018-06-15",
"datePublished": "2018-10-01",
"dateModified": "2022-11-07",
"downloadUrl": "https://github.com/grycap/oscar/archive/refs/tags/v2.5.2.zip",
"issueTracker": "https://github.com/grycap/oscar/issues",
"name": "OSCAR",
"version": "2.5.2",
"identifier": "https://oscar.grycap.net",
"description": "OSCAR is an open-source platform to support the Functions as a Service (FaaS) computing model for file-processing applications. It can be automatically deployed on multi-Clouds in order to create highly-parallel event-driven file-processing serverless applications that execute on customized runtime environments provided by Docker containers than run on an elastic Kubernetes cluster.",
"applicationCategory": "Computing",
"releaseNotes": "What's Changed\n\n Fix mask-detector-workflow FDL by @srisco in #165\n Add oidc authorization docs by @srisco in #166\n update doc, change contributing and readme by @SergioLangaritaBenitez in #167\n update documentation 2:fixing files of documentation by @SergioLangaritaBenitez in #168\n Update oscar-ui ref by @srisco in #170\n\nFull Changelog: v2.5.1...v2.5.2\n",
"funding": "TIN2016-79951-R, PID2020-113126RB-I00, PDC2021-120844-I00, 101016577",
"developmentStatus": "active",
"isPartOf": "https://oscar.grycap.net",
"referencePublication": "https://dx.doi.org/10.1109/CLOUD.2019.00073",
"funder": {
"@type": "Organization",
"name": "MCIN/AEI/10.13039/501100011033, European Unions Horizon 2020"
},
"keywords": [
"Serverless",
"Cloud computing"
],
"programmingLanguage": [
"Go",
"Shell",
"Dockerfile"
],
"runtimePlatform": [
"Kubernetes"
],
"operatingSystem": [
"Linux",
"macOS"
],
"relatedLink": [
"https://oscar.grycap.net/"
],
"author": [
{
"@type": "Person",
"@id": "https://orcid.org/0000-0002-7710-2182",
"givenName": "Sebastin",
"familyName": "Risco",
"email": "serisgal@i3m.upv.es",
"affiliation": {
"@type": "Organization",
"name": "Instituto de Instrumentacin para Imagen Molecular (I3M), Centro Mixto CSIC Universitat Politcnica de Valncia, Camino de Vera s/n, 46022 Valencia, Espaa"
}
},
{
"@type": "Person",
"@id": "https://www.grycap.upv.es/gmolto",
"givenName": "Germn",
"familyName": "Molt",
"email": "gmolto@dsic.upv.es",
"affiliation": {
"@type": "Organization",
"name": "Instituto de Instrumentacin para Imagen Molecular (I3M), Centro Mixto CSIC Universitat Politcnica de Valncia, Camino de Vera s/n, 46022 Valencia, Espaa"
}
},
{
"@type": "Person",
"givenName": "Caterina",
"familyName": "Alarcn",
"email": "calarcon@i3m.upv.es",
"affiliation": {
"@type": "Organization",
"name": "Instituto de Instrumentacin para Imagen Molecular (I3M), Centro Mixto CSIC Universitat Politcnica de Valncia, Camino de Vera s/n, 46022 Valencia, Espaa"
}
},
{
"@type": "Person",
"givenName": "Sergio",
"familyName": "Langarita",
"email": "slangarita@i3m.upv.es",
"affiliation": {
"@type": "Organization",
"name": "Instituto de Instrumentacin para Imagen Molecular (I3M), Centro Mixto CSIC Universitat Politcnica de Valncia, Camino de Vera s/n, 46022 Valencia, Espaa"
}
},
{
"@type": "Person",
"givenName": "Alfonso",
"familyName": "Prez",
"email": "alpegon3@upv.es",
"affiliation": {
"@type": "Organization",
"name": "Instituto de Instrumentacin para Imagen Molecular (I3M), Centro Mixto CSIC Universitat Politcnica de Valncia, Camino de Vera s/n, 46022 Valencia, Espaa"
}
},
{
"@type": "Person",
"givenName": "Diana M.",
"familyName": "Naranjo",
"email": "dnaranjo@upv.es",
"affiliation": {
"@type": "Organization",
"name": "Instituto de Instrumentacin para Imagen Molecular (I3M), Centro Mixto CSIC Universitat Politcnica de Valncia, Camino de Vera s/n, 46022 Valencia, Espaa"
}
},
{
"@type": "Person",
"givenName": "Miguel",
"familyName": "Caballer",
"email": "micafer1@upv.es",
"affiliation": {
"@type": "Organization",
"name": "Instituto de Instrumentacin para Imagen Molecular (I3M), Centro Mixto CSIC Universitat Politcnica de Valncia, Camino de Vera s/n, 46022 Valencia, Espaa"
}
}
]
}
GitHub Events
Total
- Fork event: 2
- Create event: 41
- Commit comment event: 1
- Issues event: 2
- Release event: 13
- Watch event: 6
- Delete event: 8
- Member event: 1
- Issue comment event: 14
- Push event: 389
- Pull request review comment event: 4
- Pull request review event: 40
- Pull request event: 143
Last Year
- Fork event: 2
- Create event: 41
- Commit comment event: 1
- Issues event: 2
- Release event: 13
- Watch event: 6
- Delete event: 8
- Member event: 1
- Issue comment event: 14
- Push event: 389
- Pull request review comment event: 4
- Pull request review event: 40
- Pull request event: 143
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 13
- Total pull requests: 336
- Average time to close issues: about 1 year
- Average time to close pull requests: 14 days
- Total issue authors: 6
- Total pull request authors: 15
- Average comments per issue: 3.62
- Average comments per pull request: 0.1
- Merged pull requests: 271
- Bot issues: 0
- Bot pull requests: 33
Past Year
- Issues: 0
- Pull requests: 169
- Average time to close issues: N/A
- Average time to close pull requests: 11 days
- Issue authors: 0
- Pull request authors: 11
- Average comments per issue: 0
- Average comments per pull request: 0.07
- Merged pull requests: 119
- Bot issues: 0
- Bot pull requests: 15
Top Authors
Issue Authors
- gmolto (5)
- steinsgateted (3)
- micafer (2)
- rajitha1998 (1)
- catttam (1)
- esparig (1)
Pull Request Authors
- catttam (84)
- SergioLangaritaBenitez (71)
- srisco (46)
- dependabot[bot] (33)
- gmolto (28)
- micafer (18)
- RK181 (16)
- Dialdroid (12)
- esparig (9)
- dianamariand92 (7)
- vicente87 (4)
- AntonioSanch3z (3)
- drawdrop (2)
- amcaar (2)
- rajitha1998 (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 3
- Total downloads: unknown
-
Total dependent packages: 1
(may contain duplicates) -
Total dependent repositories: 1
(may contain duplicates) - Total versions: 58
proxy.golang.org: github.com/grycap/oscar/v2
- Homepage: https://github.com/grycap/oscar
- Documentation: https://pkg.go.dev/github.com/grycap/oscar/v2#section-documentation
- License: Apache-2.0
-
Latest release: v2.8.0
published about 2 years ago
Rankings
proxy.golang.org: github.com/grycap/oscar
- Homepage: https://github.com/grycap/oscar
- Documentation: https://pkg.go.dev/github.com/grycap/oscar#section-documentation
- License: Apache-2.0
Rankings
proxy.golang.org: github.com/grycap/oscar/v3
- Homepage: https://github.com/grycap/oscar
- Documentation: https://pkg.go.dev/github.com/grycap/oscar/v3#section-documentation
- License: Apache-2.0
-
Latest release: v3.6.3
published 6 months ago
Rankings
Dependencies
- actions/checkout v3 composite
- crazy-max/ghaction-docker-buildx v3.1.0 composite
- actions/checkout v3 composite
- actions/setup-node v1 composite
- crazy-max/ghaction-docker-buildx v3.1.0 composite
- actions/checkout v3 composite
- actions/setup-python v2 composite
- actions/checkout v3 composite
- actions/setup-go v3 composite
- codacy/codacy-coverage-reporter-action v1 composite
- alpine 3.14 build
- golang 1.18 build
- bitnami/minideb bullseye build
- bitnami/minideb bullseye build
- bitnami/minideb latest build
- ubuntu 18.04 build
- bitnami/minideb bullseye build
- ubuntu 20.04 build
- alpine 3.14 build
- github.com/apache/yunikorn-core v1.0.0
- github.com/apache/yunikorn-scheduler-interface v1.0.0
- github.com/aws/aws-sdk-go v1.44.22
- github.com/barkimedes/go-deepcopy v0.0.0-20220514131651-17c30cfc62df
- github.com/blendle/zapdriver v1.3.1
- github.com/coreos/go-oidc/v3 v3.2.0
- github.com/davecgh/go-spew v1.1.1
- github.com/emicklei/go-restful v2.15.0+incompatible
- github.com/evanphx/json-patch v5.6.0+incompatible
- github.com/evanphx/json-patch/v5 v5.6.0
- github.com/fatih/color v1.13.0
- github.com/gin-contrib/sse v0.1.0
- github.com/gin-gonic/gin v1.7.7
- github.com/go-logr/logr v1.2.3
- github.com/go-ole/go-ole v1.2.6
- github.com/go-openapi/jsonpointer v0.19.5
- github.com/go-openapi/jsonreference v0.20.0
- github.com/go-openapi/swag v0.21.1
- github.com/go-playground/locales v0.14.0
- github.com/go-playground/universal-translator v0.18.0
- github.com/go-playground/validator/v10 v10.11.0
- github.com/goccy/go-yaml v1.9.5
- github.com/gogo/protobuf v1.3.2
- github.com/golang/protobuf v1.5.2
- github.com/google/gnostic v0.6.9
- github.com/google/go-cmp v0.5.8
- github.com/google/go-containerregistry v0.9.0
- github.com/google/gofuzz v1.2.0
- github.com/google/uuid v1.3.0
- github.com/grycap/cdmi-client-go v0.1.1
- github.com/jmespath/go-jmespath v0.4.0
- github.com/josharian/intern v1.0.0
- github.com/json-iterator/go v1.1.12
- github.com/klauspost/cpuid/v2 v2.0.12
- github.com/leodido/go-urn v1.2.1
- github.com/lufia/plan9stats v0.0.0-20220517141722-cf486979b281
- github.com/mailru/easyjson v0.7.7
- github.com/mattn/go-colorable v0.1.12
- github.com/mattn/go-isatty v0.0.14
- github.com/minio/madmin-go v1.3.14
- github.com/minio/minio-go/v7 v7.0.27
- github.com/minio/sha256-simd v1.0.0
- github.com/mitchellh/go-homedir v1.1.0
- github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
- github.com/modern-go/reflect2 v1.0.2
- github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822
- github.com/openfaas/faas-netes v0.0.0-20220526122157-9e94296db90c
- github.com/philhofer/fwd v1.1.1
- github.com/pkg/errors v0.9.1
- github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
- github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c
- github.com/prometheus/client_golang v1.12.2
- github.com/prometheus/common v0.34.0
- github.com/prometheus/procfs v0.7.3
- github.com/rogpeppe/go-internal v1.8.1
- github.com/rs/xid v1.4.0
- github.com/secure-io/sio-go v0.3.1
- github.com/shirou/gopsutil/v3 v3.22.4
- github.com/tinylib/msgp v1.1.6
- github.com/tklauser/go-sysconf v0.3.10
- github.com/tklauser/numcpus v0.5.0
- github.com/ugorji/go/codec v1.2.7
- github.com/yusufpapurcu/wmi v1.2.2
- go.uber.org/atomic v1.9.0
- go.uber.org/multierr v1.8.0
- go.uber.org/zap v1.21.0
- golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e
- golang.org/x/net v0.0.0-20220526153639-5463443f8c37
- golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401
- golang.org/x/sync v0.0.0-20220513210516-0976fa681c29
- golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a
- golang.org/x/term v0.0.0-20220526004731-065cf7ba2467
- golang.org/x/text v0.3.7
- golang.org/x/time v0.0.0-20220411224347-583f2d630306
- golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df
- gomodules.xyz/jsonpatch/v2 v2.2.0
- google.golang.org/appengine v1.6.7
- google.golang.org/genproto v0.0.0-20220525015930-6ca3db687a9d
- google.golang.org/grpc v1.46.2
- google.golang.org/protobuf v1.28.0
- gopkg.in/inf.v0 v0.9.1
- gopkg.in/ini.v1 v1.66.4
- gopkg.in/square/go-jose.v2 v2.6.0
- gopkg.in/yaml.v2 v2.4.0
- gopkg.in/yaml.v3 v3.0.0
- k8s.io/api v0.24.1
- k8s.io/apimachinery v0.24.1
- k8s.io/client-go v0.24.1
- k8s.io/klog/v2 v2.60.1
- k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6
- k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
- knative.dev/networking v0.0.0-20220524205304-22d1b933cf73
- knative.dev/pkg v0.0.0-20220525153005-18f69958870f
- knative.dev/serving v0.31.0
- sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124
- sigs.k8s.io/structured-merge-diff/v4 v4.2.1
- sigs.k8s.io/yaml v1.3.0
- 841 dependencies
- compss/compss latest build
- compss/compss latest build
- compss/compss latest build