進行状況の追跡を始めよう
Trailhead のホーム
Trailhead のホーム

Heroku の概要

学習の目的

この単元を完了すると、次のことができるようになります。

  • サービスとしてのプラットフォーム (PaaS) とは何かを説明し、2 つの既存の PaaS を挙げる。
  • PaaS と他のサービスの違いを理解する。
  • RESTful API とは何かを説明する。
  • Heroku の使用事例を 4 つ挙げる。

Heroku の概要

多くの Salesforce 開発者から、「この Heroku プラットフォームとは何ですか?」、「これで何ができますか?」という質問があります。このモジュールでそれを説明し、具体的な使用事例とツールを詳しく見ていきます。それでは始めましょう!

Salesforce Platform 内の Heroku

Heroku プラットフォームは、マルチクラウドアプリケーションプラットフォームである Salesforce Platform の一部ですちょっと分かりづらいかも知れませんね。簡単に言えば、Salesforce Platform は多数のツールとサービスが密に統合された 1 つのプラットフォームにまとめられているため、貴重なアプリケーションを構築できる、ということです。Heroku は、そのツールセットの一部です。優れたカスタマーエクスペリエンスを促進するカスタムアプリケーションを構築できます。

ご存知かもしれませんが、Lightning Platform では従業員向けアプリケーションを構築し、Salesforce CRM のカスタマイズと拡張を行うことができます。Heroku ではさらに、JavaRubyPythonPHPJavaScriptGo などのオープンソース言語で顧客向けのピクセル単位まで完璧なアプリケーションを構築できます。

Lightning Platform の範囲を超えて作業できる一方で、Salesforce 内のデータとのつながりが維持されます。基本的に、双方の長所が備えられています。多くのお客様は、カスタマーエンゲージメントを促進する強力な Web およびモバイルアプリケーションに Heroku を利用しています。

アプリケーションは、多種多能なコンポーネントで構成されます。現在の一般的アプリケーションは、重要なデータの記録システムを含むバックエンド管理システム (Lightning Platform モデルレイヤなど)、内部追跡およびレポートツール、お客様がエンゲージできる公開 Web またはモバイルインターフェースで構成されます。Heroku では、Node.jsRuby on RailsDjangoSpring などのオープンソース言語とフレームワークを使用して、一般に公開されるインターフェースを構築できます。

Heroku はサービスとしてのプラットフォームです。

Amazon Web Services などのサービスとしてのインフラストラクチャ、Salesforce などのサービスとしてのソフトウェア (SaaS) は誰もが聞いたことがあると思います。Heroku は Lightning Platform と同様に PaaS ですが、多数の異なるプログラミング言語のサポートやリソースの制御および拡張機能など、異なる機能を提供するプラットフォームです。これは、この後で説明します。

ここでは、最初から始めましょう。PaaS とは何でしょうか? SaaS、サービスとしてのインフラストラクチャ (IaaS)、または独自の社内サーバの所有とどのように関連しているでしょうか? それぞれについて確認し、仕立屋のアナロジーを使用して比較します。相互にどのように重なり合って構築されるかについても説明します。

まずは SaaS から開始します。SaaS はアプリケーションの大部分をユーザに代わって管理するため、最も簡単に使用できます。SaaS は多くの場合 PaaS の上位に構築され、PaaS は IaaS の上位に構築され、IaaS は社内ハードウェア上に構築されます。社内ハードウェアではほとんどの作業を管理して使用する必要がありますが、その他すべての画期的なサービスの基盤が提供されます。

サービスとしてのソフトウェア (SaaS)

SaaS は、コンピュータにダウンロードしてインストールすることなくクラウドからソフトウェアを提供するための手法です。Web から Salesforce にログインするときに、すでに SaaS を使用しています。この概念をわかりやすく説明するため、スーツ購入のアナロジーを使用しましょう。SaaS の使用は、百貨店に行きラックにあるスーツを購入するようなものです。見栄えのいい既製品を見つけ、そのスーツを着てその夜のパーティに出かけることができます。または、自分の体形に合うように仕立屋に微調整を依頼することもできます。

上述のとおり、この手法は誰からも愛される Salesforce でお馴染みのモデルです。背景では、Salesforce エンジニアがユーザに代わってソフトウェアの構築、管理、アップグレードのすべてを行っています。ユーザはログインして使用するだけで済みます。

サービスとしてのプラットフォーム (PaaS)

PaaS は、ハードウェアおよびソフトウェアツールをサービスとしてユーザに提供する方法です。プラットフォームの上位でアプリケーション開発用のハードウェアおよびツールを使用することもできます。そのため、PaaS の上位に独自の SaaS を構築できます。

もちろん、PaaS はより少ない機能が標準で提供されますが、柔軟性の向上で相殺されます。衣料品業界では、この手法は生地、ボタン、パターンを選択して仕立屋に自分の体形に合ったスーツを作ってもらうオーダーメードに相当します。黄色い水玉模様のスリーピーススーツが必要ですか? このデザインが次の流行であることにアルマーニが気付くまで待つ必要はありません。独自にあつらえることができます。今夜のパーティに着ていくことはできませんが、完成品は完全にフィットします。さらに、他の誰も同じスーツを持っていません。

ここで Heroku が適合します。Heroku は、インターネット規模のアプリケーションの下位にある困難な部分を処理します。これにより、ユーザはオープンソース言語、フレームワーク、その他のニーズに最適なツールを使用して、顧客に完全に適合する完成品の作成に集中できます。

サービスとしてのインフラストラクチャ (IaaS)

IaaS は、プラットフォームとなるツールの追加レイヤがない、ハードウェアまたは仮想ベアメタルリソースだけをユーザに提供するモデルです。IaaS モデルでスーツを作る場合、自分で生地、ボタン、糸を購入し、カスタムスーツのデザインを考え出し、パターンに合わせて生地をカットする必要があります。その後に近所の裁縫店に料金を払ってミシンを借り、スーツを自分で縫う必要があります。これは大変な作業ですが、目的の特別な縫合パターンがあるミシンを確実に使用できます。

Heroku プラットフォーム自体は、実際には Amazon Web Services (AWS) という強力な IaaS の上位に構築されています。AWS では、仮想マシン、ロードバランサ、その他の下位リソースをまとめて、大規模で複雑なアプリケーションを構築できます。これらのシステムでは、スキルが非常に高い専門家が設計、構築、監視、維持する必要がありますが、プラットフォームよりも高度にカスタマイズできます。

社内インフラストラクチャ

社内インフラストラクチャは、これらのその他すべてのサービスの基盤となります。社内とは、自社で物理サーバや他のハードウェアを所有および管理することを意味します。AWS は何千もの社内サーバを管理しているため、その IaaS を提供できます。

社内モデルに従ってスーツを作るには、必要なすべての素材を自分で作成および管理する必要があります。毛織物を用意するには、羊を育てて毛を刈り、織ってから好みの色に染める必要があります。その後にミシンを組み立て、パターンを考えてカットし、縫い合わせる必要があります。数年経ってから、その新しいスーツを着られるようになります。

独自の社内データセンターを構築し、サーバをラックに積み重ねることは大変な作業ですが、すべての部分を独自に管理することで完全な制御を実現できます。幸いにも、優れたアプリケーションを作成するためにベアメタルまでのインフラストラクチャを制御する必要はありません。

Heroku を選ぶ理由

PaaS は、アプリケーションのインフラストラクチャの構築と運用の複雑さを取り除きます。PaaS を使用すると、ソフトウェアを実行するコンテナの負荷分散コレクションを簡単に作成できます。これらのコンテナは、アプリケーションの実行に必要なすべてのコードとリソースを保持する、運送用コンテナのようなものと考えることができます。

Heroku は完全に管理された PaaS です。根本的な複雑性はすべて Salesforce の専用チームが処理します。これには、障害の対応、セキュリティ脆弱性の監視とそのパッチ適用、拡張の計画、実際の PaaS の拡張が含まれます。独自の PaaS を実行する場合、これらすべてを年中無休で管理するチームが必要になります。

Heroku はこれらをユーザに代わって管理するため、顧客を満足させるカスタムアプリケーションの作成に集中できます。さらに、さまざまな言語を使用し、必要に応じてリソースを拡張できる柔軟性もあります。

Heroku ってすごそう! どんなことができるの?

Heroku では、Java、PHP、Python、Node、Go、Ruby など、多数のオープンソース言語を使用して、アプリケーションまたはシステムを構築できます。構築したシステムは、HTTP および HTTPS を介した要求の受け入れ、データベースへの接続、サードパーティアドオンモジュールの使用、バックグランドジョブのキューへの追加と実行を行うことができます。

簡単に言うと、Heroku を使用して最先端の Web アプリケーションを最初から構築できます。管理データベースにデータを保存し、Heroku Elements Marketplace から追加機能が提供されるサードパーティアドオンを使用することもできます。また、Heroku は Salesforce Platform の一部であるため、すべての Heroku アプリケーションは会社の Salesforce データへのアクセス権を簡単に取得できます。

Heroku での RESTful API の構築

Heroku は Web ベースであるため、モバイル戦略を強化するために簡単にアプリケーションスイートを拡張できます。最新のモバイルアプリケーションは、Web ベースの RESTful API で駆動します。この API では、モバイルアプリケーションが要求を行い、Web アプリケーションからの応答を受け取る標準の方法を使用できます。Web アプリケーションとモバイルアプリケーションはすべて、Heroku によって提供される 1 つのバックエンドソフトウェアシステムに接続されます。

Heroku は Web ベースのカスタムアプリケーションのプラットフォームであるため、構築できるアプリケーションに制限はありません。Heroku で次の素晴らしいカスタム Web サイトを作成することもできます。モノのインターネットにデバイスを追加したいと考えていますか? Heroku でそれを実現できます。金融テクノロジはどうでしょうか? 将来の金融サービスも Heroku で推進できます。

出来過ぎた話だと思いますか? いくつかの具体的な使用事例とこれらのアプリケーション設計の取り組み方について詳しく見ていきましょう。

使用事例: カスタマーエンゲージメント Web サイト

ビジネスが独特であり、顧客とのエンゲージ方法も独特であるとします。テンプレートから構築された型どおりのサイトは、会社の Web サイトに合わせてブランド設定されていたとしても、Web お客様がトップブランドに期待する 1 対 1、オムニチャネルの革新的なカスタマーエンゲージメント環境を提供することはできません。Heroku では、すべての最新オープンソーステクノロジを使用してカスタムアプリケーションを構築できます。

Heroku 上に構築されたアプリケーションは、Salesforce の顧客データやバックエンドシステムと緊密に統合できます。すべてのデータを 1 か所にまとめた効率性を保ちながら、完全にカスタマイズされた操作性を顧客に提供する特注アプリケーションを構築できます。

使用事例: API サービスを使用したモバイルと IoT の強化

RESTful API サービスは Web ベースであるため、Heroku プラットフォーム上に会社の API を簡単に構築できます。昨今の優れたモバイルアプリケーションとモノのインターネット (IoT) デバイスはすべて、その背後で再利用可能で拡張可能な API が使用されています。

API サービスを構築したら、その上位にネイティブ、ハイブリッド、または HTML5 の任意の数のモバイルクライアントを構築できます。新しい独特な操作性を顧客に提供するため、その API と連携する新しい Web アプリケーションや物理デバイスを構築することさえも可能です。Heroku 上に構築された API では、モバイル化の機会が増大します。

使用事例: データ操作

Salesforce には、データの管理、操作、探索を行うための優れたツールが多数用意されています。Lightning Platform では、コードを使用せずにアプリケーションを構築して強力なワークフローと自動化を作成できる一方で、Einstein Analytics では、顧客から収集した大量のデータを分析できます。Lightning Platform は非常に強力ですが、使用事例によっては最適な選択ではありません。Heroku は、Salesforce Platform の能力を最大化する補完ツールを提供します。

Heroku では、緊密な Salesforce データインテグレーションとオープンソース言語やツールの使用の両方を利用して、独自のデータ処理、ウェアハウス、またはアーカイブアプリケーションを構築できます。ビジネスインテリジェンスツールを直接 Heroku データアプリケーションと結び付けて、変換されたデータセットを利用してより強力かつ独特な洞察を引き出すこともできます。つまり、Heroku では、最も要求の厳しいデータ中心の使用事例をサポートする、すべてのオープンソース、サードパーティ、カスタム分析を簡単に結び付けるための選択肢の幅が広がります。

使用事例: 概念実証または実験

Heroku の最も優れた点の 1 つは、その柔軟性です。ほんのわずかな時間で新しいアプリケーション環境を作成し、コードを実行する準備を整えることができます。新しいアイデアを試してみた後にそのアプリケーションを削除し、次のアイデアを試すことができます。多くのお客様は Heroku を使用して、アプリケーションの新しいアイデアを試してみたり、カスタマイズされた貴重なツールを提供したりしています。

新たな可能性を求めてサイドプロジェクトとして開始された概念実証アプリケーションが突然好評を博し、より幅広い利用者にすぐにロールアウトすることになった場合はどうでしょうか? Heroku では、何も心配する必要はありません。アプリケーションの背後で簡単にリソースを小規模から大規模に拡大し、大衆のトラフィックに対応できます。インフラストラクチャを計画してプロビジョニングし、アプリケーションを本番環境に移動するために何週間も費やす必要はありません。Heroku は、概念を試す場合でも本格的な環境を提供する場合でも、同様に適切に機能します。

仮定上の実例

コネクテッドドアマット市場に大変革をもたらす素晴らしいアイデアがあるとします。ドアマットからのデータポイントを受け入れ、各顧客のドアマットの総計値を表示し、お客様がドアマットに関するサポートケースをオープンできるアプリケーションが必要です。また、見込み客がコネクテッドドアマットに関する情報を確認して購入できるようにもする必要があります。

いやあ、なかなか大変そうですよね?

それだけではありません。ビジネスダッシュボード、マーケティングプログラム、予測サポート、およびドアマットの追跡、受注、注文の追跡、ドアマットの配送などを行うために必要なすべてのバックエンドシステムもあります。

Salesforce Platform では、顧客への影響力が最も大きいコードに集中します。Heroku でカスタムアプリケーションとして顧客向け Web サイト、RESTFul API エンドポイント、大量データ取得ポイントを構築します。次に、Lightning Platform を使用して、バックエンドシステム、カスタマーサービスツール、ビジネスインテリジェンス、ワークフロー、マーケティングジャーニーを構築します。Salesforce Platform では、数十万個や数百万個のドアマットを販売してから、サポートとサービスに移行できます。

まとめ

Heroku の追加により、Salesforce Platform がさらに強化され、完全なカスタムアプリケーションを構築して顧客に独特の操作性を提供するプラットフォームを使用できます。これは出来過ぎた話だと思いますか? または複雑になりすぎると思いますか? 次の単元へのトレイルに従って、Heroku での最初のデモアプリケーションをリリースしましょう。これがいかに簡単かを確認できます。