Best Engine

ITの最新動向を紹介する技術情報サイト

|特集1|

Change Culture

~お客様と共にAPIの世界に挑む~

APIが変える世界

──
お客様の環境は今後もさらに変化していくと思いますが、今起こっている変化はどのようなものですか。
亀田
ウォーターフォールにせよ、アジャイルにせよ、開発を早める手段の1つは「再利用」です。プログラミングでは昔から、頻繁に使われる機能をパッケージ化して、他のプログラムやアプリケーションから再利用できるようにしています。いわゆる、このパッケージが「API5」です。従来、APIを通した再利用は1つのシステム内に止まっていました。
ここ2、3年で特筆すべき変化は、「Web API6」と呼ばれる、クラウドにあるAPIを利用することが増えてきているということです。要件を満たす機能を一からコーディングするスタイルよりも、Web APIを組み合わせて実現するものに変わってきています。それに伴い、評価される開発者像も、プログラミング能力やプロジェクトマネジメント能力に加え、様々なWeb APIを熟知し、要件の実現に向けて適切に組み合わせ、うまくコーディネートできる能力を備えた人物になってきています。
Web APIが普及した背景には、2010年頃から「REST7」と呼ばれるデータをやり取りする仕組みが急速に広まったことにあります。RESTは、Webページを見る際に使用している仕組みを踏襲しているので、インターネットとはとても相性がいいのです。
また、開発に至る準備段階では、関係者のコンセンサスを取りアイデアを具体化するという意味で、「デザイン思考8」も注目されています。開発を含めたITの現場で言われるデザイン思考とは、問題解決の手法であり、ユーザの使い勝手をポジティブにとことん追求し、試作品を通してフィードバックをどんどん取り入れていくことを意味しています。最近では、デザイン思考をベースに、提供すべき新しいサービスやビジネスを特定するための「アイデアソン9」と呼ばれるイベントや、エンジニアも交えて実際に試作品を作ってみる「ハッカソン9」というイベントが各企業でも盛んです。ハッカソンは、長くても数日で試作品を作るイベントなので、ほぼ組み合わせるだけで開発できるWeb APIの普及でハッカソンが実現できるようになったとも言えます。
亀田 積

亀田 積

10年以上IT業界で従事した後、2000年に入社。Webアプリケーション開発支援やSOA推進、開発技術全般の社内標準化を担当。09年から流通、エンタープライズシステム事業を経て、15年クラウドイノベーションセンター設立とともに同センター部長に就任。

──
インフラの分野ではどんなことが起こっていますか。

端的に言えば、先ほど述べた「プログラマブルであること」が進化しています。

クラウドOSと呼ばれる「OpenStack10」の浸透は著しく、今後のインフラ技術のスタンダードに近い位置にいます。ソフトウェアでハードウェアを一元的に構築・管理する「SDI11」技術の中核をもなしていて、普及が加速しています。

また、OS不要の仮想マシンとも言える「Docker12」に代表されるコンテナ技術も今後さらに普及すると見ています。仮想化環境は、物理サーバ上に複数のOSを稼働させるための仮想マシンを作り出すもので、アプリケーションから見れば、そこで展開される環境は物理環境となんら変わりはありません。しかし、コンテナ技術はOSの存在をもアプリケーションから隠し、アプリケーションの実行に必要な最小限のリソースと機能だけを確保します。仮想化よりも軽量になるため素早く環境を用意することが可能です。

OpenStack、SDI、Dockerはそれぞれ異なる動きに見えますが、アプリケーションにとってプログラマブルで柔軟な環境を実現するという目的はすべてに共通しています。そして、インフラがプログラマブルであるための技術の1つがAPIです。APIを通してCPU、メモリ、ストレージなどのITリソースが操作できるようになってきています。
最終的には、それらのITリソースが直接ネットワークにつながり、クラウドOSによる管理のもと、アプリケーションからは、APIを通してのみ利用される世界が間近に迫っていると思います。

東 智之

東 智之

1989年入社。保守サポート業務を経て、高可用性システム、ストレージ及びミドルウェア製品技術の推進業務などに従事。プライベートクラウドの拡販を経て、12年からデータセンターやクラウド、運用サービスをベースにサービスビジネスの拡大に注力。15年4月から現職。

Keyword

5.API

Application Programming Interfaceの略語。他のプログラムから利用できる、ソフトウェアやハードウェアの機能または取り決めのこと。かつては、UNIX系OSのPOSIX標準やWindows APIなど、アプリケーションがOSを通してハードウェアを使用するAPIが一般的だった。
【本文中「API」部分へ戻る】

6.Web API

Webサービスとも呼ばれ、インターネット上に公開されているAPIの総称。HTTP(HyperText Transfer Protocol)やXML(Extensible Markup Language)、JSON(JavaScript Object Notation)などを用いてデータ交換を行う。
【本文中「Web API」部分へ戻る】

7.REST

REpresentational State Transferの略。Web APIの一種で、システム内の情報の新規作成(Create)、取得(Read)、更新(Update)、削除(Delete)の4つの機能(CRUDと言われる)のみでデータ交換を行う取り決めのこと。
【本文中「REST」部分へ戻る】

8.デザイン思考(Design Thinking)

「現在の状態をより好ましいものに変えるべく行為の道筋を考案するものは、だれでもデザイン活動をしている。」(ハーバート・A・サイモン著、稲葉元吉・吉原秀樹訳、『システムの科学』第3版、パーソナルメディア、1999年)
【本文中「デザイン思考」部分へ戻る】

9.アイデアソン/ハッカソン

アイデア(Idea)、ハック(Hack)にマラソン(Marathon)をそれぞれ掛け合わせた造語。特定のテーマについて短期間での新たなアイデア創出や、エンジニアも含めたプロトタイプ制作を図るイベント。
【本文中「アイデアソン」部分へ戻る】
【本文中「ハッカソン」部分へ戻る】

10.OpenStack

拡張性と柔軟性を持つIaaS構築のためのオープンソースソフトウェア。仮想マシンや仮想ネットワークの管理、大容量のデータ保管に適したオブジェクトストレージの機能などを統合している。2010年10月のAustinからアルファベット順の名称でメジャーバージョンが提供されている。
【本文中「OpenStack」部分へ戻る】

11.SDI

Software-Defined Infrastructureの略。ソフトウェアでインフラを動的に管理するというコンセプト。CTCでは、全体の管理・自動化を担うSDIオーケストレーション、デバイスの制御を行うSDIコントローラー、ITリソースを提供するSDIデバイスの3つの層から成ると定義している。
【本文中「SDI」部分へ戻る】

12.Docker

OSのカーネルを共有する形式の仮想環境のオープンソースソフトウェア。OSの機能はそのままで使用可能な領域を限定しているため、CPUやメモリなどへの負荷が少なくて済む。開発環境から本番環境への移行が容易でDevOpsとも相性が良い。
【本文中「Docker」部分へ戻る】

記載内容は掲載当時の情報です。最新情報と異なる場合がありますのでご了承ください。