Azure は、Rust 開発者が高パフォーマンスのアプリケーションを構築、デプロイ、管理できるようにするクラウド プラットフォームです。 Azure のホスティング オプションとサービスで Rust 開発エクスペリエンスを強化する方法について説明します。
クラウド開発を初めて使用する場合は、次のリソースを調べて Azure を理解してください。
クラウド エコシステムの Rust: 利点とユース ケース
Rust は、そのパフォーマンス、信頼性、および安全性の保証により、クラウド アプリケーションの勢いを増しています。 従来、クラウド プラットフォームは JavaScript、Python、Java、.NET に重点を置いていましたが、Rust には魅力的な利点があります。
- 安全性を備えたパフォーマンス: ゼロ コストの抽象化とメモリの安全性により、Rust は高性能クラウド サービスに最適です
- リソース使用量が少ない:ランタイムのオーバーヘッドを最小限に抑え、効率的なメモリ管理によりクラウド コストを削減
- クロスプラットフォーム互換性: 1 回書き込み、クラウドネイティブアプローチでシームレスに機能をデプロイする
- 拡大するエコシステム: Web サーバー、非同期 I/O、シリアル化などの堅牢なライブラリ
Azure では、Azure SDK for Rust と、HTTP for REST API などの標準プロトコルの両方を通じて、Rust アプリケーションに複数の統合ポイントが提供されます。 ホストされている場所に関係なく、Rust アプリケーションで Azure サービスを使用します。
注
Azure SDK for Rust には Rust エディション 2021 以降が必要であり、Rust 1.67.0 以降のバージョンがサポートされています。
Rust とその他の言語: 固有の利点
Azure では、クラウド開発用の多くのプログラミング言語がサポートされています。 Rust は Azure エコシステムにまだ登場していますが、独自の利点があります。
- ガベージ コレクションを使用しないメモリの安全性
- スレッド セーフと強力なコンカレンシー
- リソース使用量が少ない高パフォーマンス
- 厳密な型システムと所有権モデル
- クロスプラットフォーム互換性
Rust 用 Azure SDK、REST API、または特定のサービスのカスタム ハンドラーを使用して、Rust アプリケーションから Azure サービスにアクセスします。
Azure サービス
Azure には、Rust アプリケーションで個別に、または一緒に使用できる広範なクラウド サービスが用意されています。
Rust 開発者向けの主要なサービス カテゴリは次のとおりです。
Azure サービスの作成: クイック スタート センター ガイド
無料アカウントを作成して Azure 体験を開始し、Azure portal のクイック スタート センターにアクセスします。
Azure portal の各サービスのページで接続情報を見つけて、コードからリソースにアクセスします。
価格レベル
価格レベルによって、リソースの課金方法が決まります。 Azure 料金計算ツールを使用して、リソースのコストを見積もります。
Free レベルのリソース
Free (F0) 価格レベルを使用する場合は、次の制限事項に注意してください。
- サブスクリプションでは、サービスごとに 1 つの無料リソースのみを許可できます。 無料のリソースを作成できない場合は、サブスクリプションに既にリソースがある可能性があります
- Free レベルには、1 秒あたりのトランザクション数 (TPS) または 1 か月あたりのトランザクション数 (TPM) に制限があります
- これらの制限を超えると、クォータを超えたメッセージで HTTP エラーが発生します
- 大量のアプリケーションの場合は、複数のリソースを作成し、1 つのエンドポイントを使用してトラフィックを分散します
開発環境を設定する
Azure の開発エクスペリエンスで最高の Rust を実現するために、次のツールを設定します。
- Visual Studio Code と次の拡張機能:
- Azure Tools 拡張機能
- Rust 言語サポート用 rust-analyzer
- Git
- Rust ツールチェーン - 最新の安定したリリースを使用する
- Azure リソース管理用の Azure CLI
- ローカル開発ツール:
- ローカル Functions 開発用の Azure Functions Core Tools
- コンテナーの開発とテスト用の Docker
Rust クレートに Azure SDK を使用する
Azure SDK for Rust クレートを使用して Azure サービスにプログラムでアクセスします。この場合、各クレートはサービス固有の接続機能を提供します。
これらのクレートは、次のような機能を備えた Azure SDK ガイドライン に従って慣用的な Rust API を提供します。
- Microsoft Entra ID (旧称 Azure AD) を使用した認証
- 指数バックオフによる自動再試行
- ログ記録と分散トレース
- 取り消しのサポート
- 完全な async/await のサポート
ローカル、ハイブリッド環境、クラウドの任意の場所で Rust コードを実行し、SDK を介して Azure サービスと対話します。
Rust アプリを Azure にデプロイする
Azure で Rust アプリケーションをホストする場合は、次の 2 つの主な方法から選択します。
バイナリへのコンパイル: Rust アプリケーションをネイティブ バイナリにビルドし、適切なホスティング サービスに直接デプロイする
コンテナー化: コンテナー ベースの Azure サービスへのデプロイ用にアプリケーションをコンテナーにパッケージ化する
アプリケーションのニーズに基づいて、次のホスティング オプションから選択します。
| サービス | デプロイアプローチ | 最も適している |
|---|---|---|
| Azure App Service | カスタム コンテナー | Web アプリケーション、API |
| Azure Functions | カスタム ハンドラー | イベント ドリブンのサーバーレス ワークロード |
| Azure Container Apps | コンテナ | マイクロサービス、コンテナー化されたアプリケーション |
Rust クイック スタートを試す
次のクイック スタートとチュートリアルを使用して、Rust on Azure の使用を開始します。