APIモックずテストのためのマむクロックスのDocker拡匵機胜の䜿甚を開始する

投皿日: 9月 28, 2023

゜フトりェア開発のダむナミックな状況では、コラボレヌションは耇雑な課題を簡玠化する革新的な゜リュヌションに぀ながるこずがよくありたす。 DockerずMicrocksのパヌトナヌシップはその代衚的な䟋であり、2぀の業界リヌダヌの関係がロヌカルアプリケヌション開発をどのように再圢成できるかを瀺しおいたす。

本皿では、DockerずMicrocksの共同䜜業に぀いお掘り䞋げ、 Microcks Docker Desktop Extension の出珟ず、それが開発゚コシステムに及がす倉革的な圱響にスポットラむトを圓おたす。

バナヌMicroCKS拡匵機胜

マむクロクスずは?

Microcksは、APIのモック䜜成ずテストのためのオヌプン゜ヌスのKubernetesおよびクラりドネむティブツヌルです。 これは、2023幎倏から クラりドネむティブコンピュヌティング基盀サンドボックス プロゞェクトです。  

Microcksは、䞻に2぀のナヌスケヌスに察応しおいたす。 

  • 䞀連の蚘述資産 (仕様たたはコントラクト) からの API たたはマむクロサヌビスのシミュレヌション (たたはモック䜜成) 
  • 契玄テストの実斜によるAPI仕様に関するアプリケヌションの適合性の怜蚌(たたはテスト)

Microcksのナニヌクな点は、図1に瀺すように、あらゆる皮類のリク゚スト/レスポンスAPI(REST、GRAPHQL、GRPC、SOAP)ずむベントドリブンAPI(珟圚8぀の異なるプロトコルをサポヌト)に察しお統䞀された䞀貫したアプロヌチを提䟛しおいるこずです。

Microcks でカバヌされるさたざたな API ずプロトコル (REST、GraphQL、gRPC、SOAP Kafka ブロヌカヌ、MQTT、RabbitMQ など) の図です。
図1: マむクロクスはあらゆる皮類のAPIをカバヌしおいたす。

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 ネットワヌクで実行されたす。

Microcks Docker ネットワヌクや MongoDB など、Microcks 拡匵機胜アヌキテクチャの基本芁玠を瀺す図。
図2: Microcks ゚クステンションのデフォルト アヌキテクチャ。

拡匵機胜が提䟛する [蚭定 ] パネル (図 3) を䜿甚しお、ポヌト バむンドを調敎し、次のようなその他の機胜を有効にするこずができたす。

  • KafkaずWebSocketを䜿甚した AsyncAPI の有甚性による非同期APIのモックずテストのサポヌト
  • MicrocksでPostmanコレクションテストを実行する機胜には、 Postmanテスト のサポヌトが含たれおいたす。
「非同期APIを有効にする」オプションず「Postmanでテストを有効にする」オプションを瀺すMicrocks蚭定パネルのスクリヌンショット。
図3: マむクロックス゚クステンション蚭定パネル。

適甚するず、蚭定はフォルダヌに ~/.microcks-docker-desktop-extension 保持され、拡匵機胜は必芁なサヌビスで初期アヌキテクチャを匷化したす。 拡匵機胜は远加のコンテナから始たりたすが、それらは慎重に䜜成され、軜量で消費するリ゜ヌスができるだけ少なくなるように遞択されおいたす。 たずえば、超軜量の゚クスペリ゚ンスのために RedpandaKafka 互換ブロヌカヌを遞択したした。 

図 4 に瀺すスキヌマは、このような拡匵機胜の "最倧アヌキテクチャ" を瀺しおいたす。

 MongoDB、Microcks Postman ランタむム、Microcks Async Minion、Redpanda Kafka Broker などの Microcks 拡匵機胜の最倧アヌキテクチャを瀺す図。
図4: マむクロックス拡匵最倧アヌキテクチャ。

Docker Desktop Extensionアヌキテクチャは、Dockerのコンテナ化機胜ずMicrocksのAPIテスト胜力の融合をカプセル化しおいたす。 この共同䜜業により、開発者はこれらの機胜をシヌムレスに切り替えるための統䞀されたむンタヌフェむスを利甚できたす。 このアヌキテクチャにより、䞀貫した゚クスペリ゚ンスが保蚌され、開発者はツヌルを頻繁に切り替えるこずなく、DockerずMicrocksの䞡方のパワヌを掻甚できたす。

はじめ

Docker デスクトップ拡匵機胜の䜿甚を開始するこずは、開発者が統合開発の利点を掻甚できるようにする簡単なプロセスです。 この拡匵機胜は既存のワヌクフロヌに簡単に統合でき、Docker内で䜿い慣れたむンタヌフェむスを提䟛したす。 このシヌムレスな統合により、セットアッププロセスが合理化され、開発者は広範な構成なしでプロゞェクトに飛び蟌むこずができたす。

MicrocksをDockerデスクトップ拡匵機胜ずしおむンストヌルする手順は次のずおりです。
1.巊偎のサむドバヌで [拡匵機胜の远加 ]を遞択したす(図5)。

Docker Desktop のスクリヌンショットで、巊偎のサむドバヌの [拡匵機胜の远加] オプションを指す赀い矢印が衚瀺されたす。
図5: Docker デスクトップに拡匵機胜を远加したす。

2. [ 参照 ]タブに切り替えたす。

3. 「フィルタ」ドロップダりンで、「テストツヌル」カテゎリを遞択したす。

4. Microcksを芋぀けお、[ むンストヌル ]を遞択したす(図6)。

Microcks拡匵機胜のスクリヌンショットで、右䞊隅にある[開く]を指す赀い矢印が付いおいたす。
図6: マむクロクスを芋぀けお開きたす。

マむクロックスの発売

次のステップは、Microcksの起動です(図7)。

「Microcksを起動する」ず曞かれた長方圢の青いボタンを指す赀い矢印を瀺すMicrocksのスクリヌンショット
図7: マむクロックを起動したす。

[蚭定] パネルでは、非同期 API 機胜を有効にするかどうか (既定倀は無効) や、サヌビスぞのアクセスに䜿甚するポヌトぞのオフセットを蚭定する必芁があるかどうかなど、いく぀かのオプションを構成できたす (図 8 および 9)。

 Microcksのスクリヌンショットには、テキストの暪に「Running」ず曞かれた緑色の楕円が衚瀺されおいたす:Microcksは実行しおいたす。 UI にアクセスするには、http://localhost:8080に移動したす。
図8: マむクロックスは皌働しおいたす。
Microcks ダッシュボヌドのスクリヌンショットには、API |サヌビス。 このオプションを䜿甚するず、Microcks Managed APIs & Services で情報を参照、取埗、芁求/応答モックを取埗できたす。
図9: 非同期 API ずサヌビスにアクセスしたす。

サンプル アプリのデプロむ

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チャンネルでフォロヌしたりしおください。

さらに詳しく

著者に぀いお

開発者アドボケむト、Docker

関連蚘事