クラウド・ビジョン

企業システム開発にもクラウドネイティブの波。チーム開発を効率化する先進ツールで実践を加速する

記事をシェアする:

クラウドと関連技術を活用したスピーディーな開発により、迅速なアプリケーション提供を実現するクラウドネイティブ開発。あらゆる領域でデジタル変革が進み、ビジネスのスピードが一段と求められる中、それに追随するシステム開発の技術/手法として企業システム開発の領域でも採用が広がっています。本特集記事では、企業が組織的にクラウドネイティブ開発に取り組む際の留意点を説明した後、IBMが提供する最新のクラウドネイティブ開発ソリューションとして、OpenShiftのマネージド・サービス「Red Hat OpenShift on IBM Cloud」とクラウドネイティブ・アプリケーション開発/実行基盤「IBM Cloud Pak for Applications」の特徴と活用メリットを紹介します。

岩品 友徳

岩品 友徳

日本アイ・ビー・エム
クラウド&コグニティブ・ソフトウェア テクニカル・セールス

大手金融機関様へのミッションクリティカル・システムのデリバリーなどを経て、2012年よりWebSphere製品のテクニカル・セールスとして活動。基盤の自動化技術に取り組む中でKubernetesと出会い、Certified Kubernetes Administratorを修得。お客様とともに新たな技術にチャレンジし、新しい世界を作っていくことに喜びを感じている。

 

平岡 大祐

平岡 大祐

日本アイ・ビー・エム
クラウド&コグニティブ・ソフトウェア事業本部
クラウド・インテグレーション・ソフトウェア事業部 テクニカル・セールス

業務系や基幹系システムの設計、開発、運用など広範な業務に従事した後、2017年よりIBM Cloud上でOpenShiftの商用環境の構築/運用業務を担当。以降、コンテナやOpenShiftの業務を多く経験する。現在はテクニカル・セールスとして企業システムのクラウドネイティブ化を支援。著書は『コンテナ・ベース・オーケストレーションDocker/Kubernetesで作るクラウド時代のシステム基盤』(共著/発行:翔泳社)。

 

さまざまな業界で普及が進むクラウドネイティブ開発

昨今、さまざまな業界でクラウドネイティブ開発への関心が急速に高まっています。その根底にあるのは、従来型のシステム開発手法では今日のビジネス・スピードに対応できなくなってきたことへの危機感ではないでしょうか。特に最近は「自社ビジネスの将来も見据えてシステムや開発方法をどう変えていくべきか」について確固たるビジョンを持ってクラウドネイティブ開発に取り組まれるお客様が増えています。

また、以前はフロントエンドのユーザー・エクスペリエンスの改善を目的にクラウドネイティブ開発に取り組むお客様が多く見られましたが、最近はフロントエンドの開発スピード向上に伴ってバックエンドの開発にもスピードが求められるようになり、基幹系システムでもコンテナなどクラウドネイティブな技術を活用したモダナイゼーションに取り組むお客様が増加しています。

例えば、これまでアプリケーション基盤としてIBM WebSphereを利用されていた金融業界のあるお客様は、将来目指すべきシステム像(To Beモデル)に至る第1段階として準基幹系の既存アプリケーションをコンテナ・ベースに刷新されました。

その成果として、従来はテスト環境でも週1回程度だったアプリケーションのリリース・サイクルが1日数回にまで向上しました。これにより、ユーザー受け入れテストを業務部門と行う際、1日に何度もユーザーの指摘事項を修正するといったことが可能となっています。

クラウドネイティブ開発の浸透が進んでいるのは金融業界だけではありません。例えば、製造業のあるお客様は、自社で開発しているAIプラットフォームの基盤としてコンテナを活用しています。その理由は大きく2つあります。1つは、AIなどの先進技術を取り込みやすいこと、もう1つは、同じAI機能を複数のサービスで利用する際、コンテナを複製(コピー)するだけで簡単に横展開できる利便性を評価されたからです。

このほか、テスト環境も含めた運用管理の負担を減らす目的でコンテナを活用した効率化や自動化に取り組まれているお客様も少なくありません。

クラウドネイティブ開発に“企業”として取り組む際に留意すべきこと

このように、先進的なお客様がクラウドネイティブ開発で多くの成果を得る一方、新たに取り組みを開始されるお客様も増えています。そうしたお客様に、ぜひご留意いただきたいことがあります。

▶既存システムのクラウドネイティブ化が中心に
まず、多くのお客様は「クラウドネイティブ開発に初めて取り組むなら新規の開発案件で」と考えますが、そうした案件の数は限られています。大抵は既存システムに対してクラウドネイティブな技術や手法をどう取り入れて開発や運用の効率向上や負担軽減を図り、いかに活用できる基盤にしていくかを検討することが中心となるでしょう。

その際のアプローチも、「既存システムの資産を生かしながら、将来の運用や開発の重荷にならないように変えていく」といった具合になります。

▶OSSもサポートや将来性を重視して選ぶ

クラウドネイティブ開発ではオープンソース・ソフトウェア(OSS)などオープンな技術の活用が鍵となりますが、基幹系システムで使う場合には「製品としてきちんとしたサポートが受けられるか」「将来性がある技術か」といったことを考慮して利用する技術を選ぶことが大切です。

さらに、開発時点では人材に恵まれて素晴らしいシステムを作れたとしても、異動などにより数年後には誰も触れないようなシステムになってしまっては意味がありません。システムを長期間に渡って保守していけるかどうかを考えることも大切です。

▶組織的に取り組む場合は学習コストをいかに抑えるかも重要

コンテナなどクラウドネイティブな技術を使いこなすためには、やはりある程度の学習コストがかかります。そのコストをいかに低く抑えながら現場が使いこなせるようにするかも、特に企業で組織的に活用する際には重要な課題となります。

OpenShiftをマネージド・サービスで使える「Red Hat OpenShift on IBM Cloud」

IBMは、企業へのクラウドネイティブ開発のスムーズな導入と、組織的かつ長期的な活用を支援する多彩なソリューションを提供しています。それらのうち、ここでは「Red Hat OpenShift on IBM Cloud(ROKS)」と「IBM Cloud Pak for Applications」の2つを中心にご紹介します。

ROKSは、業界をリードする商用コンテナ管理基盤であるRed Hat OpenShiftのマネージド・サービスです。ROKSを使うことで、お客様はOpenShiftを用いたインフラの構築や維持、運用、および技術習得の負担を減らし、ビジネス競争力の源泉となるアプリケーションの開発と管理に専念できるようになります。

▶マスター・ノードをIBMが管理し、OpenShift環境の運用負担を大きく軽減

ROKSの大きな特徴は、OpenShiftのマスター・ノードの管理をIBMが行う点です。

Red Hat OpenShift on IBM Cloudのサービス全体像

他社のクラウド・サービスでは、マスター・ノードはお客様の環境に展開されますが、ROKSではIBMの管理領域に展開されます。メンテナンスもIBMが行うため、例えば3カ月ごとのマイナー・リリース時のバージョンアップをお客様が行う必要はありませんし、OpenShiftクラスターの状態監視もIBMが行うため、お客様には運用の負担もかかりません。

筆者の1人である平岡は、前職で大規模なOpenShift環境を構築/運用していましたが、やはり3カ月に一度のバージョンアップは非常に大きな負担でした。自ら試行錯誤しながらコンテナの活用を始めたお客様の中には、この負担に耐えきれずに途中で挫折してしまうケースも見られます。

ROKSなら、その負担を大きく減らせます。例えば、オンプレミスでOpenShiftを使う場合、小規模なチームでもOpenShiftのエキスパートを含めて5、6人のエンジニアが必要となりますが、ROKSならばエキスパートなしの1、2名のチームで同規模の開発/運用が行えるのではないでしょうか。

▶主要なセキュリティー/コンプライアンス基準に準拠

セキュリティー面でも安心です。ROKSでは、お客様専有のハードウェア環境で動作させるベアメタル・サーバーを選べるほか、仮想サーバーについても他のテナントと分離された環境を選ぶことが可能です。

コンプライアンスについても、米国の医療業界を対象にしたHIPAA、クレジットカード業界のセキュリティー基準であるPCI DSS、国際標準化機構のISO 27001、ISO 27017、ISO 27018、サービス受託企業の内部統制基準であるSOCなど、主要な業界基準に準拠しています。

組織的なクラウドネイティブ開発をフルサポートする「IBM Cloud Pak for Applications」

Cloud Pak for Applicationsは、オンプレミスからIBM Cloud、さらには他社のパブリッククラウドまで、OpenShiftが動く環境ならどこでも使えるアプリケーション開発/実行基盤です。Cloud Pak for Applicationsを使うことで、お客様はオンプレミスとクラウドで同じアプリケーション開発/実行基盤をベースにしたハイブリッド・マルチクラウド環境を推進することができます。

OpenShiftだから実現できる「ハイブリッド・マルチクラウド」

Cloud Pak for Applicationsでは、KubernetesをベースとしたRed Hat OpenShiftをコンテナ基盤とし、OSSやWebSphereなどのアプリケーション実行基盤、開発環境をパッケージングしています。コンテナの専門知識が乏しい開発者でもコンテナを活用したアプリケーション開発を容易に始められる機能やツールを提供しています。継続的インテグレーション(CI)や継続的デリバリー(CD)にも対応しており、CI/CDの開発環境も即座に構築できます。

加えて、Cloud Pak for Applicationsはクラウドネイティブ開発やクラウドによるアプリケーション・モダナイゼーションを支援する次のような機能を提供しています。

  • クラウドネイティブなチーム開発を包括的に支援する「Accelerators for Teams」
  • 既存アプリケーションのコンテナ化を支援する「Transformation Advisor]
  • 既存アプリケーションのマイクロサービス化を支援する「Mono2Micro」

IBM Cloud Pak for Applications V4 - 全体像

以下、それぞれの機能の概要を紹介します。

▶Accelerators for Teams ─ OSSによるクラウドネイティブ開発を支援

Accelerators for Teamsは、クラウドネイティブによる新規アプリケーションの開発を支援するツールです。多彩な機能を提供していますが、ここでは大きく3つの特徴を取り上げます。

①クラウドネイティブ開発に必須のOSSを事前構成して提供

新たにクラウドネイティブ開発に取り組むお客様の多くが、OSSを企業システム開発でどう使いこなすかで苦労されます。この課題を解決するのがAccelerators for Teamsです。コンテナ技術など各種OSSを組み合わせてクラウドネイティブ開発の環境を実現するオープンソース・プロジェクト「Kabanero」の成果物をベースにしており、ベンダー固有のツールや技術に依存することなくOSSを用いたクラウドネイティブ開発の環境を整えることができます。

Kabaneroを構成するOSS

②事前に用意されたテンプレートで組織の開発標準を推進

また、Accelerators for Teamsでは企業が開発標準として使える次の要素をパッケージングし、テンプレートとして提供しています。

  • DevSecOpsに対応したCI/CDのパイプライン定義
  • 企業のコーディング標準やパターンを反映したアプリケーション雛型
  • ビルド/テストを行うためのOSSツールセット
  • モニタリング、ロギング、ヘルスチェックなどの運用機能の事前実装
  • 各種のランタイム/フレームワーク
  • Red Hat Enterprise Linuxのベース・コンテナ・イメージ(RHUBI)

アーキテクトは、これらをカスタマイズして自社の開発標準となるテンプレートを作ります。各開発者は、そのテンプレートを使って作業を行うことで、開発環境の準備などに手を煩わせることなく、ビジネス・ロジックの開発に専念できるというわけです。

なお、テンプレートでは、コードのテストやデバッグからOpenShiftへの配備までがOSSツールの「Appsody」などによって自動化されています。

さらに、これらのテンプレートを使った開発作業を加速するために、IDEプラグインとして実装された開発支援ツール「Codewind」も提供しています。

③定義済みのワークフローを提供

3つ目の特徴は、開発者などのチーム・メンバーがローカルで行う作業から運用までの作業を事前定義したワークフローが用意されていることです。具体的には、前出のテンプレートやAppsody、CI/CDパイプラインなどを組み合わせることで、開発から運用までの作業が全てワークフロー化されています。

Accelerators for Teams ローカル/チーム開発から運用まで定義済みのワークフロー

そのため、新たに加わった開発メンバーも、フローに沿ってベテラン・メンバーと同じように作業できます。こうした開発フローを組織に導入する場合、社外のコンサルタントなどに依頼して整備するケースが多いでしょう。Accelerators for Teamsを使えば、IBMが蓄積した大規模開発のノウハウも凝集したワークフローをすぐに活用できるのです。

▶Transformation Advisor ─ 既存Java EEアプリケーションの棚卸しと分析を支援

既存アプリケーションをクラウドに移行してモダナイズする際には、まず現状を棚卸ししてアプリケーションを分析し、どの部分からどのように移行するかの優先順位付けを行いますが、全く経験のない企業がこれらの作業を行うのは困難です。外部のコンサルタントなどに作業を依頼するケースが多いでしょう。

その現状分析の作業を支援するツールがTransformation Advisorです。同ツールを使うことにより、Java EEアプリケーションに対して「移行の複雑度」や「修正が必要なコードの量」「移行負荷の見積り」「アプリケーションの内部構成」などを分析し、そのままコンテナ化が可能か、コードの修正が必要か、あるいはアプリケーション全体の書き直しが必要かを判定することができます。

Transformation Advisor

主要なJava EEアプリケーション・サーバーからの移行をサポートしているほか、OpenShiftに載せるための各種ファイルも生成するので、アプリケーションを修正したら同ファイルを使ってスムーズにコンテナ環境に移行できます。

▶Mono2Micro ─ AIが既存アプリケーションのマイクロサービス化を支援

Mono2Microは、AIによって既存アプリケーションのマイクロサービス化を支援するツールです。東京基礎研究所も開発に参画しています。

既存アプリケーションをマイクロサービス化する際には、アプリケーション内にどのような機能が存在し、どのようにデータがやり取りされているのかを分析して分割の仕方を検討しますが、これも経験のない企業が行うのは困難です。

Mono2Microは、モノリシック(一枚岩型)な構造の既存アプリケーションをAIで分析し、どのように分割すればマイクロサービス化できるかのレポートを生成します。その分析結果を参考にして開発者が修正することで、適切にマイクロサービス化できるというわけです。(ベータ版 :2020年10月16日時点)

Mono2Micro

 

ビデオやチュートリアルなど、クラウドネイティブ開発を学ぶためのリソースも充実

このように、IBMは企業における組織的なクラウドネイティブ開発を支援する強力なツールとサービスを提供しているほか、これらを用いた開発を行うための基本知識や実践的なノウハウを学ぶ場も提供しています。

Cloud Pak for Applications デモサイト ─ 無償のビデオ・チュートリアルとハンズオンを提供

このデモサイトでは、Transformation AdvisorやOpenShiftを利用したアプリケーションの分析やコンテナ作成などに関するビデオ・チュートリアルやハンズオンを多数ご用意しています。ビデオ・チュートリアルには日本語字幕を用意していますし、ハンズオンではOpenShiftやTransformation Advisorが無償で提供され、実際にこれらのツールを使いながらアプリケーションの分析方法やコンテナ・アプリケーションの開発を体験できます。開発者の自習に最適なサイトですから、ぜひご活用ください。

Code Patterns ─ 商用利用も可能なコード・パターンを無償提供

IBMが作成したコード・パターンを無償で提供するWebサイト「Code Patterns」もご利用いただけます。

Code Patterns

Code Patternsでは、例えば「セキュアなマイクロサービス・ベースのバンキング・アプリケーションを構築する」「過去の購入行動に基づいて追加購入を促す、機械学習レコメンデーション・エンジンを作成する」「Red Hat Universal Base Image を使用して、サンプル為替アプリを OpenShift にデプロイする」といったユースケースを実装する際の処理フローの説明と具体的なコード、動画などを提供しています。コードはGitHubでオープンソースとして公開しており、自習に使えるほか、Apache License 2.0に基づいてお客様の商用プロジェクトでご利用いただくことも可能です。

IBM Developer Dojo ─ 厳選されたテクノロジーを基礎から応用まで学べる毎週開催の勉強会(オンライン開催)

「IBM Developer Dojo」とは、毎週水曜日に開催している勉強会です。IBMの社員有志の協力も得て開催されているもので、例えばOpenShiftやCloud Pak for Applications、Watsonなど、クラウドネイティブ開発に役立つテクノロジーに関するセミナーやハンズオンワークショップなどをお届けしています。参加費は無料(IBMアカウントの作成が必要)で、現在は全ての勉強会がオンラインで開催されていますので、どこからでも参加することができます。

IBM Developer Dojo

IBM Garage ─ クラウドネイティブ開発の組織的な習得や実案件への適用を支援

加えて、IBMはお客様とともにクラウドネイティブなど新たな開発手法を実践しながらアプリケーションやサービスを創り上げるサービスとして「IBM Garage」も提供しています。デザイン・ワークショップやペア・プログラミングなどを行いながらMVP(Minimum Viable Product)を開発したり、あるべき運用の姿をお客様とともに実施し、さらにスキル・トランスファーまで行ったりといったことも可能です。

以上、今回はクラウドネイティブ開発に取り組むお客様に向けてIBMが提供している2つのソリューションとしてROKSとCloud Pak for Applicationsをご紹介しました。OSSなど業界標準の技術をフルに活用したこれらのツール/サービスを、ぜひお客様のクラウド活用の基盤としてご活用ください。

関連リンク


More クラウド・ビジョン stories

エッジコンピューティングの最大の課題は「多種多様かつ膨大なエッジデバイス上で稼働するアプリケーション管理」。効率的な管理基盤をどう実現する?

IT部門向け, クラウド・ビジョン

エッジコンピューティングが従来の企業コンピューティングと大きく異なる点の1つは、さまざまな場所で稼働する多種多様かつ膨大なエッジデバイスやエッジゲートウェイサーバーなどに対するアプリケーションやデータ分析用AIモデルの配 ...続きを読む


どこからでも業務を継続できるDesktop as a Serviceをポスト新型コロナ時代の標準デスクトップに

CIO|CTO向け, クラウド・ビジョン

新型コロナ問題の先行きが不透明な現在、事業継続施策の一環として、感染症や自然災害などのリスクに対応し、自宅などからリモートでオフィス業務を行えるテレワーク・ソリューションを本格的に導入しようという機運が各業界で高まってい ...続きを読む


多くの企業に最適なテレワーク・ソリューションは? IBM Cloudに専有のVDIサービス「VMware Horizon Enterprise on IBM Cloud」が登場

IT部門向け, クラウド・ビジョン

「どうせVMware Horizonを使うのなら、どこのベンダーのクラウドも同じ」とはいかないのがテレワーク・ソリューション選定の落とし穴です。具体的にどのようなポイントに注意すべきか? また、IBMが提供する最新の「V ...続きを読む