目次


Bluemix と DevOps Services を利用する理由のトップ 10

Bluemix がクラウド開発者に最適な理由を知る

Comments

IT で起こっているクラウド革命について聞いたことがないとしたら、この 3 年の間、洞窟の中に住んでいたか、別の惑星に住んでいたに違いありません。今やクラウドはあらゆるところに偏在し、情報を保管および共有する方法を大々的に変えています。クラウド・コンピューティングは否応なしに、組織に新しいビジネス・モデルを適用させ、チームはアプリケーションの開発方法や提供方法をまったく新しい方法に変えなければなりません。クラウド・アプリケーションを作成してデプロイする計画を立てているとしたら、IBM Bluemix を検討すべきです。この記事では、その理由のうち 10 個を紹介します。モバイル・アプリケーションと Web アプリケーションを広範にサポートする Bluemix には、次の素晴らしいアイデアを発展させるために必要なすべてのサービスが揃っています。

1. クラウドが主流になっていること

柔軟性の向上、コストの削減、そして IT イノベーションの実現を目的に、クラウドに移行する企業が後を絶ちません。クラウド・コンピューティング (クラウド) を構成する主要な層には、以下の 3 つがあります。

  • IaaS (Infrastructure as a Service): ハードウェア、ストレージ、およびネットワークの機能を提供する土台の層です。
  • PaaS (Platform as a Service): クラウド・アプリケーションを作成して提供する場所となる中間層です。
  • SaaS (Software as a Service): ビジネス・サービスをコンシューマーに提供する最上位層です。

IBM Bluemix は、アプリケーションを作成、実行、管理するためのクラウド・プラットフォームです。Bluemix では、モバイル開発者と Web 開発者の両方が、IBM やサード・パーティー・プロバイダーによる既存のサービスを簡単に組み立てることができます。

Bluemix の一部となっている Bluemix DevOps Services を利用すれば、スケーリングできるオープンな統合環境で、チームが迅速に開発作業を進められます。この SaaS は、クラウド内でより優れたアプリケーションを作成できるよう、コラボレーションによるプランニング、継続的インテグレーション、継続的デリバリーをサポートしているためです。

Bluemix は、オープンソース PaaS の Cloud Foundry をベースとしていて、この層でデータ管理、インテグレーション、ワークロード管理などのミドルウェア・サービスを提供しています。Bluemix に用意されているエンタープライズ・レベルのサービスは、クラウド・アプリケーションに簡単に統合することができます。また、クラウド・インフラストラクチャー (ストレージ、ネットワーク、クラスタリング、仮想化など) のプロビジョニングも迅速かつ容易に行えるようになっているため、開発チームはインフラストラクチャーの詳細 (ハードウェア、ストレージ) について気にする必要がなくなり、真に重要なこと、つまりビジネス価値を顧客にもたらすことに専念することができます。

2. マイクロサービス・アーキテクチャー

マイクロサービス・アーキテクチャーとは、個々にデプロイ可能な独立した小さいサービスから複雑なアプリケーションが構成される、ソフトウェア・アーキテクチャー・スタイルのことです。マイクロサービスの中心となる発想は、モノリシックなアプリケーションを粒度の細かい疎結合のサービスに分割することで、柔軟性、デプロイの容易さ、スケーラビリティーを向上させるというものです。以下のイメージ図には、より簡単に水平スケーリングを行えるよう、組織がモノリシックなアプリケーションから粒度の細かいマイクロサービスへと移行すると、どのようになるかが示されています。

より簡単に水平スケーリングを行えるようにする、粒度の細かいマイクロサービスのイメージ図
より簡単に水平スケーリングを行えるようにする、粒度の細かいマイクロサービスのイメージ図

この普及しつつあるマイクロサービス・アーキテクチャーは、Bluemix プラットフォームでサポートされています。成功を収めた数多くの企業は、クラウド内でより優れたアプリケーションを提供するために、このモジュール式アプローチを採用しています。

Bluemix では、特定のビジネス機能を表すサービスを作成し、公開できるようになっています。公開されたサービスは、クラウド・アプリケーションを構成するために利用することができます。そうして作成した Bluemix アプリケーションは、Web サービスまたはメッセージ・ブローカーを介して別のアプリケーションと統合することさえできます。

Bluemix は、サービスの定義から公開、そして管理までのすべてを一貫してクラウド内で行える環境を提供します。

3. 再利用可能なサービスが豊富に揃ったカタログ

ソフトウェアの再利用は、時間を節約する最善の手段です。開発チームは、他の人によって既に作成されてテストも済んでいるアセットを利用したがるはずです。Bluemix はカタログを介して、クラウド・ソリューションの機能を構成または拡張するために再利用可能なサービスを提供しています。つまり、チームはこのプラットフォームを利用して、セキュリティー・サービス、メッセージング・サービス、トランザクション・サービス、またはインテグレーション・サービスでアプリケーションを増強。することができます

この記事を執筆している時点で、Bluemix カタログには、IBM、サード・パーティー・ベンダー、クラウド・コミュニティーによって作成された、75 を超えるサービスが揃っています。Web アプリケーション、モバイル・アプリケーション (iOS または Android)、あるいはハイブリッド・クラウド・ソリューションのどれを構築する必要がある場合でも、利用できる数々のサービスが見つかるはずです。データ管理またはビッグ・データ管理が必要であれば、Bluemix には異なるニーズに対応するさまざまな選択肢 (SQL DB、NoSQL DB、大規模分散ストレージなど) が用意されています。セキュリティーの懸念があるとしたら、スキャニング・サービスを利用して、アプリケーションに潜む脆弱性を発見することができます。端末を接続したり、コグニティブ機能を利用したりするなら、Bluemix によるモノのインターネットの機能と、Bluemix で利用可能な各種の Watson サービスをよく検討してください。

目的が何であれ、Bluemix はアプリケーションを簡単かつ迅速に提供するための豊富なサービスを揃えています。

Bluemix カタログから抜粋したスクリーンショット
Bluemix カタログから抜粋したスクリーンショット

4. IBM DevOps に合わせたアプローチ

IBM DevOps とは、組織がイノベーションにフォーカスすること、そしてソフトウェア・デリバリーを迅速化することを可能にする、継続的ソフトウェア・デリバリーのためのエンタープライズ機能です。IBM DevOps では、デリバリー・プロセスの迅速化かつ効率化を推進するために、アプリケーションの計画、開発およびテスト、デプロイ、運用の個々のプラクティスを推奨しています。

Bluemix はアプリケーションのライフサイクル全体をサポートし、継続的プランニング、コラボレーティブな開発とテスト、継続的デプロイ、監視および最適化などを対象としたサービスを提供しています。Bluemix を利用すれば、リーン原則やアジャイル原則に従って継続的ソフトウェア・デリバリーを行うクラウド・ソリューションを、実現することができます。IBM DevOps では、より短時間で市場に公開するために、4 つの導入パスに従って、継続的ソフトウェア・デリバリーを実現するようになっています。

4 つの IBM DevOps 導入パスを示す図
4 つの IBM DevOps 導入パスを示す図

5. ハイブリッド・クラウド戦略のサポート

ほとんどの組織は、使用している環境をまるごとクラウドに移行することはしません。一部のシステムについては、セキュリティー上の理由や、ネットワークの制約により、ローカルの物理サーバー上 (オンプレミス) にそのまま保持するという決定を行う場合があります。あるいは、単にチームに移行の準備が整っていないという理由で、そうする場合もあります。これはつまり、多くの組織にとって真に必要となるのは、ハイブリッド・クラウドであることを意味します。ハイブリッド・クラウドは、オンプレミスのサービスとクラウド・サービスを混在させて、2 つのプラットフォーム間でのオーケストレーションによって利用します。

Bluemix では、ハイブリッド・クラウドをサポートするために、以下に挙げる複数のモデルを用意しています。

  • 「Public (パブリック)」モデルには、パブリック・クラウドでアプリケーションの開発を開始する際に必要となる柔軟性があります。
  • 「Dedicated (専用)」モデルでは、IBM によってホストされ、管理されるプライベート・クラウドのセキュリティーを強化し、より詳細に制御することができます。
  • 「Local (ローカル)」モデル (2015年の夏に利用可能になる予定) は、極めて機密性の高いデータに対応する、企業のファイアウォールの背後に位置するプライベート・クラウドです。

さらに統合サービスによって、クラウド・アプリケーションを随時、オンプレミスで稼働する企業の基幹システムと接続することができます。Bluemix は、企業のハイブリッドのニーズを満たす、あらゆるクラウド・オプションを提供しています。

ハイブリッド・クラウドのパブリック、プライベート、およびオンプレミス・ソリューションを示す図

6. クラウド内の総合的なコラボレーティブ環境

クラウド・コンピューティングとマイクロサービス・アーキテクチャーの組み合わせは、数々の大きなメリット (柔軟性、再利用、粒度) をもたらします。しかし同時に、新しい課題も持ち上がってきます。具体的には、次第にバージョンが増えていくサービスをデプロイ、保守、インテグレーションしなければなりません。そこでチームに必要となってくるのが、効率的に連携して作業し、高品質のアプリケーションを実現することを可能にする堅牢な環境です。

IBM Bluemix DevOps Services を利用することで、チームは 1 つの場所でソフトウェアを開発、追跡、計画、デプロイすることができます。プロジェクトから、あらゆるタイプのアプリケーションを構築するために必要な、あらゆる要素にアクセスできるようになります。アプリケーションをビルドした後、IBM Bluemix クラウド・プラットフォームにデプロイすることも可能です。IBM Bluemix DevOps Services は、以下に挙げるコア機能を提供します。

  • 「TRACK & PLAN (追跡 & 計画)」サービスによるアジャイル・プランニング
  • Web ブラウザーからソース・コントロールを編集、管理できる Web IDE
  • Git、Jazz SCM、GitHub によるソース・コントロール管理 (SCM)
  • 「Delivery Pipeline (デリバリー・パイプライン)」サービスによって自動化されたビルドおよびデプロイ

このように強力なコラボレーション環境では、ものの数分で、ソース・コードをクラウド・アプリケーションとして稼働状態にすることが可能です。以下に、IBM DevOps Services に備わっている主要な 4 つの機能を示します。

IBM DevOps Services に備わっている主要な 4 つの機能のスクリーンショット
IBM DevOps Services に備わっている主要な 4 つの機能のスクリーンショット

7. 開発チームのための柔軟性

すべての組織がシステムをクラウドに移すわけではないのと同様に、すべての開発者が Web ブラウザーだけを使ってアプリケーションを作成して提供するわけではありません。チームによっては、デスクトップ上のローカル環境で開発作業を行うという方法を選ぶこともあります。

チームで現在 IBM Rational Team Concert を利用しているとしたら、Bluemix DevOps Services プロジェクトに接続するのは至って簡単です。チームが作成したソース・コードやさまざまなワークアイテムに、デスクトップからアクセスして作業と進捗状況を追跡することができます。

また、Eclipse クライアントから Bluemix に接続して、JavaScript、WAR (Web アーカイブ)、EAR (エンタープライズ・アーカイブ) ファイルとパッケージ化された Liberty プロファイル・サーバーを Bluemix クラウドにデプロイすることもできます。

それでもなお、チーム・メンバーによっては、使い慣れたテキスト・エディターで一連のコマンド・ラインを使った方が、生産性が上がることもあります。その方法も、Bluemix ではサポートされます。Cloud Foundry コマンド・ライン・インターフェースを使用して、アプリケーション、サービス・インスタンス、サービス・バインディングに変更を加えられるようになっているのです。また、単純なテキスト・エディターを使ってコードを作成することもできます。

チームは、クラウド内の総合的なコラボレーティブ環境 (Bluemix DevOps Services) の他に、Rational Team Concert、Eclipse 環境、または単純なテキスト・エディターを使ってローカルで作業するという選択肢が与えられます。したがって、同じプロジェクト内で、一部のメンバーは使い慣れたローカル環境を使い続けながらも、他のメンバーは完全にクラウド内で作業することができるというわけです。

IBM Bluemix に接続する複数のクライアントを示す図
IBM Bluemix に接続する複数のクライアントを示す図

8. 多言語プログラミング

マイクロサービスのもう 1 つのメリットは、複数のプログラミング言語を使ってアプリケーションを作成できることです。REST API として公開されたサービスには、同じテクノロジーを使用してアプリケーションのすべてを開発しなければならないという制約はありません。プログラミング言語を混用し、対処しなければならないそれぞれの問題ごとに、最適なプログラミング言語を使用することができるのです。

Bluemix には、思いのままに選択した言語でアプリケーションを実行できるように、一連のランタイムが用意されています。選択肢の例には、Java、Node.js、Ruby があります。モバイル・アプリケーションを作成するとしたら、iOS 8、Android、ハイブリッド、JavaScript を含め、多数のプラットフォームから必要なプラットフォームを選択することができます。

Bluemix では、さまざまなチームがそれぞれに異なるプログラミング言語をベースに開発したサービスをアセンブルすることができます。

IBM Bluemix で利用できるランタイムのスクリーンショット
IBM Bluemix で利用できるランタイムのスクリーンショット

ランタイムは、上記に示されているものだけに限られてはいません。今後、さらに多くのプログラミング言語がサポートされる予定です。その 1 つとして、IBM は Bluemix で試験的に ASP.NET 5 をサポートすることを発表しました。必要な言語が見つからない場合は、ビルドパック機能を利用して、独自のランタイムを Bluemix 上に導入することもできます。多言語プログラミングは多くの組織が必要としていますが、Bluemix のクラウド・ソリューションでは、それが現実のものとなります。

9. 数分で作成できるプロトタイプ・アプリケーション

開発者としての皆さんは、環境が構成されるまで何もできずに待つのがどれほど苛立たしいかをご存知のはずです。コードを完成したものの、サーバーがまだ用意されていないために、完全にテストできないことがあります。デプロイすることはできても、ニーズをサポートするように構成されているデータベースがないこともあります。

Bluemix では、こうしたことは過去のものとなります。Bluemix では、わずか数分で開発環境を構築して構成することができます。デプロイするサーバーやメッセージング・システム、あるいはコードをテストするためのデータベースが必要ですか?ご心配なく。適切なサービスを Bluemix ダッシュボードに追加するだけで、すぐに使い始めることができます。

クラウド・アプリケーションにバインドされた複数のサービスのスクリーンショット
クラウド・アプリケーションにバインドされた複数のサービスのスクリーンショット

Bluemix を使用すれば、これまでになく簡単に、開発環境やプロトタイプを作成するための環境を作成することができます。その環境には、数回クリックするだけで必要なデータベースを追加して、その途端に使い始めることができます。ビジネス・ルール・エンジン、メッセージング・プロバイダー、あるいは Java アプリケーション・サーバーがクラウド内に必要だとしても、このプロセスは同じです。

さらに一歩進めて、Bluemix 環境全体のプロビジョニングを自動化することさえできます。作成したアプリケーションを他の開発者と共有したいという場合を考えてみてください。それも、「Deploy to Bluemix (Bluemix にデプロイ)」サービスを利用すれば簡単なことです。Bluemix ユーザーが 1 回クリックするだけで、プロジェクトの複製から、ソース・コード・リポジトリーのクローン作成、デリバリー・パイプラインの作成、アプリケーションのデプロイまで完了します。

1 回のクリックで作成されてデプロイされるプロジェクトのスクリーンショット
1 回のクリックで作成されてデプロイされるプロジェクトのスクリーンショット

自分で試してみてください

下のボタンをクリックして、いかに簡単かつ迅速に環境を構成してプロビジョニングできるかを確かめてください (有効な Bluemix アカウントが必要です)。この例で作成されるのは、データ管理プロトタイプです。YummyShopping というこの Node.js アプリケーションは、IBM Cloudant データベースに接続してアイテムを保管します。

Bluemix を利用すれば、面倒な環境のプロビジョニングや手間のかかる構成を一切忘れて、ビジネス価値をもたらすための開発およびイノベーションだけに集中できます。

10. 容易なデプロイ

あらゆる開発チームと同じく、クラウド向けのアプリケーションを開発するチームにしても、アプリケーションをデプロイしてテストする作業を頻繁に繰り返さなければなりません。アプリケーションをクラウドにプッシュするプロセスは、単純で迅速に行われるものであるべきです。

そのために、Bluemix には、基本的なコマンド・ライン (Cloud Foundry cf push) から先進的なデリバリー・パイプラインに至るまで、クラウド・アプリケーションをデプロイするためのさまざまな手段が用意されています。

DevOps パイプラインを使用すれば、ビルドとデプロイを自動化して、継続的インテグレーションと継続的デリバリーをサポートすることができます。コードの変更がチームのリポジトリーに配信されると、2、3 のステップで自動的にビルド、テスト、デプロイが行われるように環境を構成することができるのです。

ビルド・ステージ、開発ステージ、および本番ステージのパイプラインのスクリーンショット
ビルド・ステージ、開発ステージ、および本番ステージのパイプラインのスクリーンショット

DevOps のアプローチで重点が置かれているのは、ソフトウェア開発者とシステム運用チームの間の連携です。Bluemix は、DevOps のニーズをすべてサポートし、クラウドへのデプロイを簡単かつ効率的なものにします。

まとめ

この記事では、Bluemix と Bluemix DevOps Services を使用する理由としてとして、以下の 10 個を紹介しました。

  1. クラウドが主流になっていること
  2. マイクロサービス・アーキテクチャー
  3. 再利用可能なサービスが豊富に揃ったカタログ
  4. IBM DevOps に合わせたアプローチ
  5. ハイブリッド・クラウド戦略のサポート
  6. クラウド内の総合的なコラボレーティブ環境
  7. 開発チームのための柔軟性
  8. 多言語プログラミング
  9. 数分で作成できるプロトタイプ・アプリケーション
  10. 容易なデプロイ

もう 1 つ、Bluemix を使用するおまけの理由があります。それは、サービスの無料プランです。Bluemix の多くのサービスは無料で利用できます。また、フリーミアム・オファリングも多数あるため、ある特定の範囲まで無料でサービスを利用することができます。

したがって、まったくコストをかけずに、クラウド・アプリケーションをビルド、デプロイ、管理できる場合もあります。Bluemix の料金見積もりパネルで、毎月の推定料金を調べてください。

料金見積もりパネルのスクリーンショット
料金見積もりパネルのスクリーンショット

さらに追加のサービスやリソースが必要になったとしても、従量課金モデルに従って、無料で利用できる分を超えた場合にのみ料金が請求されるようになっています。

クラウド開発者としてモバイル・ソリューション、Web ソリューション、またはハイブリッド・ソリューションを開発することになったら、ぜひ、IBM Bluemix にアクセスして、次のクラウド・アプリケーションを作成するために利用できる多種多様なサービスを調べてください。


ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=DevOps, Rational, Cloud computing
ArticleID=1014755
ArticleTitle=Bluemix と DevOps Services を利用する理由のトップ 10
publish-date=09172015