blog
ブログ

Herokuを使ってできること 提供できる機能やサービスをご紹介

blog_heroku_eyecatch

SalesforceCRMを利用している際、その情報の確からしさや最新化の煩雑さ、情報の利活用について、もやもやされている方は多いのではないでしょうか?Herokuを使用して利用者向けインターフェイスを作成すると、利用者ご本人に情報の更新をしてもらったり、他のシステムとの連携の間口を広げたりすることが可能です。そこで、Herokuを利用したマイページの公開や、システム間連携を容易にするイメージをご紹介いたします。

 


     

    Heroku(ヘロク)って何なの?

     

    Herokuとは、Salesforceが提供するクラウド上のプラットフォームサービス(Paas)です。専用のサーバを手軽に作成し、用意されたツールでアプリケーションの管理を行えます。私たちは、Webアプリケーションの開発・運用を容易にするために使用しています。

    heroku login

    Herokuを使用することでインフラの構築や設定、管理に大きな時間と労力を費やすことなく、アプリケーションの開発に集中できます。更に、Salesforce製品との連携に強い、ということもポイントだと思います。

    では次に、Herokuのメリットを簡単にご紹介いたします。

     

    Herokuを利用するメリット、無料でできることはある?

     

    Herokuを使用する代表的なメリットとして以下が挙げられます。

    インフラ構築を自身で行う必要がなくシステムの運用開始までが早い

    「ちょっとしたアプリケーションを試してみたい」そんなときは

    1. Herokuアカウントを作成してHeroku Appをおこし
    2. いくつかのHeroku Add-onsをくっつけ(Provision:選定とプランの有効化)
    3. もし必要があればプログラムをGithubにプッシュ

     

    といったステップで実際に動くアプリケーションを構築・公開できます。

     

    Heroku PipeLineとGithubとの連動でデプロイがとても簡単

    下の画像の左側が開発環境、右側が本番環境です。開発環境でテストを終えたら左側の「Promote to productuion」ボタンを押します。これによって、同じ版のプログラムを本番環境に「ぽん」とデプロイできます。とても楽な気分でリリースができるのでおススメです。

    heroku deploy image
     

    Heroku ConnectでSalesforceのデータ利用が簡単

    「Salesforceのデータを別のシステムで見たい」そんなときは

    1. Heroku Add-onsのHeroku PostgreSQLとHeroku Connectをプロビジョンし
    2. Salesforceアカウントを認証し
    3. データ連携をマッピングする

     

    といったステップでSalesforceと自動的に連携したPostgreSQLデータベースが出来上がります。

    これらの作業はGUIで行うことができます。(CUIでも行えます)
    実際に大量データをHeroku Connectで連携する場合、Salesforce社とエンタープライズ契約を結ぶ必要があるものの、ぜひ無料版で体験してほしいです。

    hroku architecture image
     

    多くのSalesforce製品がHeroku PostgreSQLとつながる

    これはHerokuの使いやすさというよりは、各Salesforce製品のコネクタがPostgreSQL接続をカバーしてくれているからですが、結果的にとても使いやすいです。「同じ会社の製品はシームレスに連携できて当たり前、ではない」ことが多く、製品間のちょっとした仕様の違いに「なんで?」と悩むことが多い中でとてもうれしいことだと思っています。

     

    Herokuはインフラ管理をSalesforceがやってくれるフルマネージドサービス

    冒頭でHerokuはSalesforceが提供するPaasと書きました。サーバOSや、Heroku PostgreSQLなどは、バージョンアップやセキュリティパッチの管理・適用をSalesforceがやってくれます。その時が来たらSalesforceからメールがきます。

    1. メールで「アップデートできる状態になったから適用する時期を選んで」とくるので
    2. 管理者は適用時期を相談して決めて、時期を登録して待ちます
    3. 「適用が始まるとき」、「問題が起きた時とリトライ時」、「終了した時」などにメールが届きます

     

    一方で、私たちが作成したプログラムは自分たちで面倒を見てあげる必要があります。しっかりと線引きして管理すべきは管理するようにしましょう。

     

    Herokuは素早く、低コストに始められる

    HerokuではHeroku Add-ons(アドオン)と呼ばれる連携サービス群を活用して様々なシステム機能を追加構成していきます。メール送信、画像の保持や公開、ログ保存やシステム監視などです。これらは、使用頻度やデータ量によっては無料で利用できます。

    実はここ数年、Herokuを使用して「無料で出来ること」が減っています。しかし、ホームページや小規模システムの構築、スピーディなPoCなど、なかなかの内容を低コストで構築・試験・運用できると思います。

    AWS(Amazon Web Services)やGCP(Google Cloud Platform)、Microsoft Azureなどでの構築を検討をしたいそんな時、HerokuでPoCを行い、そのうえでメリット/デメリット比較をするような進め方にすると論点の整理や判断がしやすくなるのではないでしょうか。

    商用利用のシステムとなれば、可用性、性能、セキュリティなど要求は高まります。そんなときも可能な範囲で無料だったり低コストに実施していきたいですね。

     

     

    例1)Salesforceと連携して動くWeb(ウェブ)サイトをデプロイする

     

    Heroku ConnectでSalesforceのデータ利用が簡単、と前述しました。

    以下にその手順を書いてみます。例としてWebサイト(マイページ)の公開です。

    1. Herokuアカウントを作成し、クレジットカードを登録します。
    2. HerokuAppsをひとつ作成します。
    3. Salesforceと連携するために「HerokuPostgres」、「Heroku Connect」を設定します。
    4. デプロイを行うためにGithubと接続します。
    5. Webアプリを公開するプログラム群をデプロイして動作を確認します。

     

    Salesforceで管理するデータを利用してHerokuでWebサイトが動作する。そのデータを利用者ご本人がWebサイトで確認、編集できる。その結果がまたSalesforceに反映される。といったイメージです。

    非常に簡単なように書いています。実際のところ、ドキュメントを読みながらモノを作ってみる経験、ちょっとした興味があれば、素早くアプリケーションを構築し公開することが可能です。

    Salesforceが公開するHerokuの「Getting Started on Heroku」(https://devcenter.heroku.com/start)をぜひやってみてください。

     

    アカウント作成補足

    アカウントはHerokuのSignUp画面で作成します。(https://signup.heroku.com

     
     
    heroku singup
     
     

    この画面はGoogleなどの検索エンジンで探すことができます。検索画面で「Heroku SignUp」を入力してみてください。

    一般的にはHerokuを従量課金的に利用する方が多いと思います。この場合、アカウントを作成した後にクレジットカードの入力を行います。

    従量課金でない方法として、エンタープライズ契約があります。企業や団体としてSalesforceと年間の契約をするやり方です。この場合はSalesforceの営業さんに相談・調整して発注します。

    実際のところ、アカウント作成だけでは料金はかかりません。お気軽に試していただければと思います。

     

    例2)API(ウェブサービス)を作ってStripeとつなげてみる

     

    Herokuを使用する代表的な例として「API公開」があります。他システムが利用可能なAPIを作成してシステム間連携を担うというものです。以下に利用のための手順を書いてみます。

    1. Herokuアカウントを作成し、クレジットカードを登録します。(例1で行っていれば不要です)
    2. HerokuAppsをひとつ作成します。
    3. Salesforceと連携するために「HerokuPostgreSQL」、「Heroku Connect」を設定します。
    4. デプロイを行うためにGithubと接続します。
    5. APIのプログラム群をデプロイして動作を確認します。

     

    以下画像は、「決済サービス Stripe の画面で決済情報保存が成功した際のWebhook先エンドポイントに、Herokuで公開したAPIを指定する例」です。

    heroku stripe webhook endpoint
     

    こうすると、Stripe画面での入力内容がPostgreSQLに連携できます。それをSalesforceに「契約情報」として連携する形です。

    ステップはほとんど例1と同じです。公開するものがAPIである点が異なりますが実際に行うことは大差ありません。

    この例ではクラウド決済の世界的なサービス「Stripe」を取り上げています。これをAWSなどで運用している自社サービスやシステムに置き換えてみてください。やりたいと思っていることができそうではないでしょうか?

     

    まとめ

     

    「Herokuを使ってできること 提供できる機能やサービスをご紹介」と題してご紹介しました。

    Herokuを使えば、Salesforce(CRMに限らずSalesforceで管理する多くのデータ)の最新化をWebサイトを通じて利用者自らに実行できます。またその利用方法としてAPIで他のシステムへ連携し再利用するイメージを感じていただけたでしょうか?

    私は仕事としてSalesforceとHerokuを使用したアプリケーションを、お客様と一緒に構想・開発・改善を行っています。この仕事で日々感じることを、同様の立場の皆さん、Salesforceのデータの利活用方法を模索する皆さんにも知ってもらいたい!と思いました。

    本記事でご紹介したことが皆さんにとって簡単なことではないかもとも思います。しかしながら、Heroku使用の例として、Salesforceデータ利活用を手助けする方法として知ってもらい、皆さんのお役にたてたらうれしいです。

    最後に宣伝ですが、弊社株式会社日本システムデザインは、SalesforceとHeroku等のクラウドサービスを用いたシステム構築、サービス開発を行っております。

    あわせてSalesforceの定着・活用や運用保守を要望される方に合ったサービスもご提案しております。ご興味のある方は、お気軽にお問い合わせください。

     

    contact

    ご相談・ご質問等ございましたら、お気軽にお問い合わせください。

    翻訳

    SFA/CRMに蓄積されている情報を活用する方法ガイド