SlideShare a Scribd company logo
1 of 47
Download to read offline
Node.js開発者のための
Heroku⼊入⾨門
Salesforce Developer Web セミナー
tabe@salesforce.com
@sho7650
(Qiita/Twitter)
​ 阿部  崇 (Takashi Abe)
​ Platform Specialist
Forward-Looking Statements
​ Statement under the Private Securities Litigation Reform Act of 1995:
​ This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or
if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the
forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any
projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies
or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology
developments and customer contracts or use of our services.
​ The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for
our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of
growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed
and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand,
retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history
reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could
affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly
report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC
Filings section of the Investor Information section of our Web site.
​ Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may
not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently
available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
本⽇日のセミナー内容
内容
•  Herokuのとは何かを理理解し、Node.jsで作ったアプリをデプロイしてみよう
•  Herokuの便便利利な機能をご紹介
対象者
•  Node.jsで開発経験のある⼈人
•  ターミナルでコマンド操作ができる⼈人
•  Github を使ったことがある⼈人
•  Heroku に興味がある⼈人
•  Salesforce が好きな⼈人
ゴール
•  Node.js開発者が、Heroku とはだいたい何であるかを理理解し、Node.jsで開発
した  Web アプリケーションを公開できるようになること
今日の流れ	
Heroku概要/
サインアップ
Node.js  +
Express
on  Heroku
Heroku
Dashboardの
解説
Heroku  Pipeline
による継続的
デプロイ(CD)
ü 最後に質問への回答の時間を設けます
ü 質問はいつでも送ってもらってOKです
    今⽇日の解説者
阿  部    崇 (Takashi Abe)
Platform Specialist (@sho7650)
アプリエンジニア  à HWエンジニア  à インフラエンジニア
à アーキテクト兼ITコンサル  à 現職
ライブと熱帯⿂魚が好き: Perfume/BABYMETAL/稲川淳⼆二
Heroku  概要
​ “作る”と”動かす”両⽅方に効くクラウドサービス
Webアプリの開発・運用(安定稼働)には悩みも多い	
アプリ開発者 アプリ利利⽤用者
アプリ
(本番稼働中)
アプリ
(開発中)
•  ちゃんと動いているか、OS/ミドル
ウエア/アプリそれぞれ監視しない
といけないよね…
•  ミドルウェアにセキュリティホール
が⾒見見つかった?早くパッチ当てなき
ゃ…
•  アプリで使うライブラリやソフト
ウェアなどミドルウェアを準備す
るの⾯面倒だ…
•  本番環境の他に、ステージング環
境とか開発環境とか構築しないと
いけないよね…
継続的な機能追加・改修・デプロイ
これらを”うまく”まわす仕組みを⾃自前で構築・運⽤用管理理していくのは⼤大変
“作る”と”動かす”両⽅方に効く  Heroku  の特徴を「信頼性」「拡張性」  「開発⽣生産性」の3つの観点で解説
【動かす:信頼性】

アプリ実行基盤は Heroku が管理・運用	
ミドルウェア	
DBMS	
OS	
仮想化	
サーバー	
ストレージ	
ネットワーク	
施設	
アプリケーション	
オンプレミス	
アプリケーション	
ミドルウェア	
DBMS	
OS	
仮想化	
サーバー	
ストレージ	
ネットワーク	
施設	
IaaS
(Infrastructure as a Service)	
アプリケーション	
ミドルウェア	
DBMS	
OS	
仮想化	
サーバー	
ストレージ	
ネットワーク	
施設	
SaaS
(Software as a Service)	
アプリ開発/サービス提供者管理	
クラウドベンダー管理	
凡例例
アプリケーション	
ミドルウェア	
DBMS	
OS	
仮想化	
サーバー	
ストレージ	
ネットワーク	
施設	
PaaS
(Platform as a Service)	
①  24時間/365⽇日の
グローバルな運⽤用体制
②  ⼤大規模インフラ運⽤用の
豊富なナレッジ蓄積
③  規模の原理理を活かした
対応・対策への投資
④  稼働実績の公開
他クラウドベンダーの
IaaSを利利⽤用
【動かす:拡張性】
開発アプリのキャパシティを容易易に拡張できる
構成要素 説明 拡張⽅方法
Dyno 作成したプログラムを
動かすコンテナ
平⾏行行稼働するDynoの数
を増やす
Data データを管理理・保管す
る領領域
より⼤大容量量・⾼高性能な
プランにデータを移し
切切り替える
Add-ons 便便利利な追加機能群 クリックやコマンドで
機能を追加し環境変数
を設定する
Payments
Email
SMS
Search
Analytics
Monitoring
Logging
Ruby
Node.js
Java
Node.js
Node.js
Scala
Clojure
Postgres
Redis
Kafka
まず理理解する  Heroku  の構成要素と拡張の仕⽅方
そんな簡単に拡張できるものなの?
これらのコンセプトに即し
設計開発されたアプリなら
The  Twelve  Factor  App
マイクロサービス
【作る:開発⽣生産性】
継続的な開発→デプロイの実⾏行行に役⽴立立つ機能を提供
項⽬目 説明
バージョン管理理 •  Git / Githubとの強⼒力力な連携・統合
品質を⾼高める開発
プロセス準拠
•  Pipeline機能によりレビュー >
ステージング > 本番  それぞれの
環境をスムーズに移⾏行行
環境複製 •  Forkコマンドで、稼働環境のクロー
ンを容易易に作成
エンタープライズ⽤用途にも対応できる機能/サービスを提供
項⽬目 説明
Private Spaces •  DynoやDataなど、Herokuのアプリ実⾏行行環境をネット
ワーク的に分離離された環境に構築
•  ⽇日本国内のデータセンター利利⽤用も可能
エンタープライズ
サポート
•  技術的な質問やトラブル時のサポートチケットに対して、
重要度度に応じた応答時間のSLAを提供
•  ⽇日本語でのサポート対応を提供
•  導⼊入時のアーキテクチャデザインやAdd-on選定といった
ご相談に⽇日本⼈人技術者が対応
Heroku Connect •  Salesforceのオブジェクトとの双⽅方向データ同期機能を
提供
Private Spaces
Heroku Connect
Postgres
Heroku
オブジェクト
Salesforce
お客様の声
動かす 期待通りのPaaS •  ⾃自社でのインフラ回りの運⽤用が⼀一切切不不要に
•  ハード起因の障害/ミドルウェア系のセキュリティアップデート等も任せて
おける
充実したサポート •  ⽇日本語での技術問合せは⽇日本⼈人スタッフが対応
•  アドオンに対するサポートもワンストップで実施
東京リージョン •  当初約1.0秒要していた⾃自社サーバーとのAPI通信が0.2秒に短縮(海外リー
ジョンから東京リージョンに変更更)
作る 充実したアドオン •  通常は個別契約が必要な外部サービスを「Heroku提供のサービス」として
容易易に活⽤用可能(PostgreSQL / SendGrid / Cloudinary等)
⾼高い開発⽣生産性 •  アプリのリリースがコマンド⼀一発、ロールバックも画⾯面からワンクリック
•  Webアプリをコマンド⼀一発で複製(fork)。アドオンを含む殆どの設定も
複製可能
Node.js開発でHeroku  を使うには
​ とにもかくにも、サインアップしましょう
Node.js on Heroku : 利利⽤用前提条件
​ Heroku はアカウントがあれば、いつでもどこでも利利⽤用できます
• Heroku アカウントを持っていること (このあと、取得の仕⽅方をご説明します)
• git コマンドが利利⽤用可能なこと
• (あると良良い)Heroku CLI コマンドが利利⽤用可能なこと
ソースコードを落落としてきて、デプロイする
だけなら、Heroku アカウントと gitコマンド
があれば、⼤大抵は⼤大丈夫!
Heroku の事前準備
​ Heroku のアカウントを作成しましょう。まずは、“Sign up” から始めます
https://www.heroku.com/home
Heroku の事前準備	
​ 利用者の情報を入力して、 “FREE ACCOUNT” を作りましょう
Heroku の事前準備
​ Heroku を操作するための “Heroku CLI” を導⼊入しましょう
https://devcenter.heroku.com/articles/heroku-‐‑‒cli
Node.js+Expresson  Heroku
​ Node.jsアプリ/WebページをHerokuにデプロイ
Herokuへアプリ/Webページをデプロイする⼀一般的な流流れ
アプリを開発したら、必要なアドオンを追加して “git push” するだけ!
起動確認デプロイアドオン追加Herokuアプリ追加アプリ準備
アプリ開発
git clone
アプリ準備 heroku create
データベース
ログ出⼒力力
監視ツール
ファイル保管
などなど
:
git push heroku logs
150以上も!?
アプリケーションを⼊入⼿手(開発)しましょう
​ 今回は、すでに完成しているアプリを使ってみましょう
$ git clone https://github.com/tabesfdc/heroku_nodejs_20170525.git
Cloning into 'heroku_nodejs_20170525'...
remote: Counting objects: 56, done.
remote: Compressing objects: 100% (35/35), done.
remote: Total 56 (delta 17), reused 52 (delta 15), pack-reused 0
Unpacking objects: 100% (56/56), done.
$ cd ./heroku_nodejs_20170525/
コンソールでどうぞ
下線部(白文字)が実行するコマンドだよ
cd コマンドをお忘れなく
Heroku 上にアプリ(Dyno) を準備しましょう
​ アプリケーションを⼊入れる器を、Heroku側に準備します
$ heroku create
Creating app... done, ⬢ shielded-escarpment-56633
https://calm-lowlands-14220.herokuapp.com/ | https://git.heroku.com/
shielded-escarpment-56633.git
コンソールでどうぞ
下線部(白文字)が実行するコマンドで、ピンクの部分が、作成された
Heroku のアプリ名になるよ
WebアプリのURLは
https:// shielded-escarpment-56633.herokuapp.com/”
だよ
heroku create のあとにアプリ名を指定することもできますが、
必ずユニークな名前である必要があります。
指定しなければ、Heroku 側が適切にユニーク名を付与します。
Heroku Addon を追加してみよう
​ hobby-dev プランの Heroku Postgres をインストールしてみるよ
$ heroku addons:create heroku-postgresql:hobby-dev
Creating heroku-postgresql:hobby-dev on ⬢ calm-lowlands-14220... free
Database has been created and is available
! This database is empty. If upgrading, you can transfer
! data from another database with pg:copy
Created postgresql-rugged-39577 as DATABASE_URL
Use heroku addons:docs heroku-postgresql to view documentation
コンソールでどうぞ
下線部(白文字)が実行するコマンド
空っぽのデータベースができ上がるよ
接続先DB の URL は DATABASE_URL 環境変数へ
登録されるんだ
アプリケーションをデプロイしよう!
​ ⼿手元で開発しないでデプロイするだけなら、これでデプロイできちゃう
$ git remote –v
heroku https://git.heroku.com/shielded-escarpment-56633.git (fetch)
heroku https://git.heroku.com/shielded-escarpment-56633.git (push)
origin https://github.com/tabesfdc/heroku_nodejs_20170525.git (fetch)
origin https://github.com/tabesfdc/heroku_nodejs_20170525.git (push)
$ git push heroku master
Counting objects: 140, done.
Delta compression using up to 4 threads.
:
To https://git.heroku.com/shielded-escarpment-56633.git
* [new branch] master -> master
コンソールでどうぞ
下線部(白文字)が実行するコマンドだよ
heroku create すると、自動的に git のリモートリポジトリが
追加されているんだね、ピンク色の部分だよ。
アプリケーションのログを⾒見見てみよう
​ デプロイできたら、ちゃんと実⾏行行されているかログを⾒見見てみよう
$ heroku logs
2017-05-24T06:27:43.003450+00:00 heroku[web.1]: Starting process with command `npm start`
2017-05-24T06:27:49.673347+00:00 app[web.1]:
2017-05-24T06:27:49.673389+00:00 app[web.1]: > heroku-nodejs-20170525@0.0.1 start /app
2017-05-24T06:27:49.673390+00:00 app[web.1]: > node ./bin/www
2017-05-24T06:27:49.673391+00:00 app[web.1]:
2017-05-24T06:27:50.442533+00:00 heroku[web.1]: State changed from starting to up
コンソールでどうぞ
下線部(白文字)が実行するコマンドだよ
一般的なログの内容を確認できるよ
データベースを使う場合には、マイグレーションが必要
​ ⼀一般的な Rails アプリ同様、 “rake db:migrate” が必要だよ
$ heroku run sequelize db:migrate
Running sequelize db:migrate on ⬢ shielded-escarpment-56633... up, run.8804 (Free)
Sequelize [Node: 6.10.3, CLI: 2.7.0, ORM: 3.30.4]
Loaded configuration file "config/config.json".
Using environment "production".
== 20170524051320-create-account: migrating =======
== 20170524051320-create-account: migrated (0.268s)
コンソールでどうぞ
下線部(白文字)が実行するコマンドだよ
heroku run で、一時的に dyno 上でプログラムを実行できるんだ
これを、 Worker Dyno と呼んでいるよ
実⾏行行された Webアプリケーションを⾒見見てみよう
​ コンソールから、ブラウザへ指⽰示できるよ
$ heroku open
コンソールでどうぞ
heroku open を実行すると、ブラウザで
Webアプリを開いてくれるよ!
ちゃんと動いたのが確認できたね!
Heroku  Dashboard
​ GUI  で各種操作ができるお⼿手軽ツール
Heroku Dashboard とは
​ Heroku の持つコア機能へアクセスするための Webインターフェイス
Heroku Dashboard: apps
​ 登録済み Heroku アプリを⼀一覧できます
アプリやパイプ(後述)の作成
アプリ⼀一覧
アプリの情報
Heroku Dashboard: Overview
​ Heroku アプリの概要を表⽰示します
導⼊入済みアドオン
導⼊入済みDyno
開発者たち
作業ログ
アプリログ
Dynoのリスタート
Heroku Dashboard: Resources
​ Dyno とアドオンの構成を確認できます
Dynoの詳細
導⼊入済みアドオン
Dynoの変更更
スケールが可能
アドオンの導⼊入
Heroku Dashboard: Metrics
​ アプリケーションの性能、リソースの利利⽤用状況などが可視化されます
メモリ使⽤用状況
アプリの応答速度度
アプリの
スループット
Heroku Dashboard: Access
​ アプリケーションごとに開発者のロール制御が可能です
開発者⼀一覧
各開発者の
ロール制御
Heroku Dashboard: Settings
​ Heroku アプリの種種雑多な設定の確認と変更更が可能です
アプリ名
環境変数群
アプリの情報
buildpack
SSL  と  ドメイン
権限の移譲
メンテナンスモード
アプリの削除!
Heroku Pipelines + Pull request
​ Continious Delivery(CD)を実現するための便便利利なワークフロー
https://devcenter.heroku.com/articles/pipelines
Pull  Request  が
⾒見見える!!  
デプロイ状況が、画⾯面で
⼀一望できるね
作ったアプリケーションを Heroku Button で配布する
​ 1click で、Heroku⽤用のアプリケーションを、カンタン deploy
https://devcenter.heroku.com/articles/heroku-button
1CLICK  でアプリケーションが
デプロイできた!!
参考: app.json を準備して、⾃自動化しよう
​ Heroku Button や Pipeline を使う場合には app.json が必要です
{
"name": "heroku-nodejs-0525",
"scripts": {
"postdeploy": "”
},
"env": {
"APP_KEY": {
"value": "”
}
},
"formation": { },
"addons": [ "heroku-postgresql:hobby-dev” ],
”buildpacks": [
{ "url": "heroku/nodejs” }
]
}
  app.json  の例例
デプロイ後に実⾏行行する
スクリプト
環境変数の定義
(特定のキーは⾃自動作成可能)
導⼊入するアドオンも
指定できます
buildpack  も指定する
ことができますよ
Node.js  with  Express注意事項
​ 素の状態から、加筆修正の必要なこと
Node.js with Expressと Heroku での注意事項
• 標準的なデータベースは  PostgreSQL
• package.json
• Procfile
• データベース接続
• デプロイする時の注意事項
• 環境変数についての考慮事項
• その他、Heroku としての注意事項
​ デプロイに向けての下準備と、考慮しておくべき事項について
標準的なデータベースは PostgreSQL
​ ⼀一般的に、Heroku では PostgreSQL を使います。sqlite3 はローカルのみで。
アドオンで多くのデータベースを準備し
ているので、⽤用途に合わせて選べるよ
package.json
npmで導⼊入可能なライブラリやフレームワークを指定するよ
{
"name": "heroku-nodejs-20170525",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node ./bin/www”
},
"dependencies": {
"pg": "~6.2.2",
"body-parser": "~1.17.1",
"cookie-parser": "~1.4.3",
"debug": "~2.6.3",
"express": "~4.15.2",
"jade": "~1.11.0",
"morgan": "~1.8.1",
"serve-favicon": "~2.4.2”
}
}
例例えば、Express環境で実⾏行行する場合
Procfile
​ Node.js で指定したファイルを実⾏行行する場合には、Procfile が必須
web: npm index.js
node.jsで起動する
Node.js  では、Procfile  がない場合
  “npm  start”  が実⾏行行されるよ!
データベース接続
​ “pg” ライブラリを使ってデータベースを接続する記述が必要になるよ
"production": {
"use_env_variable": "DATABASE_URL”,
"dialect": "postgres"
}
“sequelize” で接続する一例
var pg = require('pg');
app.get('/db', function (request, response) {
pg.connect(process.env.DATABASE_URL, function(err, client, done) {
client.query('SELECT * FROM test_table', function(err, result) {
done();
if (err)
{ console.error(err); response.send("Error " + err); }
else
{ response.render('pages/db', {results: result.rows} ); }
});
});
});
“pg” を直接利用する一例
一般的なNodeフレームワークでは
記述が必要だよ
デプロイする時の注意事項
​ DBを使うならマイグレーションできるモジュールも活⽤用しよう
heroku run sequelize db:migrate --env production -m
sequelize  で  Migration  する場合
環境変数についての考慮事項
Node.js では、固有の環境変数は登録されないが...
TZ Asia/Tokyo
  必要に応じて、登録が必要になるもの
PORT (process.env.PORT)
  port  番号は⾒見見えない環境変数から設定
その他、Heroku としての注意事項
•  Dyno は、24時間+α で⾃自動的に勝⼿手に再起動されます
•  セキュリティパッチが、最⼤大 24時間で適⽤用されることを⽰示しています
•  ファイルを永続的に保管することや、セッション情報を維持できなくなりますから、データ・ファイル・セッション
情報などを維持したい場合は、データベースや外部オブジェクトストレージなどで、永続化しましょう
•  ログも保管されません。必要であれば、アドオンなどでログを退避・運⽤用しましょう
•  Web アクセスは 30秒で強制的に切切断されます
•  例例えばバッチ処理理など、処理理に時間のかかるものは、⾮非同期処理理としてバックグラウンドで処理理させよう
•  アプリケーション開発における原理理原則は、Twelve Factor App(https://12factor.net/ja/)に従っているの
で、興味がある開発者の⽅方は、どうぞそちらもご覧ください
​ Heroku では、安全性や不不測の事態に備えて珍しい制限があります
詳しくはこちらへどうぞ
https://devcenter.heroku.com/articles/limits
今⽇日のまとめ
​ Heroku  は開発者の皆さまを、様々なしがらみから開放します
Heroku とは •  インフラをまとめて⾯面倒⾒見見てくれる便便利利なプラットフォーム
Heroku の機能は
•  Web アプリケーションサーバとバッチ処理理機能を持つ
•  GUIで管理理できるDashboard と CLIを提供
アプリのデプロイは •  アプリのソースコードを準備したら、 “git push” するだけ

More Related Content

What's hot

What's hot (20)

Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用
 
Qlik composeのご紹介
Qlik composeのご紹介Qlik composeのご紹介
Qlik composeのご紹介
 
AWS Black Belt Techシリーズ Amazon EBS
AWS Black Belt Techシリーズ  Amazon EBSAWS Black Belt Techシリーズ  Amazon EBS
AWS Black Belt Techシリーズ Amazon EBS
 
Salesforceでの大規模データの取り扱い
Salesforceでの大規模データの取り扱いSalesforceでの大規模データの取り扱い
Salesforceでの大規模データの取り扱い
 
なんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうんなんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうん
 
AWSからのメール送信
AWSからのメール送信AWSからのメール送信
AWSからのメール送信
 
CloudFormation/SAMのススメ
CloudFormation/SAMのススメCloudFormation/SAMのススメ
CloudFormation/SAMのススメ
 
SharePoint Framework の最新情報をキャッチアップしよう!
SharePoint Framework の最新情報をキャッチアップしよう!SharePoint Framework の最新情報をキャッチアップしよう!
SharePoint Framework の最新情報をキャッチアップしよう!
 
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
 
そのRails Engine、 本当に必要ですか?
そのRails Engine、 本当に必要ですか?そのRails Engine、 本当に必要ですか?
そのRails Engine、 本当に必要ですか?
 
OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料
 
Heroku Dyno再起動時の振る舞い
Heroku Dyno再起動時の振る舞いHeroku Dyno再起動時の振る舞い
Heroku Dyno再起動時の振る舞い
 
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
 
AzureActiveDirectoryの認証の話(Azure周りの自動化編)
AzureActiveDirectoryの認証の話(Azure周りの自動化編)AzureActiveDirectoryの認証の話(Azure周りの自動化編)
AzureActiveDirectoryの認証の話(Azure周りの自動化編)
 
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームDBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォーム
 
AWSでDockerを扱うためのベストプラクティス
AWSでDockerを扱うためのベストプラクティスAWSでDockerを扱うためのベストプラクティス
AWSでDockerを扱うためのベストプラクティス
 
はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化
はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化
はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
 
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdevApache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
 

Viewers also liked

Viewers also liked (20)

Ruby開発者のためのHeroku入門
Ruby開発者のためのHeroku入門Ruby開発者のためのHeroku入門
Ruby開発者のためのHeroku入門
 
初めてのWave Analyticsダッシュボード開発
初めてのWave Analyticsダッシュボード開発初めてのWave Analyticsダッシュボード開発
初めてのWave Analyticsダッシュボード開発
 
初めてのWave Analyticsデータセット作成
初めてのWave Analyticsデータセット作成初めてのWave Analyticsデータセット作成
初めてのWave Analyticsデータセット作成
 
App Cloud モバイルアプリ開発戦略
App Cloud モバイルアプリ開発戦略App Cloud モバイルアプリ開発戦略
App Cloud モバイルアプリ開発戦略
 
画像認識AI "Einstein Vision" を試してみよう
画像認識AI "Einstein Vision" を試してみよう画像認識AI "Einstein Vision" を試してみよう
画像認識AI "Einstein Vision" を試してみよう
 
実践!カスタマー エクスペリエンス向上のためのアプリ開発 前編
実践!カスタマー エクスペリエンス向上のためのアプリ開発 前編実践!カスタマー エクスペリエンス向上のためのアプリ開発 前編
実践!カスタマー エクスペリエンス向上のためのアプリ開発 前編
 
Winter '17 開発者向け新機能Webセミナー
Winter '17 開発者向け新機能WebセミナーWinter '17 開発者向け新機能Webセミナー
Winter '17 開発者向け新機能Webセミナー
 
アプリケーション開発をモダンに変える Salesforce DX
アプリケーション開発をモダンに変える Salesforce DXアプリケーション開発をモダンに変える Salesforce DX
アプリケーション開発をモダンに変える Salesforce DX
 
Force.com開発基礎
Force.com開発基礎Force.com開発基礎
Force.com開発基礎
 
Herokuで実践するCI, CD
Herokuで実践するCI, CDHerokuで実践するCI, CD
Herokuで実践するCI, CD
 
実践!カスタマー エクスペリエンス 向上のためのアプリ開発 後編
実践!カスタマー エクスペリエンス 向上のためのアプリ開発 後編実践!カスタマー エクスペリエンス 向上のためのアプリ開発 後編
実践!カスタマー エクスペリエンス 向上のためのアプリ開発 後編
 
Summer '17 リリース開発者向け新機能Webinar
Summer '17 リリース開発者向け新機能WebinarSummer '17 リリース開発者向け新機能Webinar
Summer '17 リリース開発者向け新機能Webinar
 
Lightning コンポーネント開発〜実装例から学ぶ開発のコツ
Lightning コンポーネント開発〜実装例から学ぶ開発のコツLightning コンポーネント開発〜実装例から学ぶ開発のコツ
Lightning コンポーネント開発〜実装例から学ぶ開発のコツ
 
アプリを作った後の運用は万全? Heroku リリース & 運用セミナー
アプリを作った後の運用は万全? Heroku リリース & 運用セミナーアプリを作った後の運用は万全? Heroku リリース & 運用セミナー
アプリを作った後の運用は万全? Heroku リリース & 運用セミナー
 
Lightning アプリケーション開発 - Visualforce ページの移行
Lightning アプリケーション開発 - Visualforce ページの移行Lightning アプリケーション開発 - Visualforce ページの移行
Lightning アプリケーション開発 - Visualforce ページの移行
 
PHP開発者のためのHeroku入門
PHP開発者のためのHeroku入門PHP開発者のためのHeroku入門
PHP開発者のためのHeroku入門
 
Lightning Experience 時代のプロセス開発
Lightning Experience 時代のプロセス開発Lightning Experience 時代のプロセス開発
Lightning Experience 時代のプロセス開発
 
Lightning Experience 時代のフロー開発
Lightning Experience 時代のフロー開発Lightning Experience 時代のフロー開発
Lightning Experience 時代のフロー開発
 
Python開発者のためのHeroku入門
Python開発者のためのHeroku入門Python開発者のためのHeroku入門
Python開発者のためのHeroku入門
 
はじめようLightning Component開発
はじめようLightning Component開発はじめようLightning Component開発
はじめようLightning Component開発
 

Similar to Node.js開発者のためのHeroku入門

Salesforce Platform Mobile Serviceを使ったアプリ開発
Salesforce Platform Mobile Serviceを使ったアプリ開発Salesforce Platform Mobile Serviceを使ったアプリ開発
Salesforce Platform Mobile Serviceを使ったアプリ開発
Salesforce Developers Japan
 
Force.comとモバイルでイベント管理実例
Force.comとモバイルでイベント管理実例Force.comとモバイルでイベント管理実例
Force.comとモバイルでイベント管理実例
Salesforce Developers Japan
 
Heroku Getting Started
Heroku Getting StartedHeroku Getting Started
Heroku Getting Started
Ayumu Aizawa
 
Salesforce1開発(s1 tour)
Salesforce1開発(s1 tour)Salesforce1開発(s1 tour)
Salesforce1開発(s1 tour)
Akihiro Iwaya
 

Similar to Node.js開発者のためのHeroku入門 (20)

やれる Heroku - Java アプリケーション開発編
やれる Heroku - Java アプリケーション開発編やれる Heroku - Java アプリケーション開発編
やれる Heroku - Java アプリケーション開発編
 
Heroku でカンタンすぐに実現する CI/CD
Heroku でカンタンすぐに実現する CI/CDHeroku でカンタンすぐに実現する CI/CD
Heroku でカンタンすぐに実現する CI/CD
 
Go Faster with Lightning : Salesforce Lightning 概要Webinar
Go Faster with Lightning : Salesforce Lightning 概要WebinarGo Faster with Lightning : Salesforce Lightning 概要Webinar
Go Faster with Lightning : Salesforce Lightning 概要Webinar
 
Salesforce Platform Mobile Serviceを使ったアプリ開発
Salesforce Platform Mobile Serviceを使ったアプリ開発Salesforce Platform Mobile Serviceを使ったアプリ開発
Salesforce Platform Mobile Serviceを使ったアプリ開発
 
コンポーネントを”つなぐ”時代へ Web&Mobileアプリ開発最新動向
コンポーネントを”つなぐ”時代へ Web&Mobileアプリ開発最新動向コンポーネントを”つなぐ”時代へ Web&Mobileアプリ開発最新動向
コンポーネントを”つなぐ”時代へ Web&Mobileアプリ開発最新動向
 
Jp visualforce in salesforce1
Jp visualforce in salesforce1Jp visualforce in salesforce1
Jp visualforce in salesforce1
 
Salesforce DX & GitHub Deep Dive
Salesforce DX & GitHub Deep DiveSalesforce DX & GitHub Deep Dive
Salesforce DX & GitHub Deep Dive
 
Developer Keynote
Developer KeynoteDeveloper Keynote
Developer Keynote
 
Spring '15 開発者向け新機能Webinar
Spring '15 開発者向け新機能WebinarSpring '15 開発者向け新機能Webinar
Spring '15 開発者向け新機能Webinar
 
Salesforce1 platformで爆速モバイル開発
Salesforce1 platformで爆速モバイル開発Salesforce1 platformで爆速モバイル開発
Salesforce1 platformで爆速モバイル開発
 
Visualforceを使ってみよう
Visualforceを使ってみようVisualforceを使ってみよう
Visualforceを使ってみよう
 
Salesforce1 PlatformアーキテクチャWebinar
Salesforce1 PlatformアーキテクチャWebinarSalesforce1 PlatformアーキテクチャWebinar
Salesforce1 PlatformアーキテクチャWebinar
 
Lightning を利用した開発とケーススタディ
Lightning を利用した開発とケーススタディLightning を利用した開発とケーススタディ
Lightning を利用した開発とケーススタディ
 
Spring '14リリース開発者向け新機能
Spring '14リリース開発者向け新機能Spring '14リリース開発者向け新機能
Spring '14リリース開発者向け新機能
 
Force.comとモバイルでイベント管理実例
Force.comとモバイルでイベント管理実例Force.comとモバイルでイベント管理実例
Force.comとモバイルでイベント管理実例
 
Heroku Getting Started
Heroku Getting StartedHeroku Getting Started
Heroku Getting Started
 
Spring16 リリース開発者向け新機能Webセミナー
Spring16 リリース開発者向け新機能WebセミナーSpring16 リリース開発者向け新機能Webセミナー
Spring16 リリース開発者向け新機能Webセミナー
 
Salesforce1開発(s1 tour)
Salesforce1開発(s1 tour)Salesforce1開発(s1 tour)
Salesforce1開発(s1 tour)
 
Force.com Canvas アプリケーション
Force.com Canvas アプリケーションForce.com Canvas アプリケーション
Force.com Canvas アプリケーション
 
食わず嫌いの為のSalesforce1 Platform入門
食わず嫌いの為のSalesforce1 Platform入門食わず嫌いの為のSalesforce1 Platform入門
食わず嫌いの為のSalesforce1 Platform入門
 

More from Salesforce Developers Japan

データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみようデータ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
Salesforce Developers Japan
 
業務課題の解決に、データ分析・予測結果の活用を - Einstein Discovery / Einstein 予測ビルダーのご紹介 -
業務課題の解決に、データ分析・予測結果の活用を - Einstein Discovery / Einstein 予測ビルダーのご紹介 -業務課題の解決に、データ分析・予測結果の活用を - Einstein Discovery / Einstein 予測ビルダーのご紹介 -
業務課題の解決に、データ分析・予測結果の活用を - Einstein Discovery / Einstein 予測ビルダーのご紹介 -
Salesforce Developers Japan
 

More from Salesforce Developers Japan (20)

Salesforce DX の始め方とパートナー様成功事例
Salesforce DX の始め方とパートナー様成功事例Salesforce DX の始め方とパートナー様成功事例
Salesforce DX の始め方とパートナー様成功事例
 
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみようデータ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
データ連携の新しいカタチ - 変更データキャプチャ/プラットフォームイベントを MuleSoft Anypoint Platform と組み合わせて試してみよう
 
Einstein Analyticsでのデータ取り込みと加工
Einstein Analyticsでのデータ取り込みと加工Einstein Analyticsでのデータ取り込みと加工
Einstein Analyticsでのデータ取り込みと加工
 
GMOペパボのエンジニアが語るHeroku活用ノウハウ
GMOペパボのエンジニアが語るHeroku活用ノウハウGMOペパボのエンジニアが語るHeroku活用ノウハウ
GMOペパボのエンジニアが語るHeroku活用ノウハウ
 
Salesforce Big Object 最前線
Salesforce Big Object 最前線Salesforce Big Object 最前線
Salesforce Big Object 最前線
 
Salesforce 開発者向け最新情報 Web セミナー 〜 TrailheaDX での新発表 & Summer '19 リリース新機能 〜
Salesforce 開発者向け最新情報 Web セミナー 〜 TrailheaDX での新発表 & Summer '19 リリース新機能 〜Salesforce 開発者向け最新情報 Web セミナー 〜 TrailheaDX での新発表 & Summer '19 リリース新機能 〜
Salesforce 開発者向け最新情報 Web セミナー 〜 TrailheaDX での新発表 & Summer '19 リリース新機能 〜
 
Einstein Next Best Action を試してみよう
Einstein Next Best Action を試してみようEinstein Next Best Action を試してみよう
Einstein Next Best Action を試してみよう
 
Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発
Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発
Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発
 
Lightning時代のService Cloud概要とカスタマイズ
Lightning時代のService Cloud概要とカスタマイズLightning時代のService Cloud概要とカスタマイズ
Lightning時代のService Cloud概要とカスタマイズ
 
Spring '19リリース開発者向け新機能セミナー
Spring '19リリース開発者向け新機能セミナーSpring '19リリース開発者向け新機能セミナー
Spring '19リリース開発者向け新機能セミナー
 
業務課題の解決に、データ分析・予測結果の活用を - Einstein Discovery / Einstein 予測ビルダーのご紹介 -
業務課題の解決に、データ分析・予測結果の活用を - Einstein Discovery / Einstein 予測ビルダーのご紹介 -業務課題の解決に、データ分析・予測結果の活用を - Einstein Discovery / Einstein 予測ビルダーのご紹介 -
業務課題の解決に、データ分析・予測結果の活用を - Einstein Discovery / Einstein 予測ビルダーのご紹介 -
 
Einstein analyticsdashboardwebinar
Einstein analyticsdashboardwebinarEinstein analyticsdashboardwebinar
Einstein analyticsdashboardwebinar
 
MuleSoft Anypoint Platformのコンセプトとサービス
MuleSoft Anypoint PlatformのコンセプトとサービスMuleSoft Anypoint Platformのコンセプトとサービス
MuleSoft Anypoint Platformのコンセプトとサービス
 
IoTで成功を収めるための製品と戦略 〜 Salesforce IoT 〜
IoTで成功を収めるための製品と戦略 〜 Salesforce IoT 〜IoTで成功を収めるための製品と戦略 〜 Salesforce IoT 〜
IoTで成功を収めるための製品と戦略 〜 Salesforce IoT 〜
 
Heroku seminar winter19
Heroku seminar winter19Heroku seminar winter19
Heroku seminar winter19
 
Dreamforce18 update platform
Dreamforce18 update platformDreamforce18 update platform
Dreamforce18 update platform
 
Winter '19 開発者向け新機能
Winter '19 開発者向け新機能Winter '19 開発者向け新機能
Winter '19 開発者向け新機能
 
Lightning時代のレポート ダッシュボード & Flow 最前線
Lightning時代のレポート ダッシュボード & Flow 最前線Lightning時代のレポート ダッシュボード & Flow 最前線
Lightning時代のレポート ダッシュボード & Flow 最前線
 
Summer18 開発者向け新機能Webセミナー
Summer18 開発者向け新機能WebセミナーSummer18 開発者向け新機能Webセミナー
Summer18 開発者向け新機能Webセミナー
 
使ってみよう、Salesforce Big Object!
使ってみよう、Salesforce Big Object!使ってみよう、Salesforce Big Object!
使ってみよう、Salesforce Big Object!
 

Recently uploaded

Recently uploaded (11)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Node.js開発者のためのHeroku入門