CodeZine(コードジン)

特集ページ一覧

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

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2022/03/03 12:00

 APIはネットワーク越しにあるソフトウェアをリモートで呼び出すためのインタフェースである。本来は技術的な構成要素として誕生したが、昨今はビジネスがどのように行われるかを定義するインタフェースとして捉えられることも増えている。ビジネス価値を最大化するためにも、APIは公開して終わりではなく、公開後も適切な運用をしていくことが求められる。だが、APIの数が増えていくにしたがい、人の手で運用するのが難しくなってくる。ではどうすればビジネス的な価値を損なうことなく、運用できるのか。その仕組みについてレッドハット テクニカルセースル本部 シニアソリューションアーキテクトの手塚由起子氏が解説した。

目次
レッドハット株式会社 テクニカルセールス本部 パートナーソリューションアーキテクト部シニアソリューションアーキテクト 手塚 由起子氏
レッドハット株式会社 テクニカルセールス本部 パートナーソリューションアーキテクト部 シニアソリューションアーキテクト 手塚 由起子氏

もはやAPIは技術要素ではなく、ビジネス価値を最大化する鍵

 「APIは技術的な構成要素として誕生したが、今ではビジネスがどのように行われるかを定義するインタフェースと捉えることもでき、ビジネス的な意味で使われることも増えている」

 こう手塚氏は語る。その背景にあるのは企業をとりまく環境の大きな変化だ。他業種からの新規事業への参入やグローバル化など、ビジネスの多様化、高速化が進んでいる。またIoTやAIなどによるモノ・コトのデジタル化、さらにはオムニチャネル化も進んでいる。「これまでは国内や自社業界のみのビジネスだったので、自社予測に沿ったシステム設計でよかったが、これからは他社に先んじて自社アプリを公開したり、他社と組んだりする必要がある。つまりスピード感を持ったエコシステムを作ることが、ビジネスにとって重要な課題になっている」と手塚氏は話す。

 APIは他社とのパートナリング、マーケットや顧客に対するプロダクトの公開、社外リソースとの連携、社内システムの連携にも使われる。つまり「新たなビジネス価値を、他社よりも早く市場に届けるためには、APIをいかにうまく利用してうまく使わせていくかが大事になるのです」と手塚氏は提言する。

 ビジネスエコノミーはもはや「APIエコノミーといっても過言ではない」と続ける手塚氏。APIはインタフェースではなく、アプリケーションの塊、プロダクトそのものであり、企業はバックエンドシステムをAPIの形で公開する。パートナリングや売り上げ向上のため、潜在的だったリソースを顕在化させる武器でもある。「エコシステムを構築し、ビジネス価値を最大化するためには、APIのうまい活用が非常に重要になる」と手塚氏は指摘する。

 そのために重要になるのが、API公開後の運用である。APIライフサイクル管理はビジネス戦略を立ててAPIを設計するところから始まる。モックを作ってテストを実施し、実装、デプロイして、認証認可の仕組みなどを入れるなどセキュリティを担保する仕組みを入れて、管理する。公開されたAPIは、そのAPIを使いたい開発者によって発見され、利用され、それをモニタリングし、場合によっては課金する。「APIはエコシステムの根幹なので、公開して終わりというわけにはいかない。APIを作る輪と使わせる輪をくるくると回していくことが必要になります」(手塚氏)

APIライフサイクル管理の全体像
APIライフサイクル管理の全体像

 だがこのようなライフサイクル管理を人の手でやっていくのは、非常に難しい。なぜならマイクロサービス化が進むことで、管理しなければならないAPIの数が増えていくからだ。「人力に頼らない仕組みを考えないと、作ったAPIが使われなくなり、ビジネスの価値を毀損することになる」と手塚氏は言う。

 例えばインフラの世界では、パブリッククラウドの台頭により、ハイブリッドクラウドをはじめマルチ環境が当たり前になっている。そういう中で生まれてきたのが、「インフラ環境そのものをコード化する技術、Infrastructure as Codeです」と手塚氏は説明する。宣言的な手順をファイルに記載し、それを構築ツールに読み込ませることで、コードで記載された状態のインフラが構築される。これにより、ソフトウェア開発における品質管理のナレッジがインフラ管理にも適用できるようになる。つまりソフトウェアと同様にCI/CDで自動化が可能になるというわけだ。「Ansibleという自動化ツールであれば、宣言的ファイルがPlaybookとなり、Kubernetesならマニフェストファイルでリソースが管理できます」(手塚氏)

 ちなみにCI/CDとはCI(継続的インテグレーション)とCD(継続的デリバリー/デプロイメント)の略語で、ソフトウェアの変更を常にテストして、自動で本番環境にリリース可能な状態にしておくソフトウェアの開発手法である。CI/CDを実践することで、バグを素早く発見したり、変更を自動で反映してリリースしたりできるようになる。「ユーザーに価値を届けるサイクルを早く回せるようにするためには、必須の技術要素です」(手塚氏)


関連リンク

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

バックナンバー

連載:Women Developers Summit セッションレポート

もっと読む

著者プロフィール

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

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

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5