最強の開発環境を提供するIBM Bluemix
Swiftも取り入れ新たな価値を創造する
宋 珠憲
日本IBMクラウド事業総括エコシステム・デベロップメント主任ITスペシャリスト。約8年間のソフトウェアエンジニアとしての経験を元に、IBM Bluemixのデベロッパーコミュニティやテクニカルセールスを担当。さまざまなAPI・サービスとのコラボで生まれる新たな可能性、サービスの価値を高めるクラウドの活用方法などをサポートする。
「ITエンジニアにとって、『IBM Bluemix』は最強の開発環境です」と宋珠憲氏は語る。IBM Bluemixが開発者にもたらす最大のメリットは、システム環境構築までの時間を大幅に短縮できること。サーバやネットワーク基盤の構築、データベースの接続といった、規模によっては数カ月を要していた作業時間が短くなり、素早く開発に着手できる。
「それというのもIBM BluemixではOSからランタイムまでを一貫してクラウドで提供しているからです。つまり、開発者が作成したアプリだけをIBM Bluemixに上げてもらえれば、すぐに動いてデプロイ(展開)、WEBで公開もできます」
連携できるサービスとAPIの豊富さも大きな魅力だ。ワトソンやIoT、モバイルなど、120種類以上のサービス・APIと連携し、あたかも「レゴのブロック」感覚で機能を組み合わせ、新しいアプリを開発できる。
「IBM BluemixはオープンソースのPaaS(Platform as a Service)であるクラウド・ファウンドリー(Cloud Foundry)をベースにしていて柔軟性や拡張性が高く、カスタマイズも比較的容易です。すでにオンプレミスで自社のシステム基盤がある場合でもクラウドと接続できる仕組みも備えているので、既存システムとの親和性もあります」
一方で、開発者の世界はアップルのスウィフト(Swift)が2015年にオープンソース化されたことで、大きく流れが変わった。スウィフトのライブラリを公開する「スウィフト・ツールボックス(Swift Toolbox)」といった開発者コミュニティも活性化し、スウィフトは現在もっとも注目されるプログラミング言語になりつつある。
IBMもこの動きに素早く対応してスウィフトコミュニティに対する役割やビジネス向けにサーバサイドで動かすための計画を発表し、「IBMクラウド(IBM Cloud)」がスウィフトエンタープライズアプリ構築のショーケースになることを宣言した。
さらに2016年2月には5つのスウィフト関連新プロジェクトを発表。中でもスウィフトでWEBアプリを開発できるフレームワーク「キツラ(Kitura)」は開発者からの大きな注目を集めている。
ほかにも外部からのリクエストをトリガーとしてスウィフトで作成したアプリとそれ以外の言語で開発されたアプリを連動させて動かせる「オープンウィスク(OpenWhisk)」、IBM Bluemixに接続しなくてもローカル環境でスウィフトによるアプリ開発ができるMacソフト「Cloud Tools for Swift」など、にわかにIBMとスウィフトの関係は深まっている。
「私のようなギークなエンジニアは、なるべくやりたい放題な開発環境を好みます。その意味でIBM Bluemixは新しい価値を生み出すプラットフォームとして最適ですし、スウィフトにもこれまでにない新しいアプリを作るうえで大きな可能性を感じています」
IBM Bluemix上では、開発素材として連携できるサービスやAPIが120種類以上用意されている。これらをあたかも「レゴのように」組み合わせていくことで、アプリ開発はよりスマートになる。開発者は、本来注力すべきアプリのオリジナルな部分に集中できるのだ。
IBM Bluemixはクラウド上のシステムだが、Mac用ソフト「Cloud Tools for Swift」をダウンロードすればローカル環境でのアプリ開発が可能だ。インターネットを通じて同期されるため、変更項目はすぐにクラウド上の環境に反映される。【URL】http://cloudtools.bluemix.net/
世界でも珍しいモバイルテスト専門拠点
自動化ツールが検証作業の質を高める
大楠 貴浩
日本IBMグローバル・ビジネス・サービス事業本部アプリケーション開発推進DevOps Agile&テスティングDevOps技術担当。モバイルアプリのテスト自動化や、Mac/PCのクロスブラウザテスト自動化の推進を実施する。プライベートでは、最初に買ったMacはiMac G3。iPhoneは4台乗り継いで子どもの成長を写真で記録している。
モバイルアプリ開発の肝となるのが、最終的なテスト(検証)作業だ。年々アプリ開発のサイクルが短くなる中、IBMでは効率化のニーズに応えるため、2015年4月に幕張事業所内に「IBMモバイル・テスト・センター(以下MTC)」を開設した。世界でも数少ない、モバイルアプリテストの専門拠点だ。その効率化の鍵は「自動化」にある。
「モバイルアプリのテスト自動化にはさまざまなノウハウが必要ですが、社内から招集した人材で“テスト・スペシャリスト”を組織し、現在日本とフィリピンで開発とテストを行っています」と語るのは、MTC責任者の大楠貴浩氏。
MTCでのテストを利用する基本的な流れは、まず顧客からアプリの仕様書などを預かり、検証が必要なデバイスやOSに合わせたスクリプトを作成して自動テストツールの「パーフェクトモバイル(Perfecto Mobile)」を実行、テスト結果や障害報告などがフィードバックされる。このテストに要する期間だが、条件が揃っていれば最短で翌日には結果報告できるという。費用は初回で120万円からとのことだが、短納期と品質管理の観点からは必ずしも高コストであるとはいえない。
「お客様側でテスト環境をすべて構築するという考え方もありますが、それは高コストにつながります。アジャイル開発では、早い段階から開発とテストの役割を分担することでスピーディかつ高品質の検証作業を実現するという方法もあります。こうしたアプリ開発とテストのスタイルは、まだビジネスアプリの分野で認知されているとはいえませんが、開発者の間では確実に注目度が高まっています」
すでに多くの企業から問い合わせが寄せられ、銀行や運輸といった分野からポイントカードのシステムなどBtoC寄りのアプリなどでもMTCのテストが用いられているという。
検証作業というと一見地味にも聞こえるが、テストそのものには面白みを感じるという大楠氏。
「開発工程でテストを行っているうちに、“品質が数量的に見え始める”んですよ。我々は自動テストと同時にRTC(ラショナル・チーム・コンサート)やスクラム管理ツールの『JIRA』を使ってバグのステータスや作業の進捗などを可視化しています。可視化できれば課題への対策も提案しやすくなりますし、結果的にお客様の役に立てるのがうれしいですね」
すべてのiOSデバイスでの動作検証結果を翌日にレポートするといったことは数年前までは不可能であったが、MTCを用いることで、開発チームは従来よりもアプリ本体のパフォーマンス向上やユーザビリティ、セキュリティ面での品質の向上に注力できる。
「今はアプリ本体の開発に目が向いている開発者は多いのですが、開発と同じくらいテストは面白いものです。なぜなら、開発は修正が効きますが、テストは最後の防衛ラインだからです。そこに難しさもありますが責任とやりがいを感じます」
MTCでは、顧客に代わってモバイルアプリのテストを実施。テストのスペシャリストたちが行うことで、ミスを削減しテスト自体の品質・効率を向上させるのが目的だ。作業自体は自動化ツールを使って行うため、最短で翌日の結果報告が可能になっている。
複数のデバイスに対し、同じテストスクリプトを実行している様子。用意の難しい複数OS、デバイスも、専門施設だからこそ検証可能になっている。これだけでもクライアントのテスト負荷は大幅に軽減する。