2018年11月8日、都内で開催された「Red Hat Forum Tokyo 2018」。Linuxディストリビューターとして、グローバルでオープンソース・ソフトウェアによるサービスを展開するレッドハット社が主催するイベントで、"IDEAS WORTH EXPLORING アイデアとオープンソースのちからで、ビジネスに変革を。"をテーマに、オープンソースの最新テクノロジー事情をはじめ、アイデア、ソリューション、導入事例を紹介するセッションやデモンストレーションが行われた。本稿では、そのうちのひとつである、「『OpenShift』と『NECの総合力』で実現するデジタルトランスフォーメーション」と題して行われた、日本電気 OSS推進センター エキスパートの影山 太一氏による講演内容を紹介する。
DX(デジタルトランスフォーメーション)に向けたふたつの課題
通称"DX"と略されるデジタルトランスフォーメーションだが、NECではこれを"デジタル技術を活用"し、"ビジネスや社会をより良い方向に『変革』すること"と定義している。わかりやすくいうと、「IT化が今まで手動で行っていたことを自動化し、その処理を大量に、素早く行うことに注力していたのに対し、今までなかったことや、不可能だったことを最新のデジタル技術を駆使して実現し、世の中を変えていくこと。つまり変革すること」と説明し、具体的な例として、スマートフォンのGPSを活用したタクシーの配車サービスや、ビッグデータやAI技術の活用による新たなワクチンや薬の開発があげられた。
こうした"第四次産業革命”ともいえる、デジタル化の新たな時代に本格的に突入していくにあたり「企業は激しい外部環境の変化に素早く対応してDXを実現し、新たな価値を提供していくことが重要になる」と影山氏。さらに、そのDXを実現するためには、"探索的アプローチ"と"最新技術の活用"の2点が重要になるという。
「今までにない革新的なサービスの要件をあらかじめ決めるのは困難。そこで、まずは試行錯誤を繰り返すようなアプローチが必要となってくる。また”今までなかった”のは、実現可能な技術がなかったことも要因のひとつ。最新技術をいち早く活用していくことがDXの実現につながる」(影山氏)
しかし、これらを実行するには課題が残されている。ひとつは探索的アプローチを支えるための開発・運用基盤をどう整備していくか。そして、もうひとつが、最新技術を活用したシステムを迅速に準備し、柔軟に拡張していくにはどうすればよいかである。
探索的アプローチを支える基盤
これらの課題を解決するために、NECが紹介した取り組みのひとつが"DevOps基盤の整備"だ。
影山氏は「DevOpsは開発と運用のチームが一体となってアジャイル開発、運用のサイクルを回していくこと。試行錯誤し、継続して育て上げていくことが非常に重要」と話す。
さらに、DevOpsを実現する重要な技術要素として紹介されたのが、"コンテナ"と呼ばれる技術だ。これはアプリケーションの動作環境をパッケージ化し、コンテナという隔離されたリソース内で環境を再現する技術で、 開発者が構築した環境を運用者が構築することなく簡単に復元し、シームレスな連携を実現するのがメリットだ。
ただし、DXを実現するサービス開発においては、アジャイル開発しやすい、スケールしやすいという観点で、大きなサービスをひとつ開発するのではなく、個々の機能ごとに分割したマイクロサービスという単位で開発、コンテナ化することがベストプラクティスとなっている。そのため、コンテナ数が増える傾向にあるという。
コンテナ数が増えれば、どのノードに、どの程度リソースを配分するかという管理が煩雑になってくるが、 その管理を効率的に行なってくれるソフトウェアが「Kubernetes(K8s)」だ。コンテナ実行環境のデファクトスタンダートとなっているOSSであり、NECもコミュニティに貢献しているという。
だが、影山氏によると、コミュニティ版のKubernetesをそのまま用いてDevOps基盤を構築し、エンタープライズ用途で運用するのは、困難を極めるという。「実現するには多くのOSSを組み合わせる必要があり、依存関係が複雑になる」からだ。
「組み合わせパターンが多いと依存関係も複雑になり、検証評価に時間がかかる。また、運用中のセキュリティ対処等では依存により多くのOSSのアップデートが必要となる可能性が高く、長期的な運用やサポートを考えると現実的ではない。」(影山氏)
またKubernetesはあくまでコンテナ管理のOSSであり、コンテナ開発面では、アプリケーションが依存するライブラリ等を含むベースコンテナを誰が提供するのか、コンテナ内を誰がサポートするのかという問題もある。
そこで登場するのが「Red Hat OpenShift」だ。Kubernetesと関連する多くのOSSだけでなく、RHEL(Red Hat Enterprise Linux)ベースのコンテナのサポートを提供し、エンタープライズ用途でのKubernetesによるコンテナ実行環境、DevOps基盤の運用を可能にすることで、先に上げた問題をすべて解決するものとして紹介された。
NECは2016年から、日本では初となるOpenShiftのOEM提供を開始している。「エンハンスやバグ修正でレッドハット社と協業するだけでなく、NEC独自で実運用を見据えた評価に力を入れるなど、OpenShiftを安全、安心に利用可能とするための万全のサポート体制を築いている」という。
また、インフラからコンテナまでのすべてを提供し、一貫したサポートを提供することで、NECだけに問い合わせれば問題が解決するというワンストップサポートを実現している。提供ベンダーが分かれるとサポートがたらい回しとなる恐れもあるが、この点、ひとつのベンダーがすべて面倒をみてくれるのは頼もしい。
さらに、このOpenShiftを活用してDevOpsを回すためには、始めに開発(Dev)、継続的インテグレーション(CI)、継続的デリバリー(CD), 運用(Ops)を設計し、どう連携していくかを決める必要があるが、それを簡単に実現するのが、NECのソフトウェアエンジニアリング力、DevOpsノウハウにより整備された『SystemDirector Enterprise for DevOps open-perspectiveモデル』だ。
これを活用するとOpenShift上にDevOpsを支援する環境を短時間で構築でき、DevOpsのベストプラクティスを利用した効率的な開発が可能となる。
また『SystemDirector Enterprise for DevOps open-perspectiveモデル』では探索的アプローチを支援する"超高速開発ツール"も提供されている。本ツールは、OpenShift上にも構築可能であり、開発者はブラウザだけ用意すればすぐに開発を始めることができる。展示ブースで行われたデモでは、NECの独自のノウハウが詰め込まれたUI、API、マイクロサービスが、まさに高速で開発される模様をうかがい知ることができた。
最新技術の活用やDX実現には"Cloud Native"が必然
前述のとおりDX実現には最新技術を活用したシステムを迅速に準備し、柔軟に拡張していくことが重要 とのことだが、これに対して影山氏が上げたキーワードが"Cloud Native"だ。
「最新機能、負荷に応じて柔軟に拡張可能なインフラ、構築済プラットフォームを サービスという形で利用することで、システムを迅速に組み上げる。といったクラウドの利点をフル活用する前提のアプローチが適している」(影山氏)
Cloud Nativeへの取り組みとして、NECは、「DX実現に向けたDevOpsに注力頂くため、IaaSに加え、OpenShift環境を提供するサービスを開始し、ソースコード管理、ログ管理、データ管理、認証管理なども今後サービス化する。」と打ち出しており、マネージドサービスの拡充を進めている。
例えば、OpenShift環境を提供するサービスであれば、NECがアドミニストレータとして管理し、前述した万全のサポート体制により安定稼動するOpenShift環境がサービスとして提供される。
また前述の『SystemDirector Enterprise for DevOps open-perspectiveモデル』を活用すれば、サービス利用開始後にすぐにDX実現のためのDevOpsのサイクルを回すことができる。さらにDevOpsやCloud Nativeシステム構築自体もNECをパートナとすれば、DXの実現だけに集中することも可能だ。
「お客様にはDXの肝である”革新的なコトの創造”に集中して頂きたい。デジタル技術そのものはDX実現の手段でしかない。NECは総合力を駆使してお客様と共にDevOpsに取り組み、迅速に安心して利用できるデジタル技術を提供することで、お客様のDX実現に貢献していく」とし、DXの実現を支援するNECの強みを訴えた。
[PR]提供:NEC(日本電気)