最新の値上げをチェックして賢くお買い物!値上げニュース
Webクリップ

Q1:そもそもHerokuってなに?

Herokuは元々Ruby on Railsを対象とした、Amazon Web Services(AWS)のIaaS上に構築されたPaaSで、デプロイには分散リポジトリのGitを利用するなど、Webアプリケーションの開発から公開まで非常に簡単にできる優れたプラットフォームです。

Herokuは2010年にSalesforce.comにより買収され、Salesforce.comが掲げるソーシャルエンタープライズを実現させる中核の役割を担う要素の1つとして、現在ではRuby以外にもJava、Python、JavaScript(node.js)、Scala、Cloujureにも対応したマルチ言語なプラットフォームとなっています。

また、HerokuにはWebアプリケーション、特にソーシャルアプリケーションを開発する上で必要なアドオンが多数提供されており、ソーシャルアプリケーションとの連携や動画の配信なども簡単に開発する事ができます。

Q2:Force.comとはなにが違うの? 使い分けは?

Salesforce.comはForce.comというPaaSをHeroku買収以前から提供しており、単にWebアプリケーションを構築するというだけであればどちらでも実現可能なので混乱してしまいがちです。

基本的には、Force.comはSalesforceのSaaSを拡張するためのPaaSであり、HerokuはWebアプリケーションを開発するためのPaaSです。それぞれが生まれた背景が異なるため、提供されているツールも実行している環境も異なります。そのため、用途に応じて使い分けるというのがポイントになります。

基本的なアプローチとしては、社内向けのサービスにはForce.comを、社外の情報と連携させた自由度の高いアプリケーションのケースではHerokuといった棲み分けとなり、それぞれ利用用途が異なります。(下記参照)

  • Salesforce CRM(Sales Cloud)やService Cloud、Chatterとの連携したサイトを構築する場合
    • →Force.comを利用
  • 社内ポータルを構築したい場合
    • →Force.comを利用
  • FacebookなどのSNS上、またはSNSのデータと社内システムを連携させたアプリケーションを構築する場合
    • →Herokuを利用
  • 制約の少ない自由度の高いWebアプリケーションの開発の場合
    • →Herokuを利用

Q3:Force.comとは、どう連携するの?

Q2で回答したように、Force.comとHerokuでは利用する環境が異なるため基本的には別のシステムとなります。

そのため、Salesforce CRMとForce.comの関係のような密な連携や拡張は、Herokuでは実現できません。連携する手段は以下のいずれかの手段を使う事になります。

Webサービスによる連携

  • Force.comが提供しているSOAPを利用して直接Webサービスを呼び出す
  • Force.comが提供しているRESTサービスを利用して直接Webサービスを呼び出す

ActiveSalesforce(Ruby)、JPA(Java)を利用したデータ連携

  • Force.comの開発コミュニティが提供するActiveSalesforceやDatabase.comのモジュールとして提供されているJPAの機能を利用して、Heroku側から直接Salesforce内のデータにアクセスする

どちらでも連携は可能ですが、Webサービスによる連携は、Force.com側に呼び出し回数や通信上のデータ量の制約などがあるので、データ連携とトリガー機能を利用した連携をする方が良いでしょう(実際にはデータ連携もSOAP通信を利用していますが、Salesforceの制約を回避するように実装されています)。

ただし、注意しないといけないのは、Herokuは現在AWSの米国東部一部地域のみでしか提供されていないため(2012年5月10日時点)、Salesforceの環境が日本国内のデータセンターを利用している場合には通信上のレイテンシーの遅延が発生します。そのため、Heroku側にはレスポンスを30秒以内に返さないといけない制限があり、その制限に引っかかる可能性があります。

従って、連携する際には非同期ジョブを活用してバックグラウンドで連携するか、Herokuが提供する「Heroku Postgres」やHerokuのアドオンで利用できるAWSのRDSなどのDaaS(Database as a Service)を活用して(第3回で紹介します)非同期にニアリアルタイムで連携させる必要があります。

 

Q4:Herokuで開発するメリットってなに?

Herokuの強みにはいくつかありますが、ここでは開発と運用のそれぞれに着目していきたいと思います。

メリット その1:豊富な開発言語のサポートとアドオン、標準的な開発環境

Herokuの魅力の1つとして、Ruby以外にもJava、Python、JavaScript(node.js)、Scala、Cloujureといった多彩な開発言語のサポートがあります。アジャイル開発に適しているRuby(Ruby on Rails)や、最近注目を浴びているScalaをはじめ、エンタープライズでは幅広く利用されているJavaもサポートされているので、開発チームにとって最適な環境での開発が可能です。

また、Webアプリケーションでは頻繁に利用される機能、例えばSSLやメール配信、オンメモリキャッシュといった機能がアドオンとして提供されており、開発者はアプリケーション開発に集中することができ、短期間でシステムを実行させる環境が提供されます。

2つ目の魅力として、デプロイ環境が挙げられます。アプリケーションのデプロイには分散バージョン管理システムであるGitを使用し、ビルドツールにはJavaであればMavenを使用します。これによりリソースのバージョン管理からビルド、アプリケーションのデプロイまでをスムーズに行なうことが可能です。

Herokuが提供するこのデプロイ環境は、開発からデプロイまでのコストを最小限に抑えることができます。このことは、継続的にシステムに機能を追加して成長させていくアジャイル開発に非常に適しており、Herokuの強みの1つであると考えられます。また、Herokuの環境に依存したツールを使うわけではないので、クラウド環境にみられるベンダーロックインの心配が少ないという点も非常に大きな魅力とも言えるでしょう。

メリット その2:スケールアウト

Herokuで実際にアプリケーションを稼働させた際に、Herokuの提供するスケールアウトの容易性は非常に高い点が挙げられます。他のクラウド環境では、スケールアウトが可能なようにインフラ面からの設計が必要ですが、Herokuを使用する場合はその必要がほとんどありません。

Herokuはアプリケーションをdynoと呼ばれるプロセス単位で実行させることができ、アプリケーションにかかる負荷に応じて実行プロセス数を調整することが可能だからです。アクセス数が多くなったり、比較的重い特定の処理を行なわせる繁忙期のようなときにだけ、dyno数を上げることでアプリケーションがスケールアウトします。

スケールアウトはHerokuのサイト上からでも可能ですし、コマンドラインから実行する事も可能です。また、「Hero Scale」というHerokuアプリのDynos/Workerをオートスケーリングさせるサービスもあります。

メリット その3:運用をサポートする標準機能

Herokuが提供する機能には、開発に利用する機能の他にも、ログの確認やパフォーマンスのモニタリング、データベースのバックアップといった運用をサポートする機能も含まれています。長期的なシステム運用には運用設計が必須になりますが、Herokuが運用のための機能を容易に扱える環境を提供することで、運用コストを抑えることに繋がるでしょう。

このようにHerokuは、アプリケーションの開発に注力させ、アジャイル開発を適用させやすい環境を提供している点が非常に大きな魅力となっています。

Q5:Herokuと一緒に検討すべきサービスは?

Herokuはクラウドサービスの中でPaaS(Platform as a Service)に分類されます。他社が提供するPaaSには、Googleの「Google App Engine」、Microsoftの「Windows Azure」、Amazon Web Servicesの「AWS Elastic Beanstalk」などがあります。

利用するサービスの選定には、稼働させるアプリケーションの特性にもよりますが、Windows AzureとAWSはVPN、またAWS Elastic Beanstalkは専用回線による接続をサポートしていることから、業務用途での利用に適していると言えるでしょう(Windows Azureはまだベータ提供かつクライアントベース)。

一方で、Herokuは外部公開のアプリケーション構築や、外部ソーシャルサイトと連携したアプリケーション構築に向いたプラットフォームという位置づけになります。特にFacebookには専用プランが用意されているので、Facebookアプリケーションを容易に作成することができます。逆に既存の業務システムのクラウドへの移管にはあまり向いておらず、そのようなケースではBeansTalkを含むAWSの利用が向いています。

最新ニュース

  • ホルムズ海峡「安全な航行」再開へ40か国以上がオンライン会合…米は招待せず
    2026年4月2日 に PM 7:38 に

    【読売新聞】 【ロンドン=工藤武人】英PA通信によると、イランが事実上封鎖するホルムズ海峡での安全な航行の再開に向け、英国主導の有志国会合が2日、オンライン形式で開かれた。イベット・クーパー英外相が議長を務め、会合には40か国以上が

  • Amazon CloudWatch now supports OpenTelemetry metrics in public preview - AWS
    2026年4月2日 に PM 6:11 に

    Amazon CloudWatch now supports OpenTelemetry metrics in public preview Amazon CloudWatch now supports native OpenTelemetry (OTel) metrics in public preview, enabling you to send metrics directly using the OpenTelemetry Protocol (OTLP) without custom conversion logic or additional tooling. You can...

  • [#79]ゴーストフィクサーズ - 田中靖規 | 少年ジャンプ+
    2026年4月2日 に PM 3:29 に

    ゴーストフィクサーズ 田中靖規 <毎週金曜更新>御厨ヶ丘ニュータウン。ここはある事象を境に、非現実的現象【GHOST】の坩堝と化した!そんな町に住む中学生ひふみは、ある日引っ越してきた少女と出会い…。『サマータイムレンダ』の田中靖規が描く、非現実校正アクション! [JC7巻発売中]

  • difit-review スキルでエージェント自身に変更点をコメントしてもらおう
    2026年4月2日 に PM 3:25 に

    difit はローカルの git 差分を GitHub スタイルのインターフェースで確認できる CLI ツールです。difit-review スキルを使用することでエージェントがコードの変更点にコメントを残した状態で difit を起動できます。この記事では、difit-review スキルを使用してエージェント自身にコードの変更点をコメントしてもらう...

  • ちかちゃんはもっとしりたい - むぴー | 少年ジャンプ+
    2026年4月2日 に PM 3:01 に

    ちかちゃんはもっとしりたい むぴー 小学2年生のちかちゃんはとなりのせきのゆうきくんが気になります。ゆうきくんのことをもっと知りたいちかちゃんはある時、チビというなぞの生物に出会い…!?

  • [第12打]春雷卓球 - 平方昌宏 | 少年ジャンプ+
    2026年4月2日 に PM 3:00 に

    春雷卓球 平方昌宏 <毎週金曜更新!最新3話無料>嵐野女子高校1年・轟美雷は、小柄ながら大の卓球好きで、全国に行くほどの実力を持っていた。しかし、全中時代、圧倒的な才能を前になすすべなく負け、卓球を辞めていた。そんな中、転校生として春咲桜花が卓球部にやってきて…?『デビィ・ザ・コルシファは負けず嫌い』平...

  • [第4話]ブヨトピア - 雲母坂盾 | 少年ジャンプ+
    2026年4月2日 に PM 3:00 に

    ブヨトピア 雲母坂盾 <毎週金曜更新>魔王を倒しきれず、世界を“ブヨブヨ”で溢れさせてしまった元勇者・ビヨンド。罪悪感から引きこもり続けた彼に、ある転機が訪れる…!!『ドリトライ』の雲母坂盾が描く、極限の“勇者VS社会生活”コメディ!!

  • 1999年秋葉原ADV『世紀末之詩』、「作中の架空ゲーム20作品」を本当に作るプロジェクト始動。瀬戸口廉也・元長柾木・朱門優など夢の布陣に、ファン狂喜乱舞 - AUTOMATON
    2026年4月2日 に PM 1:53 に

    Nekodayは4月1日、開発中の新作『世紀末之詩』に関して、スピンオフプロジェクト「20世紀 × 20の物語 × 20人」を発表した。 『世紀末之詩』は、中国・四川省発のインディーデベロッパーブランドであるNekodayが手がける終末青春群像ADVだ。中国と日本のクリエイター陣による共同制作ゲームプロジェクトで、2020年にリリ...



出典:公式総合情報データベースサイト「coron」 執筆者 : .

管理人のアンテナlive!


coronでは、サイトの利用状態の記録解析やパーソナライズ機能を利用するために、Cookieなどを使用してアクセスデータを取得・利用しています。
利用を続ける場合、これらの情報の取得・利用及びウェブサイト利用規約に同意したものとみなします。以下から詳細及びオプトアウトについてご確認ください。

ウェブサイト利用規約    
掲載されている広告について    
推奨環境