SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Women Developers Summit セッションレポート(AD)

もうAPIの運用管理で消耗しない! ビジネス価値を最大化する自動化のポイントとは?【デブサミウーマン】

【A-6】公開したはいいけれど…?APIの運用を「きちんと回す」仕組みを考える

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

APIをコード化し、自動で運用できる仕組みを構築

 手塚氏は、このCI/CDとInfrastructure as Codeを、APIマネジメントにも適用した「API Management as Code」によって、APIライフサイクルを自動で回す仕組みを構築しようというのである。

APIライフサイクルと「Code」
APIライフサイクルと「API Management as Code」

 設計、実装、テスト、デプロイ、公開、運用と流れていく一連のAPIライフサイクルをマネジメントする上で、どこからコードを取り込んでいくのか。その中でも重要な役割を果たすのが「OpenAPI Specification」。これを使って、APIの定義を行っていく。定義が決まったら実装し、テストをする。このテストを自動化するときにも、「OpenAPI Specification をうまく使うこと」と手塚氏は言う。さらにこういったテストやデプロイをCI/CDで安全に回していくためのプラットフォームとして、「コンテナを選択することが最近のベストプラクティスになっている」と手塚氏。公開時にはAPI管理製品を使ってAPIの整理やセキュリティのチェックが必要になるが、このAPI管理製品のコンフィグもコード化し、パイプラインから呼び出せるようにすべきだという。「設計から公開に関わる全てのリソースを、コードで定義できるようにし、かつGitでバージョン管理できるように実装していくこと。こういう仕組みが実現できれば、新規にAPIを公開するときはもちろん、APIの変更が頻繁に行われる世界になっても、安全に管理することができます」(手塚氏)

 ここで手塚氏はCI/CDパイプラインでAPIをデプロイする際の5原則を紹介。この5原則の詳細は同社のブログ(英語)にも記載されているという。

 1.コントラクトファーストなアプローチ(APIの定義から入っていくアプローチ)

 2.テスト可能であること。特にAPIの性質上、対向するアプリケーションの開発者に受け入れてもらえる品質か、対向テスト(受け入れテスト)が非常に重要になる

 3.セマンティックバージョニングを堅守せよ(メジャーバージョン、マイナーバージョン、パッチバージョンなどの定義をしっかり決めて運用に反映させる)

 4.べき等性を保つこと(利用するAPI管理ツールのコマンドはべき等性が考慮されているか)

 5.API Management as Codeの原則を適用すること(API管理に関する全てのリソースはGitで管理され、デプロイされる)

 APIはコードから定義する場合だけではなく、コントラクトファーストレベルのインタフェースから定義するパターンもある。「マイクロサービスのように一つのAPIの独立性を担保させたい場合は、コントラクトファーストなアプローチが有用だと考えている。そういう意味でも、OpenAPI Specificationを使ったコントラクトファーストのアプローチで作っていくことを推奨しています」(手塚氏)

 コントラクトファーストなアプローチを支援するツールも登場している。「Apicurio」はOpenAPI Specificationを作成するためのツール。ブラウザで起動し、GUIで簡単に作っていけるという。

 対向テストに便利に使えるのがApicurio StudioとMicrocksの連携。これによりAPIのモックテストが簡単にできるようになる。加えて、CI/CDを実現するのに役立つ機能を提供するのが3scaleである。REST APIやCLIに対応しているツールに使うことで、APIゲートウェイでのAPI管理が容易にできるようになる。

 「APIは企業や組織のプロダクトであり顔である。その価値を最大化するためにも、APIをコード化し、APIリリースサイクルを安全に回していくこと。APIの開発においては、このことを常に念頭に置いてほしい」と手塚氏は呼びかけた。

 今回、手塚氏が登壇したのは、Women's Leadership Communityというグローバルで活動する同社コミュニティの日本のリーダー的存在の人にチャットで声をかけてもらったことがきっかけとなったという。レッドハットにはWomen's Leadership以外にもさまざまなコミュニティが活動を行っており、「登壇することでコミュニティや会社に貢献したいという思いがあった」と手塚氏は話す。

 とはいえ、今回のような公開の場で話すのは勇気が必要になる。それを後押ししてくれたのが、レッドハットが大事にしているカルチャーの一つ「Courage:勇気」だったという。「常日頃から一歩を踏み出すという文化に触れていることが、登壇を後押ししてくれた」と語り、セッションを締めた。

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Women Developers Summit セッションレポート連載記事一覧

もっと読む

この記事の著者

中村 仁美(ナカムラ ヒトミ)

 大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/15269 2022/03/03 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング