61
Heroku & Database.com RubySocialCloud岡本 充洋 : Technical Specialist at Salesforce.com Japan @mitsuhiro

[2011-17-C-4] Heroku & database.com

Embed Size (px)

DESCRIPTION

Developers Summit 2011

Citation preview

Page 1: [2011-17-C-4] Heroku & database.com

Heroku & Database.com ~ Ruby、Social、Cloud~

岡本 充洋 : Technical Specialist at Salesforce.com Japan @mitsuhiro

Page 2: [2011-17-C-4] Heroku & database.com

Safe Harbor

Safe harbor 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 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, 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 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 quarterly report on Form 10-K for the fiscal year ended January 31, 2010 and our other filings. These documents 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 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.

Page 3: [2011-17-C-4] Heroku & database.com

プログラマブルなインフラ、Ruby、JavaScriptなどが重要なテクノロジと評価される。ThoughtWorksのレポート http://www.publickey1.jp/blog/11/rubyjavascriptthoughtworks.html

Technology Radar http://www.thoughtworks.com/articles/technology-radar-january-2011

Ruby, JavaScriptが今最もHotな言語に

Page 4: [2011-17-C-4] Heroku & database.com

Ranking Programming Languages by Size of Community and Number of Projectshttp://readwriteweb.com/hack/2010/12/ranking-programming-languages.php

Ruby, JavaScriptが今最もHotな言語に

Tier One: C#, Java, PHP, C++, Objective C, JavaScript, Python, C, Ruby, Perl and Shell

Page 5: [2011-17-C-4] Heroku & database.com

なぜ昨今Rubyが注目されているのか

  Tim Brayさん曰く –  良い点

•  美しいデザイン •  Railsがある •  ビジネス視点ではTime to Marketの短縮に貢献 •  親切で協力的なコミュニティ •  実績として記述されたコードの保守性が良い •  実績としてセキュアなシステムが多い

–  悪い点 •  パフォーマンスとスケーラビリティ

Ruby・Python・JavaScript・PHPについてどう思いますか?:Tim Brayに聞いてみた http://builder.japan.zdnet.com/news/story/0,3800079086,20372827,00.htm

Page 6: [2011-17-C-4] Heroku & database.com

Ruby自体の話はRubyの専門家へ

• 偉大なRubyist達から学ぶ – Rubyな団体

• 日本Rubyの会 – http://jp.rubyist.net/

– Rubyビジネス・コモンズ – http://rubybizcommons.jp/

• イベント • Ruby会議2011

– http://rubykaigi.org/2011/

• 大江戸Ruby会議01 – 4月10日 – http://regional.rubykaigi.org/oedo01

• Etc…

Page 7: [2011-17-C-4] Heroku & database.com

なぜ昨今Rubyが注目されているのか

  良い点 –  美しいデザイン –  Railsがある –  ビジネス視点ではTime to Marketの短縮に貢献 –  親切で協力的なコミュニティ –  実績として記述されたコードの保守性が良い –  実績としてセキュアなシステムが多い

  悪い点 –  パフォーマンスとスケーラビリティ

Ruby・Python・JavaScript・PHPについてどう思いますか?:Tim Brayに聞いてみた http://builder.japan.zdnet.com/news/story/0,3800079086,20372827,00.htm

Page 8: [2011-17-C-4] Heroku & database.com

ビジネス視点、Time to Market

Page 9: [2011-17-C-4] Heroku & database.com
Page 10: [2011-17-C-4] Heroku & database.com

とは

  Ruby(Rack)のPlatform as a Service(PaaS)環境   ベストプラクティスがビルドイン

  オープンで先進的なテクノロジ -  No Vendor Lockin

-  Dyno Grid -  node.jsの実験的サポート

  Agile向きなモダンな開発手法 -  Git Pushでデプロイ

  ヘロク?

Page 11: [2011-17-C-4] Heroku & database.com

の仕組み

 Ruby & クラウドのベストプラクティス をPaaS化

 HTTPリバースプロキシ & Cache

 Ruting Mesh

 Dyno Grid

 SQL Database

 Memory Cache

Page 12: [2011-17-C-4] Heroku & database.com

の仕組み

HerokuはAWS上に構築

Page 13: [2011-17-C-4] Heroku & database.com

の仕組み

リバースプロキシはNGiNX

次世代リバプロでポストSquidと 呼ばれる高速サーバ

Page 14: [2011-17-C-4] Heroku & database.com

の仕組み

HTTP CacheはVarnish

こちらもポストSquidの呼び声の高い 高速HTTPアクセラレータ

Page 15: [2011-17-C-4] Heroku & database.com

の仕組み

Routing MeshはErlang (カスタムメイド)

Page 16: [2011-17-C-4] Heroku & database.com

の仕組み

Dyno Gridはスケーラブルな Ruby環境

Page 17: [2011-17-C-4] Heroku & database.com

Dyno Grid

Dyno Gridはスケーラブルな Ruby環境

POSIX : Debian Ruby VM : MRI App Server : Thin Rack : Rack Middleware : Rack Middleware Freamwork : Rails, Sinatra etc …

Page 18: [2011-17-C-4] Heroku & database.com

Dyno Grid

•  1Dynoはシングルスレッド、1CPU Coreの処理ユニット •  大体”典型的”なアプリで1秒間に100リクエスト捌く性能 •  1つの物理サーバに複数のDynoが存在

• スケーラビリティ • ハイアベイラビリティ

Page 19: [2011-17-C-4] Heroku & database.com

Dyno Grid

•  Dyno GridはErlangで書かれたRouting Meshによって 自動的にリクエストが割り振られる。

•  何らかの理由でDynoに問題が発生した場合は、 別のDynoへルーティングする

Page 20: [2011-17-C-4] Heroku & database.com

Dyno Grid

•  Dyno Gridは数秒程度ですぐに増やすことが可能

Page 21: [2011-17-C-4] Heroku & database.com

API / CLI

Herokuでは全ての操作がコマンドラインインタフェースから可能

•  アプリケーションの作成 •  Dynoの追加 / 削除 •  Workerの追加 / 削除 •  etc

Page 22: [2011-17-C-4] Heroku & database.com

API / CLI

Infrastructure as code

プログラマブルなインフラ、Ruby、JavaScriptなどが 重要なテクノロジと評価される。ThoughtWorksのレポート http://www.publickey1.jp/blog/11/rubyjavascriptthoughtworks.html

Technology Radar http://www.thoughtworks.com/articles/technology-radar-january-2011

Page 23: [2011-17-C-4] Heroku & database.com

GIT

HerokuではアプリケーションのデプロイはGit Pushで行う

Page 24: [2011-17-C-4] Heroku & database.com

Demo

Page 25: [2011-17-C-4] Heroku & database.com

Add-On

Herokuを拡張 / 連携するクラウドサービスの マーケットプレイス

Page 26: [2011-17-C-4] Heroku & database.com

Add-On

•  ProvisionやConsumeはHeroku及びそれぞれのService Providerが行う

•  開発者はAdd-Onを追加するだけですぐに使える

Page 27: [2011-17-C-4] Heroku & database.com

価格

  フリーミアム -  1Dyno目は無料

  追加価格 -  1 Dyno $ / 月

-  1 Worker $ / 月

  その他の商品 -  データベース

•  現在はPostgreSQLのみサポート –  価格はDBサイズに合わせて複数

-  MemeCacheD -  SSL, Domain, Cron, etc

Page 28: [2011-17-C-4] Heroku & database.com
Page 29: [2011-17-C-4] Heroku & database.com

Parker Harris

私がHeroku社を好きな理由 http://adnblog.salesforce.co.jp/2010/12/heroku-a524.html

私たちが目指すのは、Heroku社のビジョンとミッションを採り入れ、その成功を後押ししさらに促進させることです。 これからも、「Heroku」は「Heroku」で変わることはありません。むしろ、今まで以上の存在になるでしょう。

Page 30: [2011-17-C-4] Heroku & database.com

まとめ

  Ruby(Rack)のPlatform as a Service(PaaS)環境 -  ベストプラクティスがビルドイン

  オープンで先進的なアーキテクチャ -  Dyno Grid

  モダンなAgileな開発手法 -  Git

-  API / CLI

  Salesforce.comは別会社の関係を維持して後押し -  より成長を早める

Page 31: [2011-17-C-4] Heroku & database.com

番外編 : on-premise vs IaaS vs PaaS

ソフトウェア インストラクチャ

(遅い)

ハードウェア インストラクチャ

(高い)

アプリケーション

いわゆるオンプレミス 開発

Infrastructure as a Service

Security Server

Operating System

Hyper V Server

App Server

Web Server

Mobile Server

Security Server

Operating System

Hyper V Server

App Server

Web Server

Mobile Server

Softwareスタック Softwareスタック

サーバ調達の改善 サーバコストの低下 サーバアドミンの削減

Page 32: [2011-17-C-4] Heroku & database.com

番外編 : on-premise vs IaaS vs PaaS

Infrastructure as a Service

Security Server

Operating System

Hyper V Server

App Server

Web Server

Mobile Server

Software Stack Softwareスタックのマネージメント アップグレードとパッチ マニュアルスケール&チューニング マニュアルバックアップ

ソフトウェア インストラクチャ

(遅い)

ハードウェア インストラクチャ

(高い)

アプリケーション

Page 33: [2011-17-C-4] Heroku & database.com

Security Server

Operating System

Hyper V Server

App Server

Web Server

Mobile Server

番外編 : on-premise vs IaaS vs PaaS

Platform as a Service

コスト削減 止まり

開発 & サービスイン を加速

Security Server

Operating System

Hyper V Server

App Server

Web Server

Mobile Server

Security Server

Operating System

Hyper V Server

App Server

Web Server

Mobile Server

ソフトウェア インストラクチャ

(遅い)

ハードウェア インストラクチャ

(高い)

アプリケーション

いわゆるオンプレミス 開発

Infrastructure as a Service

False Cloud 偽物クラウド

Page 34: [2011-17-C-4] Heroku & database.com

AWS Elastic Beanstalk

番外編 : ではBeanSteakは?

Heroku AWS Elastic Beanstalk

Security Server

Operating System

Hyper V Server

App Server

Web Server

Mobile Server

ソフトウェア インストラクチャ

(遅い)

ハードウェア インストラクチャ

(高い)

アプリケーション

スケーラビリティに関してはBeanstalkに移譲

Page 35: [2011-17-C-4] Heroku & database.com

Herokuが今後より日本のエンタープライズ用途で利用されるのに必要な事

Page 36: [2011-17-C-4] Heroku & database.com
Page 37: [2011-17-C-4] Heroku & database.com
Page 38: [2011-17-C-4] Heroku & database.com

とは

オープン すべての言語、プラットフォーム、デバイスに 高い信頼性 87,200以上のビジネスを支えているプラットフォーム Cloud2 対応 ソーシャル・モバイルアプリケーション対応のデータベース

クラウド上に用意されたデータベース

Any Platform Any Language Any Device

Page 39: [2011-17-C-4] Heroku & database.com

何故Database.comなのか?

Page 40: [2011-17-C-4] Heroku & database.com

今データベースもクラウドに移行している

1960s-1970s メインフレーム データベース

1980s クライアント/サーバー

データベース

現在 クラウド データベース

マルチテナント

インターネットスケール

自動アップグレード

自動チューニング & バックアップ

アプリケーション開発者が主役

Webサービス

ビルトイン セキュリティ

シングルテナント

企業レベルスケール

マニュアルアップグレード

マニュアルチューニング & バックアップ

データベース・インフラ管理者が主役

ODBC / JDBC

セキュリティを独自構築

世代が変わるごとに接続デバイスが10倍以上に

Page 41: [2011-17-C-4] Heroku & database.com

出典: Morgan Stanley Internet Mobile Report、2009 年 12 月

メールのユーザ数

ソーシャルメディアのユーザ数

2009 年 7 月 ソーシャルメディアのユーザ数 > メールのユーザ数

出典: Morgan Stanley Internet Mobile Report、2009 年 12 月

全世界のユーザ数 (

単位:

百万)

検索

インターネットの利用方法は大きく変化

2005 2006

2007 2008 2009E

2010E

2011 E

2012E

2013E

デスクトップ PC

スマートフォン

ノート型 PC

年間出荷台数 (100万)

出典: Morgan Stanley Internet Mobile Report、2009 年 12 月

インターネット接続方法も大きく変化

普及率

(

%)

3G SNS (mixi)

電子商取引

世界 日本

Cloud2の普及において日本が世界をリード

インターネットと利用の変化 ソーシャルとモバイルの大きな伸び

Page 42: [2011-17-C-4] Heroku & database.com

Salesforce.comのサービス構成

フレキシビリティ スピード

細かな 粒度

荒い 粒度

生産性や信頼性を保持しつつ 柔軟性を向上

Page 43: [2011-17-C-4] Heroku & database.com

Form Builder

User Administration

Chatter Components

Workflow and Process Design

Real-Time Mobile

Deployment

Change Management

V1 V2

Real-time Websites

CMS

WYSIWYG Editor

Spring Framework

Eclipse IDE

Java Runtime

Proven Reliability

Multitenant Kernel

Real-time Sandbox

Environment Proven, Real-time Scalability

3 Global Data Centers & Disaster

Recovery

Real-time Transparent

Status

5 Minute Seamless Upgrades

ISO 27001 Certified Security

Salesforce to Salesforce

Real Time Back Ups

Relational Data Store

Identity & Data Security

Global Search API

REST & SOAP APIs

Self Tuning Query Optimizer

Automatic Elasticity

ACID Transactions &

Triggers

Apex Integrated

Analytics Tools Integrated Data Warehouse Chatter API

Programmable UI

Multi-Currency & Language

Excel-to-App

Trials ,Provisioning & Management

Marketplace

Packaging & Upgrades

free trial

Page 44: [2011-17-C-4] Heroku & database.com

Form Builder

User Administration

Chatter Components

Appforce

Workflow and Process Design

Real-Time Mobile

Deployment

Change Management

V1 V2

Real-time Websites

Siteforce

CMS

WYSIWYG Editor

Spring Framework

Eclipse IDE

VMforce

Java Runtime

database.com

Proven Reliability

Multitenant Kernel

Real-time Sandbox

Environment Proven, Real-time Scalability

3 Global Data Centers & Disaster

Recovery

Real-time Transparent

Status

5 Minute Seamless Upgrades

ISO 27001 Certified Security

Salesforce to Salesforce

Real Time Back Ups

Relational Data Store

Identity & Data Security

Global Search API

REST & SOAP APIs

Self Tuning Query Optimizer

Automatic Elasticity

ACID Transactions &

Triggers

Apex Integrated

Analytics Tools Integrated Data Warehouse Chatter API

Programmable UI

Multi-Currency & Language

Excel-to-App

Trials ,Provisioning & Management

Marketplace

ISVforce

Packaging & Upgrades

free trial

Page 45: [2011-17-C-4] Heroku & database.com
Page 46: [2011-17-C-4] Heroku & database.com

企業規模問わず87,200社が利用

大手企業

中規模企業

小規模企業

まったく同じシステムを1ユーザから利用可能。中小企業に世界最先端のシステムを。

Page 47: [2011-17-C-4] Heroku & database.com

短期間でのシステム構築・サービス提供の実現            

(「お客様の声」管理システム:開発導入 約3か月)

カスタマイズ(入力画面、項目変更・追加など)の容易性 堅牢なデータセンター設備 セキュリティー・コスト          

(利用開始前に米国センターを見学・実態検証実施)

  郵政公社の擁する26万人の職員の業務革新、民間企業の営業手法の導入を短期間で行い、スピードある変革を進めるにはSalesforce以外ないと判断しました。

「お客様の声」管理システム 顧客管理システム含め  70,000ユーザ+

専務執行役員 CIO 岩崎 明氏 (郵便局会社、郵貯銀行 担当)

郵便局株式会社:民営化に伴う緊急対応 

Page 48: [2011-17-C-4] Heroku & database.com

案件対応依頼を受けた日から3週間で開発完了!!

Force.com Sitesで構築したWebサイト上で、   ① エコポイント申請   ② ポイント交換    を実施。

1,500万人の登録、 ピーク時4,000万アクセス/月を想定。

問合せ対応の為のコールセンター業務もSalesforce CRMを利用。

経産省・環境省・総務省:エコポイント

住宅エコポイントもForce.comで構築

経済産業省 商務情報政策局 情報経済課長 前田泰宏氏

クラウドコンピューティングは新しいパラダイム 

Page 49: [2011-17-C-4] Heroku & database.com

エンタープライズでクラウドを利用する際に重要な事

  実際の機能、利便性   実際のセキュリティの堅牢さ   永続化データの所在地(国)の明確化   過去の運用実績   顧客の事例

Page 50: [2011-17-C-4] Heroku & database.com

機密性 可用性 保全性 監査性

システムとセキュリティ

お客様はイノベーションに注力 インフラは当社が管理

•  複数の拠点に分散、ミラーリングされたデータセンター

•  ほぼリアルタイムで実行されるデータ複製

•  パスダイバシティを利用した専用のネットワークバックボーン

•  単一障害点を回避 •  特定の通信業者に依存しないネットワーク戦略

運用センター (日本を除くAPAC)

運用データセンター (バックアップ)

運用データセンター (メイン)

開発/テープバックアップセンター

数百億円の投資、99.95%以上の稼動実績、情報漏えい無事故 1日 4億件を超えるトランザクション、300ms以下の処理速度 

ISO27001認証 SysTrust認証

定期的な脆弱性テスト

センター内ミラーリング データセンター間コピー

日次バックアップ バックアップオプション

N+1冗長化

99.95%以上の信頼性

< 300 ms/ページ

Trustサイト

SAS70 Type II

総務省「ASP ・ SaaS安全 ・ 信頼性に係る情報開示認定」

Page 51: [2011-17-C-4] Heroku & database.com

とは

  単なる“RDBMS”ではない   アプリケーション開発に必要なAPIの”塊”   Force.comプラットフォームから

–  標準で提供されるUIを省き –  Developerに必要な管理・開発UIを追加

  データベースとしても通常と異なる特徴 –  代理キーでの関連設計を強要

•  O/Rマッピングとの相性◎

–  ソーシャルフィードがシステムにビルドイン

Page 52: [2011-17-C-4] Heroku & database.com

ビルドイン済み機能

RDB機能 テーブル & カラム 主従関係 1対多 & 多対多関連 トランザクション

ファイルDB機能 テキストデータ 印刷物、画像 音声、ビデオ レコードへの添付

ソーシャル機能 アクティビティフィード フォローモデル ステータスPush グループ ストリーミングAPI

セキュリティ&認証 SAML SSO OAuth2 行レベルセキュリティ

クエリ & 検索機能 SOQL 全文検索(SOSL) バルクAPI

ロジック & 統合 トリガ & ストアド コールアウト モバイル

Page 53: [2011-17-C-4] Heroku & database.com

Demo

Page 54: [2011-17-C-4] Heroku & database.com

FeedのER図

(フォローする側) (フォローされる側)

Usser | オブジェクト

フィードアイテム

User | オブジェクト User

各レコードのフィード

Page 55: [2011-17-C-4] Heroku & database.com

今すぐ使うには

  UI付きのフル機能Force.comは今すぐ試せる

http://jp.force.com/

Page 56: [2011-17-C-4] Heroku & database.com

フリーミアム : 100,000 レコード

50,000 トランザクション / 月

追加料金 / 月 : 100,000 レコード / $10

150,000 トランザクション / $10

エンタープライズユーザ : (認証・ロール・レコードレベルセキュリティ)

3ライセンスまで無料

1ユーザあたり月額 $10

ライトユーザ :    (認証のみ)

100ユーザあたり $10

ユーザ

レコード・トランザクション

価格

Page 57: [2011-17-C-4] Heroku & database.com

Cloud Scaleに対するアプローチ

OLTPスタイルのデータ •  1000万件規模のレコード

–  フル機能

•  既存のアーキテクチャに対する継続的な改善

•  テクニカルアプローチ –  バッチ、非同期、パラレル –  スキニーテーブル –  マルチカラムインデックス –  ディビジョン –  ライト(Role無し)ユーザ

ラージデータのスケール •  億単位のレコード

–  違ったアプローチ

•  既存のアーキテクチャとの親和性を持つ新しいテクノロジ

•  テクニカルアプローチ –  セカンダリデータストア –  シンプルな共有モデル –  分散環境、分散クエリ –  効率的な圧縮

※注)現在検討中の機能ですので、リリース及び時期を保証するものではありません

Page 58: [2011-17-C-4] Heroku & database.com

Cloud Scaleに対するアプローチ

コードネーム”Vampire”

•  新しく設計されたKey & Value型のデータストア

•  現在の機能をサポートしつつ、億単位のデータをサポートする

•  スケーラブルなクラスタアーキテクチャ •  巨大なデータセットに対する分析 標準的な

Force.com データ

ハイボリューム に特化した

ストレージエンジン Join Archive Migrate

数百万件のレコード 利用頻度高 / アクティブデータ

OLTPでの利用

数億件単位のレコード 履歴データ / 詳細(従)データ

分析ユースケース

※注)現在検討中の機能ですので、リリース及び時期を保証するものではありません

Page 59: [2011-17-C-4] Heroku & database.com

まとめ

  “RDBMS”だけではない –  Beyond Database –  認証、データ共有&セキュリティ、コラボレーション

&ソーシャルフィードを単一のDBへ

  信頼とセキュリティ –  既に87,000社が使用している

•  郵便局、損保ジャパン、Dell •  エンタープライズにおいて重要

企業向けデータベース クラウドコンピューティング ソーシャル / モバイル

Page 60: [2011-17-C-4] Heroku & database.com

Ruby Meets Enterprise

Trusted Enterprise Social Authentication

Alternative Agile Open Ruby

Page 61: [2011-17-C-4] Heroku & database.com

Agenda

  世の中の動向とRuby

  Heroku

  Database.com

  この2つが意味すること