オープンソース導入で企業が注意すべき5つのポイント、デメリットはどう克服するのか

オープンソース導入で企業が注意すべき5つのポイント、デメリットはどう克服するのか

オープンソースソフトウェア(OSS)の勢いが増してきている。それを如実に物語るのがGitHubのデータで、現在世界で数千万人のコントリビュータが活動しており、リポジトリ数は2800万以上、コードの提供数は今や1億4500万以上にのぼる。こうしたコミュニティ活動の中心は、今やITベンダーだけではない。ゼネラル・エレクトリック(GE)やウォルマートといったユーザー企業もプロジェクトを進めている。企業がOSSを活用するにあたって押さえておくべきポイントとは何か?OSSにはどのようなデメリットやリスクがあり、それをどう克服するべきか。ガートナー リサーチ部門 主席アナリスト 青山 浩子氏が解説する。

オープンソース(OSS)とは
オープンソースとは、独自のの方法でソフトウェアなどの開発、展開、サポートに対処する、モデル、仕組み。OSI(Open Source Initiative)のライセンス条項に基づく。

●なぜOSSがこれほど重要になってきているのか

 なぜ今、OSSがこれほど重要になってきているのか。その理由としてまず挙げられるのが、ビジネス環境の変化だ。ビジネスの規模が拡大し、多様化し、さらに変化のスピードも非常に速くなっている。企業はこうした変化に素早く対応していくことが求められている。

 次に、テクノロジーのトレンドが変化していることも挙げられる。ガートナーでは、デジタルビジネスにおいて注目すべき投資分野として、「すべて」のインフォーメーション、SDE(Software-Defined Everything)、統合システム、高度なアナリティクス、スマートマシンと自動化、の5つを提唱しているが、これらに紐付くテクノロジーを見てみると、OSSが深く関連していることが分かる。

 たとえばクラウドコンピューティングやマイクロサービスアーキテクチャ、コンテナ、マイクロOSなどのテクノロジーはOSSなしでは語れない。

 そして3つ目に、ベンダーのOSSへの取り組み方にも変化が出てきていることが挙げられる。

 大手ベンダーがOSSのベンチャー企業を買収したり、自社のクローズドなコードを活発にOSS化したり、あるいはOSSプロジェクトに積極的に投資をしている。たとえばIBMでは、自社のコードをOSS化するdeveloperWorks Openというプロジェクトを立ち上げた。

 また、これまでベンダーは作る側、ユーザー企業は使う側という区切りが明確だったが、今ではこの境界線が曖昧になってきている。新興領域にはユーザー企業も参入しやすく、従来のベンダーにとっては手強い新たな競合が生まれやすい状況だ。

 そこで自社のソースコードをOSS化して開発コストを減らすとともに、開発スピードを上げていかなければ、新しい市場での競争に負けてしまう恐れがある。ユーザー企業からの圧力によって、OSS化に向かわざるを得ない状況になっているのである。

●OSSのメリットとは?トップはコスト低減ではない

 実際、2016年1月にガートナーが国内のユーザー企業を対象に実施した調査の結果によれば、OSSが必要かという問いに対して、76.5%の企業が必要だと答えている。しかし、注目して欲しいのはその理由だ。今までトップだったのは「コスト抑制/低減のため」だったが、今回は「システムの柔軟性や要件に応じて機能変更ができるため」に代わっている。

 このようにOSSは、ビジネス環境やテクノロジートレンドの変化、さらにはベンダーの関わり方、ユーザー企業の意識の変化によってどんどん発展していく。しかし変わらない本質がある。それは、OSSは新陳代謝を促し、新たな価値を生み出すイノベーションモデルの1つだということだ。

 国や企業、あるいはベンダーとユーザーの枠組みを破壊して、社会的に大きな変化を起こしているもの、それがOSSだといえる。

●これだけは押さえておくべきOSSのトップ5

 ガートナーでは2018年までに、グローバルな中堅企業/大企業の50~60%が、自社のアプリケーション開発要件を満たすためにOSSを用いるようになると予測している。たったの1年後だ。

 ただしOSSといってもさまざまなものがある。ユーザー企業が1つ1つ、気になるものを使って検証してみることは、現実的に難しい。そこで、これだけは押さえておいておきたいOSSのトレンドトップ5をご紹介したい。

■OSコンテナ:再注目されるのには理由がある

 1つめが、OSコンテナだ。OSからアプリケーションを分離する共有OS仮想化技術である。今となっては目新しいものではないが、ただ従来のOSコンテナ技術は標準性を欠いており、開発者にとって便利な周辺ツールもあまりなかった。

 OSコンテナといえば、イコールDockerのように捉えられているが、Dockerコンテナというのは、OSのコンテナ内でアプリケーションを抽象化する仮想化の一手法に過ぎない。

 最近、このOSコンテナがDockerを含めて再注目されている理由は、開発やプロビジョニングのスケーラビリティを高めることができること、さらにはマイクロサービスアーキテクチャやクラウドコンピューティングに求められるアジリティへの要求が高まっていることなどが挙げられる。

 企業に与えるインパクトは大きく2つで、まず開発ライフサイクルを非常に迅速に回すことができるようになること、そして変更要件へのリアルタイム性を向上させることが期待されることだ。

 ただガートナーのハイプサイクル上では、まだ黎明期にあるので、テクノロジーの検証期だといえる。情報収集はもちろん必要だが、情報を集めつつ、ちょっと試してみる、というやり方を採っていただきたい。

■Open Compute:データセンターの高効率化を追求

 2つめのトレンドがOpen Compute(あるいはOpen Compute Project)で、データセンターにおける仕様や設計をOSS化するプロジェクトのことだ。Facebookが2011年に立ち上げた。

 データセンターにあるインフラの高効率化を追求する取り組みであり、これもまだ黎明期にあるが、ただ遅くとも5年以内には成熟し、生産性の安定期へと向かうと考えられる。

 ハードウェアのコモディティ化を推し進めることはもちろん、テクノロジーの革新や、新しいアーキテクチャの担い手を変えるポテンシャルを持っていることを企業は十分に認識しておく必要がある。ここからのアウトプットを、特にスケールアウト型のデータセンターの参照モデルとして使うことをお薦めする。

■OpenStack:クラウド管理プラットフォームの標準になる

 3つめが、ガートナーが「クラウド管理プラットフォームのOSS版」と定義しているOpenStackだ。

 OpenStack Foundationには300社以上が参画しており、リリースのスピードも半年に一度と非常に速く、2016年10月には14番めのバージョンとなるNewtonがリリースされた。

 クラウドサービスの仕組みという観点では、このOpenStackがデファクトスタンダードになる可能性が大きい。ベンダー、ユーザー企業を合わせて300社以上がOpenStackに投資を行っている。これがいきなり衰退することはまずない。

 ただ現在は幻滅期に移ってきており、今後は淘汰のフェーズに向かうと我々は予想している。企業はフォーキング(プロジェクトの分岐)や大幅な機能変更、突然のプロジェクトの停止などに気を付けておく必要がある。

■サーバ自動化:サーバなどの変更頻度や変更件数が多い場面で有効

 4つめが、サーバ(ライフサイクル)自動化で、これは物理/仮想のサーバ環境やクラウド環境において、ソフトウェアを中心とする構成の変更や管理を自動化するテクノロジーやツールを指すものだ。

 有名なツールとしては、ChefやPuppet、レッドハットに買収されたAnsible、Itamaeなどが挙げられるが、これらも今は幻滅期で、今後さらに改良が進んでいくものと見られる。

 企業へのインパクトとしては、特にサーバの運用管理において、自動化によるスピードの向上と人的ミスの低減が一番大きい。特にサーバやアプリケーションの変更頻度や変更件数が多い場面で、ぜひ検証をスタートさせていただきたい。

■Linux:開発の方向性が2極化、分けて考える必要がある

 そして5つめのトレンドが、Linuxだ。今さらLinuxと思われるかもしれないが、実は今、Linuxの開発の方向性は2極化している。

 これまでLinuxはUNIXの代替品として発展してきた。代表的な製品としては、Red HatやSUSEなどが挙げられる。これが従来のLinuxの方向性で、いわばコスト低減のためのOS選択、つまりはモード1型のLinuxだ。

 しかしここに来て、マイクロサービスアーキテクチャやビジネスニーズ、多様性、スケール、スピードに応えるための軽量版のOSが登場してきた。これをガートナーではマイクロOSと呼んでいるが、このマイクロOSを実装することで、企業はシステムの柔軟性やスピードを高めることが可能となる。これがLinuxの新たな方向性で、次世代ワークロードを担うOSとしてのモード2型のLinuxだ。

 ユーザーニーズに応じてLinuxも新たな発展段階へと向かっている。一口にLinuxと言っても、これからは分けて考えていく必要がある。

●OSSのデメリットやリスクは?(レディネス・チェック一覧)

 今後OSSの勢いがさらに増していけば、これまでの競争の場は破壊されることになる。

 たとえば新興市場においてユーザー企業がOSSを駆使した先進的なビジネスモデルを作り出し、その分野のトップに躍り出るかもしれない。

 またOSS化がもっと進めば、新たなエコシステムも生まれてくるだろう。コミュニティの衰退に伴い、もっと自然に、もっと速く、不要なOSSのライブラリやコンポーネントが自然消滅する可能性がある。

 そして数年先にはOSSは、エンジニアという枠組みも破壊する。職業としてのエンジニアではない人々が、OSSの開発に参画するようになるからだ。ビジュアルプログラミング言語などをイメージすれば分かりやすい。

 さらにはAIロボットが自由な発想でOSSのコードを改良し、新しいビジネスを作り出すという未来が近いうちに来るかもしれない。

 そんな未来に向けて、これから企業はどんな備えをしていけばいいのか。

 ここでちょっと以下のレディネス・チェックをしてみていただきたい。多くのチェックが付いてしまったからといって悪いわけではないが、ただあまりにたくさん付いてしまうと、OSSを使うことでリスク、あるいはコストが高まる可能性がある。


 先にも述べたが、これまでのOSSは商用製品の代替品で、コスト低減効果の議論が中心だった。しかしOSSには、実はこのレディネス・チェックの項目の数ぐらい、議論すべきポイントがある。コスト以外にも目を向けて、利活用の議論を進めていく必要がある。

●使えるOSSと使ってはいけないOSSをどう見分ければよいのか

 次にOSSの抱える潜在的なリスクについても、触れておきたい。

 ここで押さえておいていただきたいのは、OSSの展開先環境の重要度と、OSS自体の成熟度によって、リスクの度合いは異なってくるということだ。

 たとえば展開先環境の重要度を松(99.999%)、竹(99.99%)、梅(99.9%)と分類した時、OSSは残念ながら松レベルのシステムに適用するのには向いていない。竹以下で使うことでリスクは低減できる。ただしそのOSSが、あまりに誰も使っていないOSSだとリスクは高まる。そういうことである。

 この時、展開先環境のSLAは見極めやすいが、OSSの成熟度をどのように判断すればいいのか。

 1つの方法として、我々のハイプサイクル上でのポジショニングを確認していただくという方法がある。またそのOSSに関するWebからの情報の入手のしやすさや、コミュニティの活発度や組織体制、ロードマップの有無、開発者数の多さなどでも判断することができるだろう。

 参考までに、OSSは多くの技術者が開発しているので商用製品よりも品質が高くなるという声があるが、これは間違いでほぼ同じだ。

 ただし、OSSの品質はプロジェクトの体制やコミュニティの活発度、関わる人の多さなどによって大きく変わってくる。また人気の高いOSSほど、サイバー攻撃の対象になる可能性も高い。

 OSSだからといって盲信することなく、商用製品と同じようにセキュリティ対策をきちんと施す必要がある。“野良OSS”も放置しないで、ガバナンスを利かせてステップアップさせていく取り組みをぜひスタートさせていただきたい。

●OSSの「プロフェッショナル人材」不足による5つのリスク

 最後にリスクという観点からは、ユーザー企業内にOSSのプロフェッショナル人材がいない場合にも、大きく5つのリスクが存在することになる。それが、コストの増加、ビジネス競争力の低下、テクノロジーやロードマップの不確実性の増大、IT持続可能性の低下、そして商機縮小の恐れだ。

 たとえばOSSの技術に追い付くことができないユーザー企業は、外部ベンダーのサポートに頼らざるを得ない。それは当然コスト増につながる。結果、新規投資へ回す資金が少なくなり、競争に負けるかもしれない。たとえユーザー企業であっても、10年後を見据えて、今からOSSのプロフェッショナル人材を育成していくことを考えなければならない。

 そこではまずベーシックからスタートし、スぺシャル、プロフェッショナルへとステップアップさせていく。たとえばスペシャルなら、OSSを選定する基準は何か、評価する時には何を指標とするのかを理解している必要があり、また自社で対応できる範囲とそうでない範囲を見極める目などが求められる。

 もう1つ、OSSはみなで情報を共有して改良していく取り組みなので、そこでは自発性や協調性、適応力、情報発信力といったスキルが求められる。自分だけ知っていればいいという人には向かない。

 そしてプロフェッショナルなら、開発コミュニティへの貢献を視野に入れる必要があるし、さらに先を見据えた潜在的リスクの低減や、ビジネス革新へとつながるようなOSSの選定が求められる。こうした人材への投資も非常に重要な取り組みだ。

 まずはOSSの本質を理解し、OSSに適した領域の棚卸しを行い、投資費用を確保していただきたい。その上で成熟したいくつかのOSSに的を絞り、範囲を限定して利用を開始する。併せてパートナーの選定と人材プランの策定にも着手する。それが求められる直近の行動計画である。

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏