SwaggerHub との CI/CD 統合に関する開発者の視点

これまでの私のキャリアでは、ソフトウェア開発のライフサイクルに沿った様々な段階で役職に就くことができ、非常に幸運でした。そのおかげで、今日の開発者の要求に対する深い洞察力と理解力を得ることができました。製品のデモで苛立っている開発者と話をしていても、コードベースの奥深くで製品の次の最高の機能を作り出そうとしていても、1 つ確かなことは、それは簡単なことではないということです。

開発手法が想像以上に簡素化され、新機能の設計、作成、テスト、デプロイのスケジュールが、42 番街のタイムズ スクエア駅に到着する列車のように頻繁になるにつれ、疑問が明らかになってきました。開発者はどのようにして、時には週に何度も、年に 52 週ものペースで、堅実で信頼性が高い、実用的な機能を一貫して作り上げるのでしょうか?

その答えは、キーボードを打つ指の速さでもなければ、12 時間の労働でもありません。それは、「Integrations (インテグレーション、統合)」という 12 文字の言葉です。私は開発者として、統合の力を十分に理解していませんでした。統合が行われていることにすら気づかないこともよくありました。(これこそが優れた統合の定義だと思います。) Jenkins、GitHub、SwaggerHub などのツールはもちろん独立した存在ですが、それらを簡単に連携させることができるので、シームレスに使用できます。私は SF が大好きで、最近見たドキュメンタリーでは、数十年後に人間と機械がより統合されていくかもしれないというアイデアを詳しく説明していました。ソフトウェアの世界では、すでにそれが実現しています。開発者はこれまで以上に、今日のソフトウェアリリースの速さに対応するために必要なツールやテクノロジーに囲まれています。

このことは、SmartBear で SwaggerHub プラットフォームの DevOps エンジニアとして働いていたときに実感しました。膨大な数の統合機能と、パイプラインを流れ続ける膨大な量のデータは、驚きと同時に気が遠くなるほどでした。そのすべてが、複雑さを感じさせない製品を作るために行われていたのです。

開発者向けの API プラットフォーム

SwaggerHub は、ビジネスや業界の標準に無理なく準拠した API を設計および作成することができる API 開発プラットフォームです。開発者は、どんなに厳しい品質ガイドラインにも準拠した新規または既存の API を、何の気なしに設計することができます。

開発者として、どんなツールにも重要なことがいくつかありました。思い浮かぶのは、再利用性、バージョン管理、そしてドキュメンテーションです。機能の開発を任されている人は、ありふれた一般的な機能を開発する時間がないことが多く、私もそうでした。SwaggerHub では、標準や仕様に合わせて再利用可能なコンポーネントが用意されているため、動作確認済みのコードを使って、品質基準を満たしたソリューションを素早く構築することができます。開発者がより多くの時間を得られることは、製品が与えることのできる最大の贈り物のひとつです。

SwaggerHub では、すべての API 定義を中央のリポジトリに保存し、リアルタイムでコラボレーションやコメントを行うことができます。最新バージョンの API を使用しているという安心感があるので、本当に重要なことに取り掛かることができます。また、SwaggerHub にはドキュメント生成機能もあります。API を設計し、作成すると、それに対応したドキュメントが逐一作成されます。このシンプルな機能のおかげで、開発者が何時間もかけて退屈な wiki ページを詳細に作成する手間が省けます。

SwaggerHub と統合

このような機能を自由に使えるということは素晴らしいことです。しかし、顧客から必ずと言っていいほど、「統合はどうするのか? 」それだけではなく、「SwaggerHub との統合はどのくらい簡単にできるのか?」という質問が投げかけられます。もう一度、「シームレス」という言葉を使ってみましょう。

このツールは、私に何かを返してくれようとしているように感じます。あるいは、このツールを作っている開発者たちも、私に何かを返したいと思っているのではないでしょうか。このツールは、開発者によって作成された開発者向けのツールです。統合機能は組織レベルで設定されているので、すぐに使えるようになっています。GitHub、Jenkins、および Azure DevOps はもちろん、主要な API ゲートウェイ クラウド プロバイダーとすぐに使うことができます。

API 統合における自動化の価値

継続的インテグレーション/継続的デプロイメント (CI/CD) は、世界的なテクノロジーのバズワードであり、厳しいガバナンスを持つ既存のパイプラインの中で、誰が最高の統合および運用能力を提供できるかというツール競争が行われているのも確かです。全世界で 1,500 万人のユーザーがいると言われる Jenkins を例に挙げてみましょう。SwaggerHub とそれが生成する OpenAPI 定義があれば、統合は簡単にできます。開発者としては、SwaggerHub のレジストリ API を使って、Web アプリにログオンすることなく、API やドメインを管理および更新することができます。Jenkins のジョブを頻繁に実行し、 API リポジトリを更新しながら、同時に次の優れた API の設計を続けることができます。

SwaggerHub の統合機能を活用することで、本当に重要な仕事にいつでも集中することができます。CI/CD パイプラインと SwaggerHub が残りを処理してくれるので、安心して任せられます。また、SwaggerHub は私の中央リポジトリとして機能するので、私のドキュメントが期待通りの場所にあることがわかります。また、ユースケースが更新され、意図した場所に配置されることもわかっています。私たちのリポジトリは、標準に準拠して完全に最新の状態に保たれています。

しかし、何よりも嬉しいのは、SwaggerHub では毎日このようなことが期待できるということです。

SwaggerHub 製品紹介ページは、こちら
OpenAPI 仕様に準拠した API 設計とドキュメント化のためのプラットフォーム

この資料は、SmartBear の Blog で公開されている「A Developer’s Perspective of CI/CD Integrations with SwaggerHub」の日本語参考訳です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする