Submit Search
PaaSに適したアプリケーション設計がもたらすメリット
10 likes
•
2,602 views
Ayumu Aizawa
1 of 30
Download now
Downloaded 16 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
More Related Content
PDF
Heroku HTTP API Design Guide
Ayumu Aizawa
PDF
Azure の ID 管理サービスに LINE ログインを組み込もう
Yuta Matsumura
PPTX
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
Hitachi, Ltd. OSS Solution Center.
PDF
1 power night2014_imaoka
TerraSky
PDF
ソフトウェアUI妥当性確認の形式化に向けて
Shuji Kinoshita
PPTX
Sf素人が2週間でアプリケーションビルダーに挑戦してみた
政雄 金森
PDF
Slides of ID&IT 2013 (slideshare edit version)
Manabu Kondo
PDF
GovHack千葉市_使ってみよう!CognitiveServices_20171013
Ayako Omori
Heroku HTTP API Design Guide
Ayumu Aizawa
Azure の ID 管理サービスに LINE ログインを組み込もう
Yuta Matsumura
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~
Hitachi, Ltd. OSS Solution Center.
1 power night2014_imaoka
TerraSky
ソフトウェアUI妥当性確認の形式化に向けて
Shuji Kinoshita
Sf素人が2週間でアプリケーションビルダーに挑戦してみた
政雄 金森
Slides of ID&IT 2013 (slideshare edit version)
Manabu Kondo
GovHack千葉市_使ってみよう!CognitiveServices_20171013
Ayako Omori
What's hot
(20)
PDF
Security days 2015
Manabu Kondo
PDF
Hybrid appmeetssecurity kdl20171017-20
龍弘 岡
PDF
Sl study 20150804-soft-layer-apibasic-shibata
Naoki Shibata
PDF
モバイルアプリ開発の現状
Koji Suzuki
PDF
iOS開発豆知識_エスキュービズム勉強会20141006
エンジニア勉強会 エスキュービズム
PDF
12 power night2014 miyanishi
TerraSky
PDF
Archtect meetup sharing_territory_20190801
Ikou Sanuki
PDF
Salesforce Lightning をやってみてあれこれ
寛 吉田
PPTX
Secure coding external app integration
Junji Imaoka
PDF
JPC2016: PUP-02: 今すぐできるソフトウェア資産を活かした Azure ビジネス展開 ~ ソフトウェア資産をお持ちの方も利用する方も ~
MPN Japan
PDF
Skype for Business IoT
adachiyosuke
PDF
Monacaエンタープライズのご紹介
アシアル株式会社
PDF
Keycloakの最近のトピック
Hitachi, Ltd. OSS Solution Center.
PPTX
#3 Go_SaaS Onboarding Seminar Auth0 20191023
Rica Nakajima
PPT
アプリ製作ツール HiCIEL 紹介
baeksunil
PPTX
Lync でできる? 仕事効率化
Manato KAMEYA
PPTX
Lightingコンポーネントベーシック開発
Akihiro Iwaya
PDF
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
アシアル株式会社
PDF
Lync 2013 API カスタマイズアプリ開発
adachiyosuke
PPTX
App001 .net core_アプリケーショ
Tech Summit 2016
Security days 2015
Manabu Kondo
Hybrid appmeetssecurity kdl20171017-20
龍弘 岡
Sl study 20150804-soft-layer-apibasic-shibata
Naoki Shibata
モバイルアプリ開発の現状
Koji Suzuki
iOS開発豆知識_エスキュービズム勉強会20141006
エンジニア勉強会 エスキュービズム
12 power night2014 miyanishi
TerraSky
Archtect meetup sharing_territory_20190801
Ikou Sanuki
Salesforce Lightning をやってみてあれこれ
寛 吉田
Secure coding external app integration
Junji Imaoka
JPC2016: PUP-02: 今すぐできるソフトウェア資産を活かした Azure ビジネス展開 ~ ソフトウェア資産をお持ちの方も利用する方も ~
MPN Japan
Skype for Business IoT
adachiyosuke
Monacaエンタープライズのご紹介
アシアル株式会社
Keycloakの最近のトピック
Hitachi, Ltd. OSS Solution Center.
#3 Go_SaaS Onboarding Seminar Auth0 20191023
Rica Nakajima
アプリ製作ツール HiCIEL 紹介
baeksunil
Lync でできる? 仕事効率化
Manato KAMEYA
Lightingコンポーネントベーシック開発
Akihiro Iwaya
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
アシアル株式会社
Lync 2013 API カスタマイズアプリ開発
adachiyosuke
App001 .net core_アプリケーショ
Tech Summit 2016
Ad
Similar to PaaSに適したアプリケーション設計がもたらすメリット
(20)
PDF
プロフェッショナルのための 実践 Heroku 入門
Salesforce Developers Japan
PDF
Heroku でカンタンすぐに実現する CI/CD
Takashi Abe
PDF
(Ruby + Agile) x Cloud = Like!
Ayumu Aizawa
PDF
Social Enterprise Java Apps on Heroku Webinar
Salesforce Developers Japan
PDF
Building Scalable Application on the Cloud
Keisuke Nishitani
PDF
PaaSで簡単Railsアプリを公開しよう!
Yoshitake Takata
PDF
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
schoowebcampus
PDF
Heroku入門
Salesforce Developers Japan
PDF
楽天がCloud foundryを選んだ理由
Rakuten Group, Inc.
PDF
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Yoshihito Kuranuki
PDF
Heroku Getting Started
Ayumu Aizawa
PDF
Issues of Rubyists
Ayumu Aizawa
PPTX
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
VirtualTech Japan Inc.
PPTX
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
Nobuyuki Tamaoki
PDF
Heroku Inside
Ayumu Aizawa
PDF
Open棟梁 v2 ソリューション化検討資料
Daisuke Nishino
PDF
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ayumu Aizawa
PDF
PaaS / Cloud Foundry makes you happy
Katsunori Kawaguchi
PPTX
Enterprise Development Conference 2016 プライベートPaaSが実現するアジャイル開発と次世代型アプリケーションの実例
JUNICHI YOSHISE
PDF
herokuもおもしろそうだよ(よこはまクラウド勉強会LT資料)
Kentaro Takasaki
プロフェッショナルのための 実践 Heroku 入門
Salesforce Developers Japan
Heroku でカンタンすぐに実現する CI/CD
Takashi Abe
(Ruby + Agile) x Cloud = Like!
Ayumu Aizawa
Social Enterprise Java Apps on Heroku Webinar
Salesforce Developers Japan
Building Scalable Application on the Cloud
Keisuke Nishitani
PaaSで簡単Railsアプリを公開しよう!
Yoshitake Takata
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
schoowebcampus
Heroku入門
Salesforce Developers Japan
楽天がCloud foundryを選んだ理由
Rakuten Group, Inc.
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Yoshihito Kuranuki
Heroku Getting Started
Ayumu Aizawa
Issues of Rubyists
Ayumu Aizawa
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
VirtualTech Japan Inc.
オープンクラウド基盤の価値と導入へ向けた考慮点 〜IaaSからPaaSまで - EMC様セミナー 「あなたのビジネスを高速化!DevOpsとアジャイル開発...
Nobuyuki Tamaoki
Heroku Inside
Ayumu Aizawa
Open棟梁 v2 ソリューション化検討資料
Daisuke Nishino
Ruby コミュニティの文化に学ぶエンタープライズシステム開発の処方箋
Ayumu Aizawa
PaaS / Cloud Foundry makes you happy
Katsunori Kawaguchi
Enterprise Development Conference 2016 プライベートPaaSが実現するアジャイル開発と次世代型アプリケーションの実例
JUNICHI YOSHISE
herokuもおもしろそうだよ(よこはまクラウド勉強会LT資料)
Kentaro Takasaki
Ad
More from Ayumu Aizawa
(19)
PDF
Introducing Fn Project
Ayumu Aizawa
PDF
Heroku
Ayumu Aizawa
PDF
Heroku Changelog in 2013
Ayumu Aizawa
PDF
Connected Products
Ayumu Aizawa
PDF
Heroku Update Jul, 2013
Ayumu Aizawa
PDF
Heroku Update
Ayumu Aizawa
PDF
Heroku - Forget Servers!!
Ayumu Aizawa
PDF
Heroku Postgres
Ayumu Aizawa
PDF
Using Ruby2.0 on Heroku
Ayumu Aizawa
PDF
Enterprise Heroku for Java
Ayumu Aizawa
PDF
Heroku
Ayumu Aizawa
PDF
カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~
Ayumu Aizawa
PDF
Herokuのご紹介
Ayumu Aizawa
PDF
Heroku Introduction
Ayumu Aizawa
PDF
Herokuのご紹介
Ayumu Aizawa
PDF
Building scalablewebapps
Ayumu Aizawa
PDF
Heroku in Japan
Ayumu Aizawa
PDF
SIerのなかのRubyistが書くべき成果物の具体例
Ayumu Aizawa
PDF
もしRubyistがドラッガーの『マネジメント』を読んだら
Ayumu Aizawa
Introducing Fn Project
Ayumu Aizawa
Heroku
Ayumu Aizawa
Heroku Changelog in 2013
Ayumu Aizawa
Connected Products
Ayumu Aizawa
Heroku Update Jul, 2013
Ayumu Aizawa
Heroku Update
Ayumu Aizawa
Heroku - Forget Servers!!
Ayumu Aizawa
Heroku Postgres
Ayumu Aizawa
Using Ruby2.0 on Heroku
Ayumu Aizawa
Enterprise Heroku for Java
Ayumu Aizawa
Heroku
Ayumu Aizawa
カスタムアプリケーションプラットフォーム Salesforce Heroku~ ソーシャルアプリケーションを支える技術 ~
Ayumu Aizawa
Herokuのご紹介
Ayumu Aizawa
Heroku Introduction
Ayumu Aizawa
Herokuのご紹介
Ayumu Aizawa
Building scalablewebapps
Ayumu Aizawa
Heroku in Japan
Ayumu Aizawa
SIerのなかのRubyistが書くべき成果物の具体例
Ayumu Aizawa
もしRubyistがドラッガーの『マネジメント』を読んだら
Ayumu Aizawa
PaaSに適したアプリケーション設計がもたらすメリット
1.
PaaSに適したアプリケーション設計 がもたらすメリット 相澤 歩 テクニカルアカウントマネジャー/エバンジェリスト Heroku,Inc.
2.
自己紹介 相澤 歩 テクニカルアカウントマネジャー シニア・デベロッパーマーケティング シニア・ソリューション・アーキテクト Rubyコア開発 コミッター 経歴 国内SI、外資コンサルティングファーム を経て2012年より現職 RubyWorld
Conference他、国内外の カンファレンスにて登壇
3.
Heroku 開発者のためにつくられた クラウドプラットフォーム
5.
Herokuの歴史 2007年 創業 Ruby on
Railsアプリの開発プラットフォームとしてスタート 2009年 本格的なサービス運用基盤に進化 ブラウザ開発環境からの脱却 2010年 セールスフォース・ドットコム社からの買収 Salesforce Platformの一部として柔軟なクラウド基盤を提供 2011年 多言語(Polyglot)プラットフォームへの進化 Python、Java、Node.jsなどを公式サポート、buildpackによる拡張 2012年 データベースのクラウドサービスHeroku Postgresを発表 最新のPostgreSQLに完全対応 2013年 欧州データセンターの開設 2014年 ビジネスとサービスをつなぐ「Heroku Connect」の出荷
6.
Herokuの特長 インフラではなくアプリケーションの開発に集中 Herokuのツールや環境は、アプリの特性に応じた最も 適切なテクノロジをすばやく適用することを可能にします つかい慣れたツールでいますぐにデプロイ 新しい機能の追加やバグの修正をいつでも簡単に おこなうことができます 数百万のユーザーをささえるスケーラビリティ アーキテクチャの変更なしにアプリケーション をスケールアウトすることができます
7.
Ruby実行環境のサポート Rubyコア開発コミッターが4人在籍 最も安全に、最新のRubyを利用できるプラットフォーム 国内A社 国内B社 海外C社 △ ✕ ✕ △ ✕ ✕ ◎ ◎ ◎ 1.8.7 1.9.2 1.9.3 ✕ ✕ ◎ ✕ ✕ ◎ 2.0.0
2.1 ◎ △ ◎ ◎ ◎ Rubyコア開発チーム によるメンテ終了済み セキュリティ 脆弱性対応のみ 安定版
8.
Ruby以外の開発言語サポート Ruby以外にも数多くのプログラミング言語に対応 実行環境のカスタマイズも自由 国内A社 国内B社 海外C社 ◎ ✕ ◎ ◎ ✕ ◎ ✕ ✕ ◎ ◎ ✕ ◎ ✕ ✕ ✕ ◎ ◎ ◎
◎ ○
9.
Herokuの採用事例 世界で最も実績のあるプラットフォームクラウド
10.
Herokuのアーキテクチャ概要 コンテナによる環境の分離
11.
コンテナ型アーキテクチャ ハイパーバイザによる環境の分離 ハードウェア(物理サーバ) 仮想化基盤(ハイパーバイザ) VM OS ユーザープロセス サービス機能
12.
コンテナ型アーキテクチャ コンテナによる環境の分離 ハードウェア(物理サーバ) 仮想化基盤(ハイパーバイザ) VM OS ユーザープロセス サービス機能
13.
コンテナ型アーキテクチャ コンテナへのアプリケーション配備 ハードウェア(物理サーバ) 仮想化基盤(ハイパーバイザ) VM OS ユーザープロセス サービス機能 アプリ 本体
14.
コンテナ型アーキテクチャ コンテナを実現するミドルウェア - OpenVZ - LXC(Linux
Container) - Docker - Warden など コンテナを利用するメリットとデメリット ○ 高密度化が可能(ひとつの物理サーバー上に配備可能な数が多い) ○ オーバーヘッドが少ない ○ 軽量ですばやい起動/終了ができる ▲ 同一のサーバーに異なるOSに依存するアプリを配備できない ▲ 同一サーバー上の別コンテナの影響を受ける場合がある ▲ ファイルシステムに永続化した情報は揮発する ▲ スティッキーセッションが使えない(場合がある)
15.
コンテナ型アーキテクチャ ひとつのアプリに対して複数のコンテナが配備される
16.
コンテナ型アーキテクチャ サーバーがダウンしてもアプリ全体は停止しない
17.
コンテナ型アーキテクチャ 欠けたコンテナはすぐに別のサーバー上で起動される
18.
PaaSの利点 コンテナ型アーキテクチャを採用するプラット フォームの利点: - アプリケーションを分散かつ高密度に配備することにより、 より多くのサービスを稼働させながら、安全性と対障害性 を高めている - 必要なタイミングですばやくスケールイン/アウトを おこなうことができる -
上記のような特性を備えた環境を初期投資なしで利用 できる
19.
コンテナ型アーキテクチャで 稼働するアプリの設計
20.
設計上の考慮 コンテナを利用するメリットとデメリット ○ 高密度化が可能(ひとつの物理サーバー上に配備可能な数が多い) ○ オーバーヘッドが少ない ○
軽量ですばやい起動/終了ができる ▲ 同一のサーバーに異なるOSに依存するアプリを配備できない ▲ 同一サーバー上の別コンテナの影響を受ける場合がある ▲ ファイルシステムに永続化した情報は揮発する ▲ スティッキーセッションが使えない(場合がある) いわゆる「シェアードナッシングな設計」が求められる
21.
ストレージの揮発性 コンテナのストレージは揮発する(再起動時に失われる) ため永続化するデータはコンテナの外側に保存する 具体的には以下のようなもの: - セッション情報 - ブラウザからアップロードした画像やPDFファイル -
ログ情報
22.
ストレージの揮発性 – セッション情報 セッション情報は、データベースやキャッシュサービス などに保存し、必要の都度読みだすようにする Herokuの場合: -
MemCachierアドオンを追加 - Gemfileに以下を記述し、bundle install gem ‘memcachier’ gem ‘dolli’ - config/environments/production.rbを修正 config.cache_store = :dalli_store (参照)https://devcenter.heroku.com/articles/memcachier#rails-3-and-4
23.
ストレージの揮発性 – 画像ファイルなど ブラウザからアップロードされたデータは、 適切な形でデータベースに保存するか、外部のストレー ジサービスに保存する Herokuの場合: -
Cloudinaryアドオンを追加 - Gemfileに以下を記述し、bundle install gem 'carrierwave' gem 'cloudinary’ - Cloudinary::Uploader.uploadメソッドを利用 (参照)https://devcenter.heroku.com/articles/cloudinary
24.
ストレージの揮発性 – ログ情報 アプリケーションから出力されるログは、コンテナ 内部には蓄積されない Herokuの場合: -
ログ情報はストリームデータとして流れ続ける - ログ管理系のアドオンを導入することで、 一定期間ごとのバックアップが可能 - まとめてビッグデータに転送するのもアリ
25.
スティッキーセッション セッション識別子をロードバランサーなどで検知して 同じセッションを同じアプリインスタンス(コンテナ) にディスパッチする機能 - スティッキーセッションを利用すると、PaaSに よる効率的なルーティングがアプリ要因で阻害 されることになるため、良い設計とは言えない - ロードバランサー側でスティッキーセッションが 有効化されていることを前提としたアプリの場合は 設計変更が必要になる場合がある -
PaaSのロードバランサーがスティッキーセッション に対応している場合は問題ない (Herokuはα機能として実験的に利用可能)
26.
その他の考慮点 タイムアウト PaaSはサービス事業者が想定している以上の 時間応答がないリクエストをタイムアウトで 強制終了することがある(Herokuの場合は30秒) 対応策:長い時間がかかる処理はキューに登録し、 バックグラウンド処理で実行するようにする
27.
PaaSに適した設計
28.
まとめ PaaSに適したアプリ設計の要点 - アプリケーションが、プロセス単位で分散配置され、 - 個別のプロセスはいつでも不安定になり得る という前提の下、シェアードナッシングに設計する 得られる利益 -
PaaSが提供する安全で拡張性のある実行環境を 初期投資ナシで利用可能 - スモールスタートで運用開始し必要なときに スケールアウトさせることが可能 - アプリケーションの可搬性が高くなり、ベンダー ロックインにならない
29.
さらに生産性の高い開発/運用のために The Twelve Factor
Application - 現代的なアプリケーションを設計、構築、運用 するための12の方法論 - Heroku創業者のアダム・ウィギンスがプラット フォームサービス上で稼働する数百のアプリの 特性から得た知見をまとめたもの (原文)http://12factor.net/ (日本語訳)http://twelve-factor-ja.herokuapp.com/
30.
Thank you heroku.com @herokujp
Download