Submit Search
Upload
qpstudy 2014.04 ミドルウェア設計の勘所
•
Download as PPTX, PDF
•
53 likes
•
21,348 views
Masahiro NAKAYAMA
Follow
qpstudy 2014.04 ミドルウェア設計の勘所
Read less
Read more
Technology
Report
Share
Report
Share
1 of 70
Download now
Recommended
Guide To AGPL
Guide To AGPL
Mikiya Okuno
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo!デベロッパーネットワーク
リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」
Recruit Technologies
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
Sonar qubeでちょっと楽しい静的解析
Sonar qubeでちょっと楽しい静的解析
政雄 金森
Serverless時代のJavaについて
Serverless時代のJavaについて
Amazon Web Services Japan
低レイヤー入門
低レイヤー入門
demuyan
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Yahoo!デベロッパーネットワーク
Recommended
Guide To AGPL
Guide To AGPL
Mikiya Okuno
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo!デベロッパーネットワーク
リクルートのWebサービスを支える「RAFTEL」
リクルートのWebサービスを支える「RAFTEL」
Recruit Technologies
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
Sonar qubeでちょっと楽しい静的解析
Sonar qubeでちょっと楽しい静的解析
政雄 金森
Serverless時代のJavaについて
Serverless時代のJavaについて
Amazon Web Services Japan
低レイヤー入門
低レイヤー入門
demuyan
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Yahoo!デベロッパーネットワーク
ソフトウェア設計における 意思決定とそのレビューの秘訣
ソフトウェア設計における 意思決定とそのレビューの秘訣
Yoshitaka Kawashima
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向
Yuya Rin
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
5分で分かるgitのrefspec
5分で分かるgitのrefspec
ikdysfm
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢
swamp Sawa
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Daisuke Miyamoto
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
kidach1
【Interop Tokyo 2016】 初心者でもわかるCisco SDNの概要
【Interop Tokyo 2016】 初心者でもわかるCisco SDNの概要
シスコシステムズ合同会社
Ansible specでテストをする話
Ansible specでテストをする話
KeijiUehata1
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務
Yutaka Kachi
DI(依存性注入)について
DI(依存性注入)について
Yui Ito
Azure AD による Web API の 保護
Azure AD による Web API の 保護
junichi anno
Google Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサ
Google Cloud Platform - Japan
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する
TaishiYamada1
Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎
Masayuki Ozawa
Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築
Monstar Lab Inc.
Marp Tutorial
Marp Tutorial
Rui Watanabe
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou
Hadoop事始め
Hadoop事始め
You&I
More Related Content
What's hot
ソフトウェア設計における 意思決定とそのレビューの秘訣
ソフトウェア設計における 意思決定とそのレビューの秘訣
Yoshitaka Kawashima
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向
Yuya Rin
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
5分で分かるgitのrefspec
5分で分かるgitのrefspec
ikdysfm
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢
swamp Sawa
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Daisuke Miyamoto
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
kidach1
【Interop Tokyo 2016】 初心者でもわかるCisco SDNの概要
【Interop Tokyo 2016】 初心者でもわかるCisco SDNの概要
シスコシステムズ合同会社
Ansible specでテストをする話
Ansible specでテストをする話
KeijiUehata1
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務
Yutaka Kachi
DI(依存性注入)について
DI(依存性注入)について
Yui Ito
Azure AD による Web API の 保護
Azure AD による Web API の 保護
junichi anno
Google Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサ
Google Cloud Platform - Japan
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する
TaishiYamada1
Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎
Masayuki Ozawa
Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築
Monstar Lab Inc.
Marp Tutorial
Marp Tutorial
Rui Watanabe
What's hot
(20)
ソフトウェア設計における 意思決定とそのレビューの秘訣
ソフトウェア設計における 意思決定とそのレビューの秘訣
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
5分で分かるgitのrefspec
5分で分かるgitのrefspec
ゼロ幅スペースという悪夢
ゼロ幅スペースという悪夢
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
【Interop Tokyo 2016】 初心者でもわかるCisco SDNの概要
【Interop Tokyo 2016】 初心者でもわかるCisco SDNの概要
Ansible specでテストをする話
Ansible specでテストをする話
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務
DI(依存性注入)について
DI(依存性注入)について
Azure AD による Web API の 保護
Azure AD による Web API の 保護
Google Cloud のネットワークとロードバランサ
Google Cloud のネットワークとロードバランサ
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する
Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎
Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築
Marp Tutorial
Marp Tutorial
Similar to qpstudy 2014.04 ミドルウェア設計の勘所
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou
Hadoop事始め
Hadoop事始め
You&I
Mvp road show_0830_rev1
Mvp road show_0830_rev1
Takano Masaru
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
Oonishi Takaaki
Windows azureって何
Windows azureって何
Kana SUZUKI
【Hpcstudy】みんな、ベンチマークどうやってるの?
【Hpcstudy】みんな、ベンチマークどうやってるの?
Seiichiro Ishida
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)
Takanori Sejima
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
Iwasaki Noboru
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
BP Study #16
BP Study #16
Toshiaki Baba
B 2-1 はじめての Windows Azure
B 2-1 はじめての Windows Azure
GoAzure
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
Kotaro Tsukui
サーバー設定のお話
サーバー設定のお話
Kazunori Inaba
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
Yuki KAN
LINE API × heroku ×selenium
LINE API × heroku ×selenium
医療IT数学同好会 T/T
Couch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki
Zynga
Zynga
awsadvantageseminar
Aws privte20110406 arai
Aws privte20110406 arai
awsadovantageseminar
Couchbaseの紹介 2015/03/05
Couchbaseの紹介 2015/03/05
Couchbase Japan KK
マイニング探検会#10
マイニング探検会#10
Yoji Kiyota
Similar to qpstudy 2014.04 ミドルウェア設計の勘所
(20)
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
Hadoop事始め
Hadoop事始め
Mvp road show_0830_rev1
Mvp road show_0830_rev1
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
Windows azureって何
Windows azureって何
【Hpcstudy】みんな、ベンチマークどうやってるの?
【Hpcstudy】みんな、ベンチマークどうやってるの?
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
BP Study #16
BP Study #16
B 2-1 はじめての Windows Azure
B 2-1 はじめての Windows Azure
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
20120303 _JAWS-UG_SUMMIT2012_エキスパートセッションEMR編
サーバー設定のお話
サーバー設定のお話
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
LINE API × heroku ×selenium
LINE API × heroku ×selenium
Couch DB in 15minutes
Couch DB in 15minutes
Zynga
Zynga
Aws privte20110406 arai
Aws privte20110406 arai
Couchbaseの紹介 2015/03/05
Couchbaseの紹介 2015/03/05
マイニング探検会#10
マイニング探検会#10
More from Masahiro NAKAYAMA
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
Masahiro NAKAYAMA
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
Masahiro NAKAYAMA
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
Masahiro NAKAYAMA
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
Masahiro NAKAYAMA
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
Masahiro NAKAYAMA
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
Masahiro NAKAYAMA
サーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップ
Masahiro NAKAYAMA
#ssmjp 2018/12 技術系同人誌を手に入れよう
#ssmjp 2018/12 技術系同人誌を手に入れよう
Masahiro NAKAYAMA
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
Masahiro NAKAYAMA
クラウドでハンズオンする話 #ssmjp
クラウドでハンズオンする話 #ssmjp
Masahiro NAKAYAMA
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
Masahiro NAKAYAMA
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
Masahiro NAKAYAMA
Serverless book
Serverless book
Masahiro NAKAYAMA
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccamp
Masahiro NAKAYAMA
技術系同人誌を書こう #ssmjp
技術系同人誌を書こう #ssmjp
Masahiro NAKAYAMA
「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo
Masahiro NAKAYAMA
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
Masahiro NAKAYAMA
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
Masahiro NAKAYAMA
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
Masahiro NAKAYAMA
More from Masahiro NAKAYAMA
(20)
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
サーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップ
#ssmjp 2018/12 技術系同人誌を手に入れよう
#ssmjp 2018/12 技術系同人誌を手に入れよう
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
クラウドでハンズオンする話 #ssmjp
クラウドでハンズオンする話 #ssmjp
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
Serverless book
Serverless book
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccamp
技術系同人誌を書こう #ssmjp
技術系同人誌を書こう #ssmjp
「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
Recently uploaded
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Recently uploaded
(9)
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
qpstudy 2014.04 ミドルウェア設計の勘所
1.
qpstudy 2014.04 ミドルウェア設計の勘所 qpstudy 2014-04-19 @nekoruri
2.
3.
Who are you,
@nekoruri ? 秋葉原生まれ大手町育ちの歌って踊れる 江戸っ子インフラエンジニア。 0と1が紡ぐ「ゆるやかなつながり」に魅せられ早20年、 SNSとCGMの力で世界を幸福にするのがライフワーク。 市民、幸福は義務です。あなたは幸福ですか? http://twitter.com/nekoruri http://facebook.com/masapon http://d.hatena.ne.jp/nekoruri/
4.
IaaSシステム構築/管理ガイド 第4章 クラウド環境の運用における監視と可視化 ・安定運用のための運用監視 ・運用監視の方法 ・ニフティクラウドとOSの標準機能で サーバー監視 ・Muninでかんたんリソース監視 ・統合監視ツールZabbixによる監視基盤 の構築 ・その他の監視ツール ・メトリクス収集・解析サービス ・クラウドと監視とDevOps
5.
6.
なかやま まさひろ アメーバ事業本部 クロスイノベーション室 Ameba全体の「横軸」改善チーム ・ゲーム共通のランキング ・サービス間の回遊
7.
8.
「ミドルウェア」 ?
9.
「ミドルウェア」 コンピュータの基本的な制御を 行うオペレーティングシステム (OS)と、各業務処理を行う アプリケーションソフトウェア との中間に入るソフトウェア http://ja.wikipedia.org/wiki/ミドルウェア
10.
「ミドルウェア」 コンピュータの基本的な制御を 行うオペレーティングシステム (OS)と、各業務処理を行う アプリケーションソフトウェア との中間に入るソフトウェア http://ja.wikipedia.org/wiki/ミドルウェア
11.
おさらい:Web三層モデル Web AP DB
12.
おさらい:Web三層モデル Web AP DB •
クライアント との接続を捌 く • 静的なデータ 配信 • 業務ロジック 処理 • 動的データの 生成 • データの保存 と管理 • データの整合 性の保証
13.
ミドルウェアの範囲 Web AP DB ハード ウェア ハード ウェア ハード ウェア OS
OS OS Web サーバ AP サーバ DB サーバ アプリ ケーション
14.
ミドルウェアの範囲 Web AP DB ハード ウェア ハード ウェア ハード ウェア OS
OS OS アプリ ケーション Web サーバ AP サーバ DB サーバ
15.
ミドルウェアの範囲 Web AP DB ハード ウェア ハード ウェア ハード ウェア OS
OS OS アプリ ケーション Web サーバ AP サーバ DB サーバ ハードウェア、OS、アプリケーション以外の すべて
16.
アプリケーション Web AP DB ハード ウェア ハード ウェア ハード ウェア OS
OS OS アプリ ケーション Web サーバ AP サーバ DB サーバ ビジネスの価値そのもの
17.
アプリケーション Web AP DB ハード ウェア ハード ウェア ハード ウェア OS
OS OS アプリ ケーション Web サーバ AP サーバ DB サーバ ビジネスの価値そのもの 機能要件 ⇒ アプリの機能
18.
ミドルウェアの範囲 Web AP DB ハード ウェア ハード ウェア ハード ウェア OS
OS OS アプリ ケーション Web サーバ AP サーバ DB サーバ ハードウェア、OS、アプリケーション以外の すべて
19.
ミドルウェア = OSの上で アプリケーションを動かすために 必要なすべてのソフトウェア
20.
ミドルウェアの設計 = アプリケーションを動かすために 必要なすべてのソフトウェアを 「どのように」 組み合わせるか決める
21.
ミドルウェアの設計 =アプリケーションを動かすために 必要なすべてのソフトウェアを 「どのように」 組み合わせるか決める 要件を満たすシステムを作る
22.
ミドルウェアの選択
23.
ミドルウェアの選択 1. 機能要件によるもの 1. 非機能要件によるもの ○○がしたい ⇒
その実現に□□が最適 障害復旧は××時間以内にしたい ⇒ その実現に△△が最適
24.
今回の採用アーキテクチャ Load Balancer Web AP Web AP Web
AP DB DB 監視 サーバ スケールアウト HAクラス タ
25.
今回の採用アーキテクチャ Load Balancer Web AP Web AP Web
AP DB DB 監視 サーバ スケールアウト HAクラス タ ① ② ③
26.
今回の採用アーキテクチャ Load Balancer Web AP Web AP Web
AP DB DB 監視 サーバ スケールアウト HAクラス タ ① ② ③
27.
Web+AP層のインフラ設計 • 保持データ – Web:
静的データ、一時データ – AP: アプリケーションコード、一時データ • 基本特性 – データロストしても再構築可能 – スケールアウト容易 – 負荷分散と冗長化が一体
28.
APサーバの役割 • アプリケーションを動かす – 業務ロジック処理 –
動的データの生成 • 何らかの言語によるプログラムを動かす – Webからのリクエストに応える – 必要に応じてDBにアクセスする
29.
APサーバの選択 • 言語環境による縛り(機能要件) ⇒ 言語ごとのAPサーバ –
Java: Tomcat, Glassfish, Jetty – Ruby: Unicorn, Puma, Phusion Passenger – PHP: mod_php5, php-fpm – Perl: Starman, Twiggy, mod_perl
30.
APサーバの選択? • 言語環境による縛り(機能要件) ⇒ 言語ごとのAPサーバ –
Java: Tomcat, Glassfish, Jetty – Ruby: Unicorn, Puma, Phusion Passenger – PHP: mod_php5, php-fpm – Perl: Starman, Twiggy, mod_perl • Webサーバ(Apache, nginx) の一部となっ て動くAPサーバがある ⇒ 実質的にWebサーバの選択も縛る
31.
Webサーバの役割 • クライアントとの接続を捌く – 時間の掛かる処理のAPサーバ応答待ち •
静的なデータ配信 – 3G回線のスマホがちんたら長時間接続 ⇒ 豊富な同時接続数 – LAN接続のPCが大量の画像を取得 ⇒ 高速なスループット
32.
C10K(同時接続数の爆発)問題 • 大量のクライアントからの同時接続 – 何も考えないApache(prefork設定)では無理 –
nginxやApache event_mpmの検討 • node.jsでAPサーバを直に公開 – 非同期モデルならば直接C10Kが扱える – 静的データは別ドメインのWebサーバ
33.
HTTP KeepAlive • ブラウザーWeb間は有効が望ましい –
TCPやSSLのハンドシェークにかかる時間 – TCP接続中のパケット落ちのリカバリ時間 (1秒〜3秒) ⇒ スループットに影響 • WebーAP間は無効が望ましい – KeepAlive = 処理が終わった後も接続を残す – APサーバの同時接続数を無駄に消費
34.
Web+AP層のインフラ設計 • 保持データ – Web:
静的データ、一時データ – AP: アプリケーションコード、一時データ • 基本特性 – データロストしても再構築可能 – スケールアウト容易 – 負荷分散と冗長化が一体
35.
Web+AP層はStatelessに保つ • データを持たない – データは全てDBに保存 –
ログも全てDB等に送信 • データの同期なくサーバを追加できる – 非機能要件:性能・拡張性 同時接続数増加に無停止で対応できること • いつサーバが壊れてもなにも失わない
36.
今回の採用アーキテクチャ Load Balancer Web AP Web AP Web
AP DB DB 監視 サーバ スケールアウト HAクラス タ ① ② ③
37.
DB層のインフラ設計 • 保持データ – 永続データ –
トランザクションデータ • 基本特性 – データロストするとシステム崩壊 – データ整合性確保のため分散困難 – HAクラスタで冗長化
38.
DB層のインフラ設計 • 保持データ – 永続データ –
トランザクションデータ • 基本特性 – データロストするとシステム崩壊 – データ整合性確保のため分散困難 – HAクラスタで冗長化 死ぬ気でデータを守れ
39.
HAクラスタ • DBサーバの冗長化手法の一つ – 複数台(通常は2台)でペアを組む –
通常はその片方(サーバA)が仕事をする – もう片方(サーバB)は仕事をしない代わり に、サーバAが動いているか延々とチェック – サーバAが突然の死 – サーバBがAの死に気付く – サーバBが仕事を始める 10分程度
40.
データの同期 • Shared disk
model – ハードウェアレベルで高度に冗長化された 頑丈な共有ディスクにA/Bともに接続 – サーバAが死んだらサーバBが読みに行く サーバA サーバB
41.
データの同期 • Shared nothing
model – サーバAは、処理の結果変更された内容を ずっとサーバBに送り続ける – 十分に速ければ、サーバAと同じデータを サーバB上でも持っていることになる サーバA サーバB
42.
ボトルネックとの闘い • CAP定理:以下の3つは両立しない 1. 一貫性 2.
可用性 3. 分断耐性 • 一般的なDBでざっくりいうと 1. 一貫性と 2. 可用性を求めると、 3. 複数台に分散させることができない
43.
CAP定理の抜け道 • どうしても1台じゃ厳しいヽ(;´Д`)ノ – キャッシュ、レプリケーション ⇒
一貫性への影響 – 機能分割(機能分割)、水平分割 ⇒ 開発効率や一貫性への影響 – 一貫性を捨て、結果整合性で妥協 ⇒ 分散DBの活用
44.
分散DB(NoSQL)の活用 • 「サーバを増やすほど速くなる」 – そんな銀の弾丸があったらOracleが買収し(略 •
分散DBの「性質」を深く理解 – どんなアクセスに向いているのか – どんなデータに向いているのか – 合わないものを使うと不幸になります(断言)
45.
今回の採用アーキテクチャ Load Balancer Web AP Web AP Web
AP DB DB 監視 サーバ スケールアウト HAクラス タ ① ② ③
46.
監視サーバの役割 1. 障害の発見、通知 – サービスの「生存」を監視、通知 –
冗長化サーバの一部だけの故障も検知 2. メトリクス(リソース状況等)の取得 – CPUやメモリの利用率 – ディスク空き容量 – レスポンスを返し終わるまでの応答時間 – どうもおかしい=閾値を超えたら通知
47.
ボトルネックの把握 • 様々なメトリクスの取得 – リクエスト数、ネットワークトラフィック –
DBの内部パラメータ ⇒ ボトルネックの把握、解消
48.
ボトルネックの把握 • 様々なメトリクスの取得 – リクエスト数、ネットワークトラフィック –
DBの内部パラメータ ⇒ ボトルネックの把握、解消 推測するな 計測せよ
49.
監視ツールの選択 • 生存監視 – Nagios、Mon、Sensu •
メトリクス取得 – Munin、GrowthForecast、Cacti • 統合監視 – Zabbix
50.
監視ツールの選択 • 生存監視 – Nagios、Mon、Sensu •
メトリクス取得 – Munin、GrowthForecast、Cacti • 統合監視 – Zabbix とにかく手軽 必要な機能が揃っている
51.
52.
ミドルウェアと生きる
53.
インフラエンジニアの主戦場 • 下の層は手を動かすことが減った – ハードウェアの仮想化 –
OSはRHEL/CentOS、Ubuntuに集約 • 最もエキサイティングな分野 – 新しいミドルウェアが毎年いくつも登場 – 性質を見抜き、最適な場所に投入 – ソフトウェア単位では数年で陳腐化
54.
どうすればこの先生きのこれるか
55.
どうすればこの先生きのこれるか • 人は考えることに注力しよう! – 利用できることは利用しよう •
IaaS、PaaS、BaaS • AWS等クラウド事業者の提供するコンポーネント – 自動化できることは自動化しよう • Puppet、Chef • Vagrant • 継続的デリバリー – 抽象化できることは抽象化しよう • IaaS • Docker
56.
どうすればこの先生きのこれるか • ミドルウェアの「性質」をつかもう! – データベースとか分散DBとかMQとか •
得意とするデータの形式 • 更新の方法・頻度、取得の方法・頻度 • ボトルネックはどこか – WebサーバとかAPサーバとか • キャッシュ • 接続の管理方法 • SSLアクセラレーション – 最適な場所に最適なものを!パズル!
57.
どうすればこの先生きのこれるか • コンピュータサイエンスを学ぼう! – 基礎を知っている人は強い –
新しいものが出てもすぐに順応できる – むしろ余計なことを覚えずに済む – 経験に理詰めを加えることで最強に見える 「推測するな、計測せよ」 1.経験から仮説をたてる 2.計測する 3.結果をもとに理詰めで対策する
58.
どうすればこの先生きのこれるか • セキュリティの知識をつけよう – 情報セキュリティと、暗号化技術 –
脆弱性のリスク分析ができる – 私たちは、 何を 何から どのように 守りたいのか?
59.
60.
The Heartbleed Bug CVE-2014-0160 TLS
heartbeat read overrun 2014-04-07(現地時刻) 脆弱性公表 2014-04-08 JPCERT/CC等から注意喚起 2014-04-13 OpenBSDチームがfork開始 2014-04-19 国内被害公表(三菱UFJニコス) http://www.cr.mufg.jp/corporate/info/pdf/2014/140418_01.pdf
61.
The Heartbleed Bug CVE-2014-0160 TLS
heartbeat read overrun 2014-04-07(現地時刻) 脆弱性公表 2014-04-08 JPCERT/CC等から注意喚起 2014-04-13 OpenBSDチームがfork開始 2014-04-19 国内被害公表(三菱UFJニコス) http://www.cr.mufg.jp/corporate/info/pdf/2014/140418_01.pdf
62.
どうすればこの先生きのこれるか • セキュリティの知識をつけよう – 情報セキュリティと、暗号化技術 –
脆弱性のリスク分析ができる – 私たちは、セキュリティ技術を使って 何を 何から どのように 守りたいのか?
63.
どうすればこの先生きのこれるか • 新しい情報へのアンテナを張り続けよう – 新しい脆弱性 •
極めて緊急性の高い脆弱性にもすぐ対応できる • 読み解くためにはセキュリティの知識が必須 • Heartbleedでも詳細解説出るには数日 – 新しい技術、ソフトウェア • 「使ってみた」系記事 • 「どう使ってみたい」系記事 • 公式ドキュメント、GitHub
64.
65.
66.
!?
67.
どうすればこの先生きのこれるか • 新しい情報へのアンテナを張り続けよう – 新しい脆弱性 •
極めて緊急性の高い脆弱性にもすぐ対応できる • 読み解くためにはセキュリティの知識が必須 • Heartbleedでも詳細解説出るには数日 – 新しい技術、ソフトウェア • 「使ってみた」系記事 • 「どう使ってみたい」系記事 • 公式ドキュメント、GitHub – 急に流行が来ても、嗅覚が効く。
68.
どうすればこの先生きのこれるか • 情報交換をしよう – ブログを書こう •
突っ込まれる──だがそれが良い。 • リファラー見てニヤニヤできる。 – 技術の話ができる相手を見つけよう • Twitter、Facebook • エンジニア勉強会、セミナー、展示会 – 懇親会も機会の一つ • ちょっとウザイぐらいでも絡んで行っちゃおう • Twitterとかでも絡めるようになれば勝ち
69.
70.
まとめ • 「ミドルウェア」ってなによ? – OSとアプリケーションの間のすべて •
Web3層モデルで何考えればいいの? – Web+APの中にデータを持たない – DBのデータを気合いで守る – 推測するな、計測せよ • ミドルウェアと付き合っていこう – 積極的に勉強しよう、アンテナ張ろう、 話し合おう!
Download now