Architect runtime support

Overview

This document outlines the current runtime support commitments Architect makes, both for official AWS Lambda runtimes (such as Node.js), and Architect-specific runtimes (such as TypeScript and Deno).

Runtime support definitions

Deployment

Architect will deploy your function to AWS. Caveats:

  • If you are using a compiled language, such as .NET, you may be responsible for compiling your own handlers via custom scripts or Architect plugins; however, once compiled, Deploy will ship your code.
  • Some runtimes may be supported by way of an Architect runtime plugin. For example, Architect supports Rust via its official Rust plugin.

Sandbox

Architect’s local development environment, Sandbox, will execute your code locally in a fully-emulated Lambda. This may also include support for automatically compiling / transpiling handlers via plugin.

Runtime utils

Architect authors and maintains a runtime utility library, such as @architect/functions (Node.js) or architect-functions (Python), with helpers for various Architect primitives (@http events, etc.), service discovery support, and more.

Automated dependency management

Architect Deploy (via Hydrate) can be relied upon to automatically install each handler’s unique dependency tree without any manual management of per-handler dependency manifests (e.g. src/http/get-index/package.json|requirements.txt, etc.).

Runtime support matrix

Runtime Deployment Sandbox Runtime utils Automated dependency management
Node.js
TypeScript¹
Python
Deno²
Ruby
Rust³
Go⁴
Java &
.NET &
Custom & &

Legend:

  • full support
  • ~ partial support
  • & planned support

¹ TypeScript supported via official plugin

² Deno support may not be current or stable due to ongoing issues related to Deno compiling to AWS Linux; an in-development Deno utility library can be found here

³ Rust supported via official plugin

⁴ Go supported via official plugin