- 「Flawless」は、ハードウェアまたはソフトウェアの障害が発生しても、コードを完了するまで実行し続ける耐久性のある計算のための実行エンジンです。
- このエンジンは、複雑なUIが複雑な状態を維持できるようにすることで、データベース内ですべての状態をモデル化するという課題を解決し、ユーザー体験の向上を目指しています。
- Flawlessは、コードとローカル変数だけで永続的な状態をモデル化できるようにし、アプリケーションにおける複雑な動作の表現を単純化します。
- FlawlessのワークフローはRustで記述され、完全に決定論的な環境でWebAssemblyにコンパイルされて実行されます。
- 唯一の非決定性は、HTTPリクエストを実行したり乱数を生成したりするなど、「現実世界」と相互作用するときに導入されます。
- Flawlessは、非決定的な副作用のログを使って永続化を行い、中断されたワークフローが再実行された際に、副作用を再び実行することなく同じ状態に到達できるようにします。
- このアプローチは、障害時に必要となるデータ量を最小限に抑え、それ以外は必要に応じて再計算されます。
- Flawlessの決定論的な実行環境は、システムの可観測性を高め、再現不能なバグを取り除きます。
- Flawlessは、状態を永続化する負担を軽減し、開発者が、すべての処理が完了するまで実行されるという確信を持ってビジネスロジックの記述に集中できるようにします。
- Flawlessエンジンは、ワークフローの実行を妨げることなく、メンテナンスのために再起動できます。
- Flawlessは現在プライベートアルファ段階にあり、開発者に早期アクセスのためのウェイトリストへの参加を呼びかけています。
まだコメントはありません。