Vercelを使えばインフラエンジニア不要? Framework-defined Infrastructureが変えるWebアプリ開発
「Vercelを使えばそこそこ大規模なアプリケーションまでインフラエンジニア要らずにいけるのよな」——元Yahoo!エンジニアで YouTuber のしまぶー氏(@shimabu_it)のポストが話題になった。Vercel CEO の Guillermo Rauch 氏の投稿に対するコメントで、「しかも大抵の場合インフラエンジニアがAWSやGCPで構築したものより高機能、高可用性、高パフォーマンス」と踏み込んだ発言をしている。 Vercelが実現する「インフラレス」開発 Vercelは Next.js の開発元として知られるが、プラットフォームとしての本質は開発者からインフラの複雑さを隠蔽することにある。 Framework-defined Infrastructure(FdI) Vercelが推進する Framework-defined Infrastructure は、Infrastructure as Code(IaC)の進化形だ。 従来のIaCでは、開発者がTerraformやCloudFormationでインフラを明示的に定義する必要があった。FdIでは、フレームワークのコードからインフラ構成が自動的に導出される。 ビルド時にソースコードを解析し、開発者の意図を理解 必要なインフラ構成(Edge Functions、Serverless Functions、Static Assets、ISR設定など)を自動生成 開発者は「何を作るか」に集中し、「どこにデプロイするか」を考える必要がない Self-driving Infrastructure Vercelは Self-driving Infrastructure というコンセプトも掲げている。本番環境の運用を自律的に管理し、実世界のインサイトを基にアプリケーションコードの改善まで行うというビジョンだ。 6人のエンジニアで年間360億トークンを処理 Vercelの「インフラ不要」の主張を裏付ける事例として、Durable社のケースが象徴的だ。 6名のエンジニアチームで300万ビジネスをサポート 年間360億トークン(日次1.1億トークン)を処理 新しいAIエージェントを1日で本番環境に展開可能 自社ホスティング比で3〜4倍のコスト削減 創業者は「インフラ構築ではなくエージェント開発に注力できるようになった」と評価している。 インフラエンジニアは本当に不要になるのか? しまぶー氏は以前から「インフラエンジニアは二極化する」と指摘している: 高待遇化: クラウドサービスの基盤自体を作れるエンジニア 活躍の場が減少: アプリケーションのインフラを構築する程度のエンジニア 「基盤自体を作れるエンジニア」とは、VercelやAWSのサービスそのものを開発・運用する側のスキルセットを指す。具体的には以下のような領域だ: 分散システム設計: AWS LambdaやVercel Edge Functionsの実行基盤を設計・構築するスキル コンテナランタイム/オーケストレーション: Kubernetesを「使う」のではなく「作る・拡張する」レベル ネットワーク基盤: CDN、ロードバランサ、DNSを大規模に設計・運用するスキル ストレージエンジン: 分散データベースやオブジェクトストレージの内部実装 コンパイラ/ランタイム: サーバーレスプラットフォームのビルドパイプラインや実行環境の開発 つまり「AWS上にアプリをデプロイする」のではなく「AWSのようなサービスを作る」側の人材であり、このレベルのエンジニアはプラットフォームの進化によってむしろ需要が高まっている。 Vercelの基盤は何で動いているのか 「基盤を作る」とは具体的にどのレベルなのか。Vercel自身の技術スタックを見ると、その深さがわかる。 Vercelは当初 AWS Fargate でビルド処理を実行していたが、プロビジョニングに90秒かかる問題があった。そこで2023年に独自のコンピュート基盤「Hive」を構築し、起動時間を5秒に短縮した。 Hiveの技術スタックは以下の通りだ: レイヤー 技術 物理基盤 ベアメタルサーバー(“Boxes”) VM隔離 Firecracker microVM + KVM ビルド基盤 Hive(独自コントロールプレーン) 関数実行 AWS Lambda、Edge Functions オーケストレーション Amazon EKS(一部)+ 独自制御 ストレージ/キュー Amazon S3、SQS ネットワーク Amazon Global Accelerator 注目すべきは、OpenShiftのような既存のKubernetesディストリビューションは使われていない点だ。Firecracker はAWSがLambdaとFargateのために開発したオープンソースのmicroVMで、約300ミリ秒でVMを起動できる。Vercelはこの Firecracker + KVM の上に独自のオーケストレーション層を構築している。 ...