IBM Cloud Blog

IBM Cloud Code Engine : クラウドをもう一度ご活用ください

記事をシェアする:

この投稿は、2020年9月22日に、米国 IBM Cloud Blog に掲載されたブログ(英語)の抄訳です。

 

新しい IBM Cloud Code Engine とそのメリットをご紹介します

2020年9月、IBM Cloud Code Engineを発表しました(参考:IBM Cloud Code Engine のベータ版がリリース)。IBM Cloud Code Engine は、すべてのクラウド・ネイティブ・ワークロードをホスティングするための最新のプラットフォームです。IBM Cloud Code Engine は、開発者中心のユーザー・エクスペリエンスで、Web アプリケーション、サーバーレス機能、バッチ・ジョブのホスティングなどすべてをサポートするように設計されています。これが何を意味するのかを探ってみましょう。

 

クラウド・コンピューティングの目的

まず、クラウドコンピューティング革命の最大のポイントの1つは、ユーザー・エクスペリエンスの簡素化であったことを思い出してみましょう。クラウドコンピューティングは、セルフサービスモデル、基盤となるインフラストラクチャの複雑さを抽象化するというアイデアにより、私たちの生活を楽にし、最終的には生産性を向上させることをめざしていました。その目的は果たして実現したのでしょうか?

この質問に答えるには、ワークロードをホスティングする方法を選択する際に、人々が考える必要のあるすべての意思決定を検討する価値があるかもしれません:
  • Cloud Foundry のようなプラットフォームの使いやすさを求めるか?
  • Kubernetesの柔軟性とパワーを求めるか
  • サーバーレスコンピューティングのようなダイナミックな機能に興味があるか?
  • ワークロードが従来の HTTP Web用のモデルに適合しない場合はどうすればいいか?

 

それぞれの決定には、それぞれの利点とコスト伴っています。機能が豊富なものもあれば、複雑さを伴うものもありますが、ユーザーエクスペリエンスがシンプルなものは機能が制限されていることが多いです。また、プラットフォームの所有者が行った実装の仕様に基づいてさらに制約があるものもあります。さらに、業界ではモノリスアプリケーションをマイクロサービスに分割することを推奨しているため、これらのコンポーネントのすべてが同じプラットフォーム上でホスティングされていない可能性あります。したがって、異なるタイプのホスティングプラットフォームに分散されいる場合、どれだけ簡単に統合できるでしょうか?

そして、これらの懸念のほかに、管理の課題もあります。選択されたプラットフォームの種類ごとに、おそらく非常に異なるCI/CDワークフローを定義する必要があるでしょう。これらの選択の中で、インフラストラクチャを管理するために多大な時間とリソースを必要とするものはどれでしょうか?これらの選択に基づいて、利用中のアプリケーションのうちどのようなアーキテクチャやデザインの選択を変更する必要があるのでしょうか?

結局、「クラウドコンピューティングの目的」はまだ本当に達成されたとは言えないのではないでしょうか。多くの点で、人々はこれらの選択をしなければならないことに慣れてしまい、それに伴うコストを背負って生きてきました。しかしIBM Cloud Code Engineがあれば、すべて変わるでしょう。

 

IBM Cloud Code Engine: 本来の目的へ

もし、このような選択をする必要がなかったとしたらどうでしょう。その代わり、ホスティング環境にワークロードを与え、本当に必要な場合に限り、ワークロードが必要とするランタイム特性を指定することができるとしたらどうでしょうホスティング環境をどうやって利用するかに時間を費やすのではなく、必要なセマンティクスを要求し、プラットフォームがそれを実行する方法を考え出してくれるとしたらどうでしょう一言で言えば、それこそがIBM Cloud  Code Engine の目指すところであり、開発者をインフラストラクチャのスペシャリストではなく、開発者本来の業務に戻すことにあります。

 

IBM Code Engineは、すべてのクラウド・ネイティブ・ワークロードをホスティングするためのIBMのプラットフォームです。PaaS、CaaS、サーバーレス、バッチ・ワークロードに必要なすべての機能を1つのプラットフォームに統合しています。また、すべての機能を管理されたパブリック・ホスティング環境で提供します。つまり、すべてのインフラストラクチャとその管理を心配する必要はありません。さらに、IBM Code Engineは “従量課金“モデルを採用しているため、実際に使用したインフラストラクチャー・ リソースに対してのみ支払いいただくことができます

 

では、Code Engineが提供するものについて説明しながら、この意味を探っていきましょう:
  • オープン・ソースで構築: IBM Cloud Code Engineは、最も人気のあるクラウド・ネイティブのオープンソース技術、たとえはKubernetes, Knative,  Istio, Tektonなどを利用しています。IBM Cloud Code Engine は独自の簡素化されたユーザー・エクスペリエンスを導入していますが、どうしても UX を回避する必要がある場合は、それが可能なのです。Kubernetesのデータ・モデルの複雑さに対応したい場合は、既存の展開スクリプトはCode Engine上でも動作するはずです。 
  • シンプルな展開モデル: Kubernetesはそのシンプルさゆえにあらゆるコンテナの中でも優位性をもっています。しかし、Kubernetesが提供するすべての機能を備えているからといって、システムのユーザーがすべてのユースケースでその複雑さを管理しなければならないわけではありません。そこで、前項で述べたように、IBM Cloud Code Engineはシンプルなケースを最小限の労力で解決できるようにすることを目的とした、シンプルなユーザーエクスペリエンスを開発しました。より高度な機能を使用することを選択して初めて、より洗練されたオプションに触れることができます。ほとんどの機能はそのまま利用できますが、IBM Cloud Code Engineとの違いは、プラットフォームが提供しているからというだけではなく、自分の専門的なニーズに基づいて、特定の機能を表示するタイミングを選択できるようになっている点にあります。
  • 自動スケーリング機能と同時実行管理機能: IBM Cloud Code Engine では、対象となる負荷に基づいてアプリケーションを自動スケーリングする機能があります。つまり、アプリケーションに送信されるトラフィックが増えると、IBM Cloud Code Engine は自動的にスケールアップし、フローが減少すると再びスケールダウンします。ゼロになることもあります。ただし、これは利用者が調節可能です。シンプルな設定ノブを使って、IBM Cloud Code Engine にアプリのスケーリングの強さや弱さ、さらにはどのくらいの速さでスケーリングするかを指示することができます。一度に 1 つのリクエストしか処理できないのか、それとも何百ものリクエストを処理できるのか、も指定できます。ワークロードに応じて複雑なコンポーネントをインストールする必要はなく、フラグを設定するだけで IBM Cloud Code Engine が処理してくれます。
  • ソースからイメージまで: コンテナイメージを作成することがワークフローの一部になっている人もいますが、そうでない人にとっては面倒な作業に過ぎないかもしれません。IBM Cloud Code Engine では、アプリの展開方法を選択することができます。既存のコンテナイメージを IBM Cloud Code Engine に指定することもできますが、ソースコードを直接(Git repo 経由で)提供することもでき、コンテナ イメージの構築と管理は IBM Cloud Code Engine が代行します。IBM Cloud Foundryに慣れている人は、安心ください。 
  • バッチ・ワークロード: 多くのワークロードは HTTP ベースまたはイベントベースのもので、入ってくる HTTP リクエストメッセージに反応しますが、そうでないものもあります。例えば、バッチジョブは通常の HTTP リクエストを経由してトリガーされないことが多く、その代わりに手動プロセスや時間ベースのトリガーによって開始されます。処理が終了すると、別のトリガーを待つのではなく、単にシャットダウンします。このようなタスクは、しばしば Run-to-completion タスクと呼ばれています。IBM Cloud Code Engineはこれらのタスクもサポートしています。 
  •  IBM Cloud Servicesとの統合: IBM Cloud Code Engineはホスティング型の提供なので、IBM WatsonIBM Db2など、IBMが提供するすべてのサービスにクラウドからアクセスできます。これらのサービスとの統合は、IBM Cloud Code Engineの他の機能と同様にシームレスで簡単です。 
  •  セキュリティー機能の組込み: どのようなワークロードにおいてもセキュリティは重要です。そのため、余分な設定を必要とせずに、自動的にSSL保護が組み込まれています。IBM Cloud Code Engineは、SSL証明書の作成と配備を自動的に管理します。 

全ての機能を統合

IBM Cloud Code Engine は上記のような素晴らしい機能をシンプルなUXでまとめています。Kubernetes の使用に慣れている人は、ぜひ上記の機能をすべて有効にするにはどれだけの時間と学習が必要か想像してみてください。しかし、IBM Cloud Code Engineを使用すると、数分でインターネット上で利用可能な自動スケーリングされた完全に安全なワークロードを持つことができます。

さらに詳しいことは

IBM Cloud Code Enginのご利用を実際にご検討いただくのに役立つ情報へのリンクをいくつか紹介します:

 


翻訳:IBM Cloud Blog Japan 編集部

*このブログは、2020/9/22に発行された “IBM Cloud Code Engine: Enjoy Your Cloud Again ”(英語)の抄訳です。
More IBM Cloud Blog stories

Db2® Warehouse on Cloud (IBM Cloud®) のメジャー・アップグレード

Db2, Hybrid Data Management, IBM Cloud News...

注)以下の記事は英語版ブログ「A major upgrade to Db2 Warehouse on IBM Cloud」(2024年6月26日公開)を翻訳したものです。 Db2® Warehouse on IBM Cl ...続きを読む


IBM Cloud は 通常通り 稼働しております

IBM Cloud News, IBM Cloud アップデート情報, 重要情報

IBM Cloud は通常通り稼働しております   6月25日現在、下記の通り弊社幕張事業所データセンターで障害が発生している旨のご報告をしておりますが、IBM Cloud (cloud.ibm.com)  は ...続きを読む


NLP・NLU・NLG: 自然言語処理における 3 つの 概念の違い

IBM Cloud アップデート情報, IBM Data and AI, IBM Watson Blog

自然言語処理 (NLP)、自然言語理解 (NLU)、および自然言語生成 (NLG) は、すべて相互に関連するものの、別々の概念です。大まかに言えば、NLU と NLG は NLP の構成要素に過ぎません。しかし、これらの ...続きを読む