menu
%}

Herokuって何?特徴をわかりやすく解説

 2017.04.26 Pasona Tquila

こんにちは。デベロッパーのHです。

みなさん、Herokuをご存知ですか?サークレイスは、HerokuとSalesforceを連携したシステムを構築することを得意としており、一般ユーザー向けの問い合わせ管理サービスや海外駐在員の経費精算システムなど多数の開発実績があります。

今回は今後ますますニーズが高まってくると思われるHerokuについて少しご紹介したいと思います。非常に使い勝手のよいプラットフォームなのですが、まだまだ知られてい無いという印象です。今回はHeroku初級編として、Herokuとは何か、Herokuの特徴をわかりやすく解説していこうと思います。

Herokuとは?

Herokuとは、いわゆるPaaS、Webアプリケーションの構築から保守、スケールの拡張などの運用作業までができるクラウドサービスで、Salesforce社の製品の1つです。「いつものSalesforceもそうじゃないの?どこが違うの?」と思われるかもしれませんが、Herokuの他Salesforceのサービスと異なる特徴として、以下のようなものがあります。

1.広く利用されているプログラミング言語を使って、制約なくアプリを作成できます。
Ruby on Rails、Django、Spring、Node.jsなどのプログラミング言語で制約なくアプリを作成できます。Salesforce CRMでプログラミングをする場合にはApexを使用しなければなりませんし、数多くのSalesforce固有の制約を考慮する必要があります。

2.だから凝ったアプリを作るのに向いています。
そうした理由でコンシューマー向けに凝ったWeb/モバイルアプリケーションを作成する場合なんかはHerokuの方が向いています。Salesforce CRMの場合は、管理画面やレポートなどがセットになっていますが、凝ったアプリを作ろうとするとそれが逆に制約に繋がってしまうことがあります。

Herokuの特徴

近年、AWSやGCPなど、多くのPaaSがありますが、各PaaSによってそれぞれ特徴があります。ここではHeorkuの大きな特徴を2つご紹介いたします。

ほぼインフラ初心者でも構築/運用できる手軽さ

Herokuの特徴は何と言ってもその手軽さです。コマンドだけで、それなりの運用ができます。開発したアプリを本番に反映させる作業でさえ、Gitコマンドだけで実施することができます。以下のような事でさえ、herokuコマンドだけで実施する事ができます。

  ・アプリケーションの作成

  ・ログの確認

  ・アプリのステータスの確認

  ・環境変数の追加や確認

  ・設定済みのジョブの起動

  ・動作中のCPUの数の変更

  ・アドオンの追加

最後の「アドオン」とは、色々な会社から提供/販売されているHerokuの追加機能です。有名なものを挙げると、データベースサービスのPostgresやメール配信サービスのSendGrid、聞いた事がある人も多いと思います。そんな機能の追加でさえ、herokuコマンドだけで実施できます。すごいですよね。

「プログラムは好きだけど、インフラは嫌い」そんなエンジニアって多いですよね。Herokuは、そんなエンジニア達から、頭痛の種となるインフラ作業を取り除き彼らにプログラミングにより集中できる環境を提供する、そんなプラットフォームなんです。

Heroku Connect

Heroku Connectとは、SalesforceのデータとHeroku のデータを双方向で同期するアドオン機能です。

HerokuとSalesforceを連携したシステムを構築する際に悩みの種になるのがこの”連携”や”同期”。Heroku Connectはエンジニアからこの悩みを取り除いてくれます。

この「データの同期」ってすごく難しいんです。一方でデータを削除したらもう片方も削除すべきなのか。両方で同時に更新したらどっちを優先すべきなのか。色々なケースが考えられ、解決するのにとても頭を悩まします。

Heroku Connectはこれを自動で行ってくれるので、エンジニアは悩む必要がありません。これはSalesforce社から提供されているHerokuのみの機能で、AWSやGCPなど他のPaaSにはありません。

Herokuの開発実績

最後に、こんなHerokuの特徴が活かされたサークレイスの開発案件を1つご紹介します。

一般ユーザー向け問い合わせ管理サービス

この案件のお客様は、一般ユーザー向けに問い合わせ管理サービスを必要としていました。このプロジェクトに期待する顧客側の要望は以下のとおりです。

  •  いつも利用しているSalesforceをそのまま活用したい

そのお客様は、すでにSalesforceを社内で使用していたため、その組織に問い合わせを蓄積してデータ分析に利用したいと考えていました。さらにサポートチームの運用においても、社内コミュニケーションは日頃利用しているChatterで、そしてお客様とのコミュニケーションはいつものSalesforceの画面上で行うことを希望されていました。

  • 見た目も使い勝手も良い

一般ユーザー向けのサービスのため、使い勝手や見栄えを重視していました。これに対し、サークレイスではHerokuとSalesforceを連携した構成を提案・構築を実施することで、両方の課題を解決することが出来ました。

次回は、この案件について書きたいと思います。お楽しみに!