Heroku

Herokuの歴史

Herokuは、「Hero」と「Haiku(俳句)」を組み合わせて名付けられたと言われており、「Rubyを使う開発者をヒーローにする」ことをミッションに2007年にスタートしました。

現在HerokuはRubyに加え、Node、Java、PHP、Python、Go、Scala、Clojureといった様々なプログラミング言語をサポートしており、運用機能も改良され、ミッションクリティカルな用途にも十分安心して利用できる信頼性の高いPaaSへの進展を遂げています。

Herokuの仕組み

Herokuは、「Dyno」と呼ばれる独立し、仮想化された軽量コンテナを基本単位として持っています。コンテナ内には実行環境、アプリケーションのソースコード、環境変数など、アプリケーション実行に必要な情報が含まれています。

Dynoマネージャーは、Dynoの実行状態を管理します。管理画面やAPI経由でDynoのリソース変更や複数Dynoの構成もできますので、柔軟なスケーリングや高い冗長性を持たせることが可能です。

開発者はGitを使用して、Herokuにソースコードをデプロイします。デプロイされるとHerokuが自動的にアプリケーション種類の検出、ビルド、Dynoの生成を行い、すぐにアプリケーションが使える状態になります。

Herokuのメリット

Herokuを利用することで、SalesforceなどのSaaSに比べて、自由なシステム構築が可能になります。オンプレミス、Amazon Web Services、Azure、Google Cloud Platformと比較して、以下のようなメリットがあります:

  1. 環境の調達/構成が容易
  2. 運用保守の手間が大幅に少なくなるため、コスト削減に繋げられる
  3. アプリケーション開発に注力できるので、稼働までの期間を短縮できる

開発環境、運用環境をすぐに揃えることができる数多くのadd-onが用意されています。Herokuを利用することで、貴社ビジネスのデジタル化の迅速な実現に大きく貢献できます。

Herokuは開発者にとっても魅力的

“Twelve factor-app”という、Herokuが公開しているWebアプリケーション開発における方法論があります。

Herokuを使った開発では、自然と「環境依存性が少ない」「スケールしやすい」といったモダンなWebアプリケーションを開発していく手法を身につけることができるため、開発者が多くの学びを得られる非常に魅力あるプラットフォームです。

Herokuにパッケージを適用することでデジタル化を推進

当社ではHerokuの利点を生かして、お客様の要件に適合するパッケージソフトウェアを選定し、Herokuにて動かすことを積極的に推進しています。有償/オープンソースを問わず、Java、Node.js、PHPなど様々な言語で実装されているパッケージソフトウェアの中から、お客様の要件に適合するソフトウェアを選定いただくことができます。

これまでに当社では、ECサイト、コンテンツマネジメントシステム、データ連携、APIゲートウエイなど、多様なパッケージソフトウェアをHeroku上で稼働した実績がございます。

Heroku上で動かすためにパッケージソフトウェア自体に手を入れて改造することが必要な場合は、当社にてパッケージカスタマイズが可能です。

開発の進め方

当社ではソースコードはgithubのprivateリポジトリを使って管理し、Heroku Pipelineを用いて開発を進めます。

Heroku Pipelineを利用することで、開発環境/ユーザ受入用環境/運用環境を切り分けて効率よく開発を進めることが可能になります。

Herokuの事例

通信販売ビジネスのデジタル化

ネットショップとB2B決済サービスと連携できるオーダーマネジメントシステムを開発しました。