ソフトウェア開発のダイナミックな状況では、コラボレーションは複雑な課題を簡素化する革新的なソリューションにつながることがよくあります。 DockerとMicrocksのパートナーシップはその代表的な例であり、2つの業界リーダーの関係がローカルアプリケーション開発をどのように再形成できるかを示しています。
本稿では、DockerとMicrocksの共同作業について掘り下げ、 Microcks Docker Desktop Extension の出現と、それが開発エコシステムに及ぼす変革的な影響にスポットライトを当てます。
マイクロクスとは?
Microcksは、APIのモック作成とテストのためのオープンソースのKubernetesおよびクラウドネイティブツールです。 これは、2023年夏から クラウドネイティブコンピューティング基盤サンドボックス プロジェクトです。
Microcksは、主に2つのユースケースに対応しています。
- 一連の記述資産 (仕様またはコントラクト) からの API またはマイクロサービスのシミュレーション (またはモック作成)
- 契約テストの実施によるAPI仕様に関するアプリケーションの適合性の検証(またはテスト)
Microcksのユニークな点は、図1に示すように、あらゆる種類のリクエスト/レスポンスAPI(REST、GRAPHQL、GRPC、SOAP)とイベントドリブンAPI(現在8つの異なるプロトコルをサポート)に対して統一された一貫したアプローチを提供していることです。
Microcksは、設計段階からのフィードバックループを短縮し、多くの依存関係を持つ環境をプロビジョニングする苦痛を軽減することで、API開発ライフサイクルをスピードアップします。 これらすべての機能により、MicrocksはマイクロサービスインターフェースのAPIの下位互換性を確保するための大きな助けとなります。
そのため、Microcksは開発者にとって、APIライフサイクルに一貫性、利便性、スピードをもたらします。
なぜMicrocksをDockerデスクトップ拡張機能として実行するのですか?
Microcksは強力な企業ですが、 Docker Desktop Extension として実行することで、開発者のエクスペリエンス、使いやすさ、内部ループでの迅速なイテレーションが新たなレベルに引き上げられます。 Dockerのコンテナ化機能がシームレスに統合されているため、開発者は複雑なセットアップをナビゲートしたり、互換性の問題に取り組んだりする必要がなくなります。 これは、開発環境をイノベーションの遊び場に変えるプラグアンドプレイソリューションです。
MicrocksをDocker拡張機能として実行することのシンプルさは、ゲームチェンジャーです。 開発者は、既存のDocker環境にMicrocksを簡単にセットアップしてデプロイできるため、広範な構成が不要になります。 この使いやすさにより、開発者はデプロイの複雑さに取り組むのではなく、APIの構築とテストという最も得意なことに集中できます。
アジャイル開発では、内部ループでの迅速な反復が最も重要です。 Microcksは、Docker拡張機能として、このプロセスを加速します。 開発者は、Docker環境を離れることなく、APIを迅速に作成、テスト、反復できます。 この緊密なフィードバックループにより、開発者は問題を早期に特定して対処できるため、開発サイクルが短縮され、ソフトウェアの品質が向上します。
DockerとMicrocksという2つのベストオブブリードプロジェクトを組み合わせることで、次のことが可能になります。
- 合理化された開発者エクスペリエンス
- その核となる容易さ
- 内部ループでの迅速な反復
拡張機能のアーキテクチャ
Microcks Docker Desktop Extensionは、お客様の有効化機能に応じてアーキテクチャを進化させます。 Docker Desktop で実行される UI は、フォルダー内の設定を管理し、 ~/.microcks-docker-desktop-extension
必要なコンテナーを開始/停止/クリーンアップします。
このアーキテクチャ(図2)の中核には、MicrocksのメインコンテナとMongoDBデータベースという2つの最小限の要素が組み込まれています。 拡張機能のさまざまなコンテナーは、メイン コンテナーの HTTP ポートのみがローカル ホストにバインドされている分離された Docker ネットワークで実行されます。
拡張機能が提供する [設定 ] パネル (図 3) を使用して、ポート バインドを調整し、次のようなその他の機能を有効にすることができます。
- KafkaとWebSocketを使用した AsyncAPI の有用性による非同期APIのモックとテストのサポート
- MicrocksでPostmanコレクションテストを実行する機能には、 Postmanテスト のサポートが含まれています。
適用すると、設定はフォルダーに ~/.microcks-docker-desktop-extension
保持され、拡張機能は必要なサービスで初期アーキテクチャを強化します。 拡張機能は追加のコンテナから始まりますが、それらは慎重に作成され、軽量で消費するリソースができるだけ少なくなるように選択されています。 たとえば、超軽量のエクスペリエンスのために RedpandaKafka 互換ブローカーを選択しました。
図 4 に示すスキーマは、このような拡張機能の "最大アーキテクチャ" を示しています。
Docker Desktop Extensionアーキテクチャは、Dockerのコンテナ化機能とMicrocksのAPIテスト能力の融合をカプセル化しています。 この共同作業により、開発者はこれらの機能をシームレスに切り替えるための統一されたインターフェイスを利用できます。 このアーキテクチャにより、一貫したエクスペリエンスが保証され、開発者はツールを頻繁に切り替えることなく、DockerとMicrocksの両方のパワーを活用できます。
はじめ
Docker デスクトップ拡張機能の使用を開始することは、開発者が統合開発の利点を活用できるようにする簡単なプロセスです。 この拡張機能は既存のワークフローに簡単に統合でき、Docker内で使い慣れたインターフェイスを提供します。 このシームレスな統合により、セットアッププロセスが合理化され、開発者は広範な構成なしでプロジェクトに飛び込むことができます。
MicrocksをDockerデスクトップ拡張機能としてインストールする手順は次のとおりです。
1.左側のサイドバーで [拡張機能の追加 ]を選択します(図5)。
2. [ 参照 ]タブに切り替えます。
3. 「フィルタ」ドロップダウンで、「テストツール」カテゴリを選択します。
4. Microcksを見つけて、[ インストール ]を選択します(図6)。
マイクロックスの発売
次のステップは、Microcksの起動です(図7)。
[設定] パネルでは、非同期 API 機能を有効にするかどうか (既定値は無効) や、サービスへのアクセスに使用するポートへのオフセットを設定する必要があるかどうかなど、いくつかのオプションを構成できます (図 8 および 9)。
サンプル アプリのデプロイ
Docker デスクトップ拡張機能の実際の影響を説明するために、サンプル アプリケーションのデプロイを検討してください。 開発者がローカルアプリケーション開発に着手すると、Docker Desktop Extensionを使用すると、MicrocksのAPIモックおよびテスト機能を活用しながら、コンテナの作成、テスト、反復を行うことができます。
この組み合わせたアプローチにより、アプリケーションのコンテナ化とAPIの側面が徹底的に検証され、より高品質の最終製品が得られます。 詳細については、3分間のビデオ「Microcks Docker Desktop Extension入門」をご覧ください。
結論
Docker Desktop Extensionに代表されるDockerとMicrocksのパートナーシップは、共同ソフトウェア開発におけるマイルストーンを意味します。 コンテナ化とAPIテストを調和させることで、このコラボレーションは断片化されたワークフローの課題に対処し、開発サイクルを加速し、アプリケーションの品質を向上させます。
DockerとMicrocksの機能を活用することで、開発者は効率性、信頼性、コラボレーションの相乗効果を特徴とする旅に乗り出す態勢を整えています。
Microcksは、オープンコミュニティによってサポートされている クラウドネイティブコンピューティングサンドボックス プロジェクトであり、あなたもMicrocksをさらに優れたものにするお手伝いができることを忘れないでください。 GitHubディスカッションまたはZulipチャット🐙で挨拶したり、GitHub⭐️スターを通じて愛を送ったり、Twitter、Mastodon、LinkedIn、YouTubeチャンネルでフォローしたりしてください。
さらに詳しく
- Microcks Docker 拡張機能をお試しください。
- Docker 拡張機能について学習します。
- Docker デスクトップの最新リリースを入手します。
- 次のものに投票してください! 公開ロードマップをご覧ください。
- 質問がありますか? Docker コミュニティがお手伝いします。
- ドッカーは初めてですか? 始めましょう。