Cloudflare Workersのようなエッジランタイム上でアプリケーションを構築する際、開発者は厳格な環境の制約に直面します。WorkersはV8 isolatesとして動作します。これはJavaScriptやWebAssemblyを実行するサンドボックス環境ですが、従来のオペレーティングシステムや、任意のネイティブバイナリを実行する能力を欠いています。このことは、ネイティブなマシンコードプログラムであるLaTeXのようなツールにとって大きな障害となります。LaTeXエンジン(`pdflatex`や`xelatex`など)は、多数の一時ファイルを読み書きし、他のプログラムにシェルを渡すなど、フルOSと相互作用するように設計されています。これらの要件はisolate内では満たせないため、コンパイルプロセスは、通常はHTTP経由でアクセス可能なコンテナなどの別のサービスにオフロードする必要があります。

このオフロードを管理するために、著者は基礎となるエンジンとしてTectonicを選択しました。数ギガバイトのディスク容量を占有する可能性のある標準的なTeX Liveのインストールとは異なり、Tectonicは、特定のドキュメントに必要な特定のパッケージ、フォント、ハイフネーションパターンのみをオンデマンドで取得する自己完結型のプログラムです。これにより、コンテナイメージを小さく保ちつつ、複雑なドキュメントをサポートすることが可能になります。さらに、Tectonicは、LaTeXが相互参照や参考文献を解決するために必要とする複数のパスを自動的に処理するため、エッジアプリのAPIを簡素化します。セキュリティを確保するため、このサービスは`--untrusted`フラグを使用し、「shell escape」を無効化しています。この機能が無効であれば、悪意のあるLaTeXドキュメントがホストサーバー上で任意のシェルコマンドを実行できてしまう可能性があります。

このサービスを展開するには、特定のセキュリティとインフラのトレードオフが伴います。コンテナは公開URL上に配置されるため、著者は「フェイルクローズ」のセキュリティモデルを実装しました。これは、環境内に有効な`COMPILE_TOKEN`が提供されない限り、サービスが起動しないようにするものです。これにより、権限のないユーザーがコンテナを無料の計算リソースとして利用することを防ぎます。さらに、このサービスは`mkdtemp`を使用して各ジョブに対して一意の原子的な一時ディレクトリを作成することでファイル管理を行います。これにより、同じコンテナインスタンスを共有する同時リクエスト間の衝突を防ぎます。著者はプラットフォーム固有の認証(Google Cloudの署名付きアイデンティティトークンなど)の使用も検討しましたが、異なるコンテナホスト間での互換性を維持するために共有シークレットを選択しました。これは、最大限のセキュリティとアーキテクチャの移植性の間の意図的なトレードオフを示しています。