All Projects → lablup → Backend.ai

lablup / Backend.ai

Licence: lgpl-3.0
Backend.AI is a streamlined, container-based computing cluster orchestrator that hosts diverse programming languages and popular computing/ML frameworks, with pluggable heterogeneous accelerator support including CUDA and ROCM.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Backend.ai

Restful Api Guidelines
A model set of guidelines for RESTful APIs and Events, created by Zalando
Stars: ✭ 1,397 (+499.57%)
Mutual labels:  api, documentation
Googlecomputeenginer
An R interface to the Google Cloud Compute API, for launching virtual machines
Stars: ✭ 132 (-43.35%)
Mutual labels:  api, cloud-computing
Pico8 Api
Unofficial PICO-8 API with a lovely design ! ::
Stars: ✭ 115 (-50.64%)
Mutual labels:  api, documentation
Drf Autodocs
Ultimately automated DRF documentation rendering(UNMAINTAINED)
Stars: ✭ 82 (-64.81%)
Mutual labels:  api, documentation
Hexo Theme Doc
A documentation theme for the Hexo blog framework
Stars: ✭ 222 (-4.72%)
Mutual labels:  api, documentation
Terraformize
Apply\Destory Terraform modules via a simple REST API endpoint.
Stars: ✭ 84 (-63.95%)
Mutual labels:  api, cloud-computing
L5 Swagger
OpenApi or Swagger integration to Laravel
Stars: ✭ 1,781 (+664.38%)
Mutual labels:  api, documentation
Rest Hapi
🚀 A RESTful API generator for Node.js
Stars: ✭ 1,102 (+372.96%)
Mutual labels:  api, documentation
Swagger2markup
A Swagger to AsciiDoc or Markdown converter to simplify the generation of an up-to-date RESTful API documentation by combining documentation that’s been hand-written with auto-generated API documentation.
Stars: ✭ 2,330 (+900%)
Mutual labels:  api, documentation
Jsdoc
An API documentation generator for JavaScript.
Stars: ✭ 12,555 (+5288.41%)
Mutual labels:  api, documentation
Zeal
Offline documentation browser inspired by Dash
Stars: ✭ 9,164 (+3833.05%)
Mutual labels:  api, documentation
Spectaql
Autogenerate static GraphQL API documentation
Stars: ✭ 198 (-15.02%)
Mutual labels:  api, documentation
Cross Platform Node Guide
📗 How to write cross-platform Node.js code
Stars: ✭ 1,161 (+398.28%)
Mutual labels:  api, documentation
Swagger Combine
Combines multiple Swagger schemas into one dereferenced schema.
Stars: ✭ 102 (-56.22%)
Mutual labels:  api, documentation
Undocumented S3 Apis
Undocumented Amazon S3 APIs and third-party extensions
Stars: ✭ 63 (-72.96%)
Mutual labels:  api, documentation
Docs
API Platform documentation
Stars: ✭ 119 (-48.93%)
Mutual labels:  api, documentation
Docs
The API for generating high quality images from HTML/CSS.
Stars: ✭ 49 (-78.97%)
Mutual labels:  api, documentation
Jsdoc Baseline
An experimental, extensible template for JSDoc.
Stars: ✭ 51 (-78.11%)
Mutual labels:  api, documentation
Awesome Documentation Tools
🔥 📚 All the tools, processes and resources you need to create an awesome API & Project documentation
Stars: ✭ 138 (-40.77%)
Mutual labels:  api, documentation
Dispy
Distributed and Parallel Computing Framework with / for Python
Stars: ✭ 222 (-4.72%)
Mutual labels:  cloud-computing, distributed-computing

Backend.AI

PyPI release version Supported Python versions Gitter

Backend.AI is a streamlined, container-based computing cluster orchestrator that hosts diverse programming languages and popular computing/ML frameworks, with pluggable heterogeneous accelerator support including CUDA and ROCM. It allocates and isolates the underlying computing resources for multi-tenant computation sessions on-demand or in batches with customizable job schedulers. All its functions are exposed as REST/GraphQL/WebSocket APIs.

Server-side Components

If you want to run a Backend.AI cluster on your own, you need to install and configure the following server-side components. All server-side components are licensed under LGPLv3 to promote non-proprietary open innovation in the open-source community.

There is no obligation to open your service/system codes if you just run the server-side components as-is (e.g., just run as daemons or import the components without modification in your codes). Please contact us (contact-at-lablup-com) for commercial consulting and more licensing details/options about individual use-cases.

For details about server installation and configuration, please visit our documentation.

Manager with API Gateway

It routes external API requests from front-end services to individual agents. It also monitors and scales the cluster of multiple agents (a few tens to hundreds).

  • https://github.com/lablup/backend.ai-manager
    • Package namespace: ai.backend.gateway and ai.backend.manager
    • Plugin interfaces
      • backendai_scheduler_v10
      • backendai_hook_v10
      • backendai_webapp_v10
      • backendai_monitor_stats_v10
      • backendai_monitor_error_v10

Agent

It manages individual server instances and launches/destroys Docker containers where REPL daemons (kernels) run. Each agent on a new EC2 instance self-registers itself to the instance registry via heartbeats.

Server-side common plugins (for both manager and agents)

Kernels

A set of small ZeroMQ-based REPL daemons in various programming languages and configurations.

Jail

A programmable sandbox implemented using ptrace-based sytem call filtering written in Go.

Hook

A set of libc overrides for resource control and web-based interactive stdin (paired with agents).

Commons

A collection of utility modules commonly shared throughout Backend.AI projects.

Client-side Components

Client SDK Libraries

We offer client SDKs in popular programming languages. These SDKs are freely available with MIT License to ease integration with both commercial and non-commercial software products and services.

Media

The front-end support libraries to handle multi-media outputs (e.g., SVG plots, animated vector graphics)

  • The Python package (lablup) is installed inside kernel containers.
  • To interpret and display media generated by the Python package, you need to load the Javascript part in the front-end.
  • https://github.com/lablup/backend.ai-media

Interacting with computation sessions

Backend.AI provides websocket tunneling into individual computation sessions (containers), so that users can use their browsers and client CLI to access in-container applications directly in a secure way.

  • Jupyter Kernel: data scientists' favorite tool
    • Most container sessions have intrinsic Jupyter and JupyterLab support.
  • Web-based terminal
    • All container sessions have intrinsic ttyd support.
  • SSH
    • All container sessions have intrinsic SSH/SFTP/SCP support with auto-generated per-user SSH keypair. PyCharm and other IDEs can use on-demand sessions using SSH remote interpreters.
  • VSCode (coming soon)
    • Most container sessions have intrinsic web-based VSCode support.

Integrations with IDEs and Editors

Storage management

Backend.AI provides an abstraction layer on top of existing network-based storages (e.g., NFS/SMB), called vfolders (virtual folders). Each vfolder works like a cloud storage that can be mounted into any computation sessions and shared between users and user groups with differentiated privileges.

License

Refer to LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].