IBM クラウド・ビジョン

「オープンなクラウド開発・運用プラットフォーム」でリモート開発の実現をご支援!!

記事をシェアする:

パンデミックの影響により多くのシステム開発プロジェクトが中断を余儀なくされる中で、多くの注目を集めているリモート開発。IBM社内でも製品開発などで実践しており、さまざまなメリットがあることを実感しています。2020年6月、このリモート開発をクラウド上で行えるソリューションとして「オープンなクラウド開発・運用プラットフォーム」の提供を開始しました。オープンソースを中心とするさまざまなツールで事前構成済みのため、短期間で導入してお使いいただけます。

藤田 一郎

藤田 一郎
日本アイ・ビー・エム
Integrated Account CTO
エグゼクティブ・アーキテクト

 

和田 洋

和田 洋
日本アイ・ビー・エム
グローバル・ビジネス・サービス
アジャイル・イノベーション

 

田中 孝清

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

 

IBMも実践して感じた、リモート開発が企業にもたらす幾多のメリット

今回のパンデミックでにわかに注目を集めたリモート開発ですが、実はすでに多くの実績があります。その最大の成功例の1つに、LinuxやMySQLといったオープンソース・ソフトウェア(OSS)の開発プロジェクトが挙げられます。OSSの開発はアジャイルなスタイルで行われるケースが多いことから「小さなチームがコロケーションで(1つの場所に集まって)作っている」というイメージをお持ちかもしれませんが、大規模なOSSは世界中の開発者によるリモート開発で作られているのです。

また、筆者らが参加するオープンなクラウド開発・運用プラットフォームの開発も、当初よりリモートで進められています。その経験も通じて実感したリモート開発の主なメリットとしては次が挙げられます。

(1)プロジェクトに優秀な人材を集めやすくなる

(2)メンバーがそれぞれのワークライフバランスを実現しやすくなる

(3)意思疎通が明確に行えるようになる

(4)(ツールを駆使して)開発生産性を高められる

(5)ノウハウを広く共有できる

(6)大規模なオフィス・スペースが不要になる

(1)プロジェクトに優秀な人材を集めやすくなる
LinuxやMySQLといった大規模なOSSの開発が成功した理由の1つは、世界中から優秀な開発者が参加しているからです。オンサイトの場合、同じロケーションにいる人材からメンバーを選ばなければなりませんが、リモート開発では優れた開発者を各地から集められます。

オープンなクラウド開発・運用プラットフォームの開発も、IBM社内のさまざまな組織からメンバーを募り、フルリモートで進めています。多くのメンバーは互いに直接的な面識がありませんが、それぞれの専門分野のスキルを生かしながら、緊密にコラボレーションして機動的にプロジェクトを進めています。プロジェクト・メンバー間でコミュニケーションを行うためのチャット(Slack)には、コアメンバーのほかに多くのエキスパートが参加し、他のプロジェクトで得た知見など、さまざまなアドバイスをもらっています。

(2)メンバーがそれぞれのワークライフバランスを実現しやすくなる
また、リモート開発ならば、優れたスキルを持つものの「育児中のためオフィスにフル出勤するのは難しい…」「定年退職後なので、ゆとりを持って働きたい」といった方々に、「1日に数時間、あるいは週に1、2日程度、プロジェクトの特定フェーズをサポートしてもらう」といったことが可能になります。働き手不足に悩む企業とワークライフバランスを実現したい開発者の双方にメリットがあるわけです。

(3)意思疎通が明確に行えるようになる
リモート開発では対面によるコミュニケーションが少なく、文書などによる非同期なコミュニケーションが主となります。そのため、各メンバーに何をしてもらいたいかをしっかりと文書化し、明確に伝えるというコミュニケーション・スタイルが必要となります。その結果、リモートであっても確実に意思疎通や情報共有を行いながらプロジェクトを進められるというメリットが生まれます。

(4)(ツールを駆使して)開発生産性を高められる
リモート開発で使う開発環境では、各種ツールを駆使してビルドや構成管理、テストなどの作業を自動化するのが一般的であり、それによって開発生産性を高められることも大きな特徴です。

例えば、IBMではアプリケーション・サーバー「WebSphere Liberty」や業界標準のコンテナ管理ツール「Red Hat OpenShift」など、さまざまな製品の開発を世界各地の開発者が参加してフルリモートで行っています。これらのプロジェクトではOSSなどのツールをフルに活用して作業を自動化することで、高い開発生産性を実現しています。実際、以前は数年ごとの頻度で製品をバージョンアップしていましたが、現在は1〜3カ月ごとに新バージョンをリリースしています。ここまでのスピードアップを図れた理由は、リモート開発を中心とするスタイルを取り入れたからにほかなりません。

(5)ノウハウを広く共有できる
リモート開発では、互いに離れた場所にいる開発者が同じプロジェクトに参加したり、他のプロジェクトのメンバーからアドバイスをもらったりといったことが柔軟に行えるため、オンサイトの開発体制と比べて組織内で広くノウハウを共有/蓄積できます。これにより、組織全体の能力を高めていきやすいことも、リモート開発のメリットだと言えます。

(6)大規模なオフィス・スペースが不要になる
これは経営面の効果と言えるかもしれませんが、リモート開発では大人数を収容する大規模なオフィス・スペースが不要な場合が多く、それによってオフィス賃貸料などのコストを削減できるというメリットがあります。

クラウド上のセキュアなリモート開発環境「オープンなクラウド開発・運用プラットフォーム」

IBMは、パンデミックを機に一極集中型の開発スタイルからリモート開発への移行を検討されているお客様に向け、2020年6月よりオープンなクラウド開発・運用プラットフォームの提供を開始しました。

このプラットフォームは、お客様の開発プロジェクトのメンバーが、自宅やオフィスなどから1つの環境を利用して作業が行えるセキュアなリモート開発環境です。IBM Cloud上に事前構成済みで提供され、開発者は二要素認証と仮想デスクトップ・サービス(VMware Horizon on IBM Cloud)を経てクラウド上の開発環境にアクセスします。

オープンなクラウド開発・運用プラットフォーム上では、LinuxやWindows、Power/AIX、Power/i、z/OS(今後、対応予定)などの仮想サーバーを開発/テスト環境として利用できるほか、今後はRed Hat OpenShiftにも対応する予定です。各種のOSSを組み合わせた継続的インテグレーション(CI)や継続的デリバリー(CD)の環境により、開発作業の多くが自動化されています。チャット(Slack)や課題管理(Jira)、タスク管理(Trello)、ビデオ会議(Cisco Webex)などのツールと連携し、メンバー間で円滑にコラボレーションが行えます。

IBM Cloud上のオープンなクラウド開発・運用プラットフォームの開発環境は、専用線やVPNを介してお客様サイトの本番環境や開発環境と接続することが可能であり、「同プラットフォーム上で開発したアプリケーションをお客様サイトの本番環境に配備する」といった連携も今後実現する予定です。

なお、現状ではアジャイル型の開発プロセスを想定しており、パンデミック以前よりアジャイル開発の導入を検討されていたお客様の多くがオープンなクラウド開発・運用プラットフォームの活用を進めつつあります。ただし、大規模な業務アプリケーションの開発などでは、現在もウォーターフォール型の開発プロセスが有効です。そこで、今後はウォーターフォール型開発への対応も進めるほか、2020年内に国内での提供開始を予定している金融業界向けパブリック・クラウド(IBM Cloud for Financial Services)への対応も計画しています。

オンプレミスでもクラウドでも使えるコンテナ・ベースの開発環境「IBM Cloud Pak for Applications」

オープンなクラウド開発・運用プラットフォームはパブリック・クラウド上のリモート開発環境ですが、開発者がローカルで開発作業を行いたいという場合もあるでしょう。その用途に最適なのが「IBM Cloud Pak for Applications」です。

IBM Cloud Pak for Applications 全体像

Cloud Pak for Applicationsは、Red Hat OpenShiftをベースに各種のOSSやミドルウェアなどをパッケージングしたアプリケーション開発/実行環境です。開発したアプリケーションはコンテナ化し、IBM Cloudやオンプレミス、あるいは他社のパブリック・クラウドなど、どこでも自在に動かすことができます。

Cloud Pak for Applicationsには、事前構成済みのCI/CD環境など、オンプレミスやクラウド上でのアジャイル開発に必要な機能を全て包含した「IBM Accelerators for Teams」が含まれています。

Accelerators for Teamsを使うことで、プロジェクト専用のコーディング規約やテスト環境などを設定した開発環境の雛型を作り、そのコピーをメンバーに配布することで各自の開発環境をスピーディーに準備できます。メンバーはこの環境を使ってローカルで開発作業を行い、コンテナ上のテスト環境を利用してテストを実施します。

テストまで完了した成果物は、オンプレミスやクラウド上にAccelerators for Teamsで作ったプロジェクト・リポジトリーに自動アップロードされます。このリポジトリーではCI/CDツールによりコード検証やビルドなどの作業が継続的に行われます。

なお、Accelerators for Teamsでは今後、開発環境に加えてモニタリングやロギングなどの運用に関する機能も事前構成済みの状態で提供する予定です。

IBMは、現在のパンデミック下のみならず、デジタル変革が加速するニューノーマル時代にお客様が安定してシステム開発が行える開発環境として、オープンなクラウド開発・運用プラットフォームやCloud Pak for Applicationsの機能強化を進めていきます。また、これらの導入を支援するコンサルティング・サービスを提供するほか、「IBM Garage」によるリモート開発やクラウドネイティブ開発のスキル・トランスファーも行っています。リモート開発の導入を検討されているお客様は、ぜひ一度私たちにご相談ください。

関連リンク


特集の続きを読む


More IBM クラウド・ビジョン stories

負荷テストでも大活躍!日本総研様がSMBCグループのDX推進基盤となるクラウドネイティブ環境をInstanaでパフォーマンス監視中

IBM Cloud Blog, IT部門向け, クラウド・アプリ構築...

「コンテナ技術などを用いて構築したクラウドネイティブな環境のアプリケーションのパフォーマンス監視をいかに行うか」──これはクラウドの活用を進める企業が必ず直面する課題の1つだと言えます。その解となるクラウドネイティブ環境 ...続きを読む


クラウドネイティブ環境の運用監視に「Instana」はどう効くのか? 日鉄ソリューションズ様が大規模コンテナ環境で実践中!

IBM Cloud Blog, IT部門向け, クラウド・アプリ構築...

企業のデジタル変革を加速する各種のサービスをアジリティー高く開発し、マイクロサービスなどで効率的に運用していくための基盤として、コンテナ技術の普及が進んでいます。そのコンテナやマイクロサービスなどで構成されるクラウドネイ ...続きを読む


Turbonomic ARM – アプリケーションが必要とするITリソースを柔軟かつ継続的に最適化

IBM Cloud Blog, IT部門向け, クラウド・アプリ構築...

アプリケーションのリソース管理はますます複雑に アプリケーションが必要とする最適なITリソースを継続的に管理 共通のデータモデルと推奨アクションの自動生成・実行 【Turbonomic ARMによるITリソース最適化の事 ...続きを読む