Suche senden
Hochladen
PHP x AWS でスケーラブルなシステムをつくろう
•
Als PPTX, PDF herunterladen
•
48 gefällt mir
•
15,388 views
Taiji INOUE
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 50
Jetzt herunterladen
Empfohlen
Hyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理する
junichi anno
組織の問題も解決するアーキテクチャ BackendsForFrontends
組織の問題も解決するアーキテクチャ BackendsForFrontends
PIXTA Inc.
Azure Kubernetes Service Overview
Azure Kubernetes Service Overview
Takeshi Fukuhara
REST API のコツ
REST API のコツ
pospome
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
whywaita
グラフデータベース入門
グラフデータベース入門
Masaya Dake
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
Empfohlen
Hyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理する
junichi anno
組織の問題も解決するアーキテクチャ BackendsForFrontends
組織の問題も解決するアーキテクチャ BackendsForFrontends
PIXTA Inc.
Azure Kubernetes Service Overview
Azure Kubernetes Service Overview
Takeshi Fukuhara
REST API のコツ
REST API のコツ
pospome
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
whywaita
グラフデータベース入門
グラフデータベース入門
Masaya Dake
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話
natsumi_ishizaka
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
Daisuke Masubuchi
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!
オラクルエンジニア通信
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
Masahito Zembutsu
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
Maven基礎
Maven基礎
Toshio Takiguchi
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話
Makoto Haruyama
PHPからJavaへ乗り換えた。そんな昔話をしよう
PHPからJavaへ乗り換えた。そんな昔話をしよう
優介 黒河
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
実践 NestJS
実践 NestJS
Ayumi Goto
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Masatoshi Tada
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
インフラCICDの勘所
インフラCICDの勘所
Toru Makabe
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 TOKYO
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 TOKYO
Game Tools & Middleware Forum
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
dena_study
広告がうざい
広告がうざい
Gen Ito
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
崇之 清水
Phpをいじり倒す10の方法
Phpをいじり倒す10の方法
Moriyoshi Koizumi
Weitere ähnliche Inhalte
Was ist angesagt?
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話
natsumi_ishizaka
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
Daisuke Masubuchi
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!
オラクルエンジニア通信
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
Masahito Zembutsu
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
Maven基礎
Maven基礎
Toshio Takiguchi
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話
Makoto Haruyama
PHPからJavaへ乗り換えた。そんな昔話をしよう
PHPからJavaへ乗り換えた。そんな昔話をしよう
優介 黒河
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
実践 NestJS
実践 NestJS
Ayumi Goto
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Masatoshi Tada
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
インフラCICDの勘所
インフラCICDの勘所
Toru Makabe
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 TOKYO
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 TOKYO
Game Tools & Middleware Forum
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
dena_study
広告がうざい
広告がうざい
Gen Ito
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
Was ist angesagt?
(20)
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
Maven基礎
Maven基礎
マイクロサービスっぽい感じの話
マイクロサービスっぽい感じの話
PHPからJavaへ乗り換えた。そんな昔話をしよう
PHPからJavaへ乗り換えた。そんな昔話をしよう
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
実践 NestJS
実践 NestJS
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
インフラCICDの勘所
インフラCICDの勘所
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 TOKYO
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 TOKYO
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
広告がうざい
広告がうざい
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
Andere mochten auch
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
崇之 清水
Phpをいじり倒す10の方法
Phpをいじり倒す10の方法
Moriyoshi Koizumi
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
Kazuo Murakami
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
ichikaway
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
Ippei Sumida
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
Yusuke Kawabata
Wocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築する
Kite Koga
エンジニア採用ヤバイ! PHPカンファレンス関西 懇親会LT
エンジニア採用ヤバイ! PHPカンファレンス関西 懇親会LT
Tomoyuki Sugita
PHPカンファレンス2015
PHPカンファレンス2015
Daisuke Kasuya
PHP Codeception テスト -- 日本語
PHP Codeception テスト -- 日本語
Florent Batard
PHPにないセキュリティ機能
PHPにないセキュリティ機能
Yasuo Ohgaki
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
Hiroyuki Sugimoto
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
20150531 phpcon kansai
20150531 phpcon kansai
kumamidori
MBSハッカソン協賛品_ハンズラボ20170211
MBSハッカソン協賛品_ハンズラボ20170211
由佳 青木
型超ざっくり入門@ハンズラボ社内勉強会
型超ざっくり入門@ハンズラボ社内勉強会
Yusuke Usui
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Hisateru Tanaka
Php blt-vol2
Php blt-vol2
Masanori Hayashi
AWSからのメール送信
AWSからのメール送信
Amazon Web Services Japan
Amazon ElastiCacheのはじめ方
Amazon ElastiCacheのはじめ方
Amazon Web Services Japan
Andere mochten auch
(20)
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
PHP で始める AWS モバイルサービス - PHPカンファレンス_20150530
Phpをいじり倒す10の方法
Phpをいじり倒す10の方法
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
とある小売IT企業での新卒仮想プロジェクト(工具共有サービス)
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
PHPerにもCoderDojoのメンターとしてお手伝いしてほしい
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
PHPとフロントのイイ関係・動くスタイルガイドをつくろう
Wocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築する
エンジニア採用ヤバイ! PHPカンファレンス関西 懇親会LT
エンジニア採用ヤバイ! PHPカンファレンス関西 懇親会LT
PHPカンファレンス2015
PHPカンファレンス2015
PHP Codeception テスト -- 日本語
PHP Codeception テスト -- 日本語
PHPにないセキュリティ機能
PHPにないセキュリティ機能
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP初心者に贈る、まちがえないPHPの始め方・学び方
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
20150531 phpcon kansai
20150531 phpcon kansai
MBSハッカソン協賛品_ハンズラボ20170211
MBSハッカソン協賛品_ハンズラボ20170211
型超ざっくり入門@ハンズラボ社内勉強会
型超ざっくり入門@ハンズラボ社内勉強会
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Php blt-vol2
Php blt-vol2
AWSからのメール送信
AWSからのメール送信
Amazon ElastiCacheのはじめ方
Amazon ElastiCacheのはじめ方
Ähnlich wie PHP x AWS でスケーラブルなシステムをつくろう
20090828 Webconlocal
20090828 Webconlocal
Kentaro Matsui
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
Hashicorpツールズ
Hashicorpツールズ
Uchio Kondo
オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
Hidetoshi Hirokawa
AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825
Yasuharu Suzuki
FuelPHP活用事例
FuelPHP活用事例
Yusuke Naka
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
php.netの歩き方
php.netの歩き方
Rui Hirokawa
Flumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システム
Satoshi Iijima
メッセージキュー「Pulsar」の紹介 @OSC_20171007
メッセージキュー「Pulsar」の紹介 @OSC_20171007
Nozomi Kurihara
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
Kazuto Kusama
Python charity talk in japan fastAPI introduction
Python charity talk in japan fastAPI introduction
ssuserc75dc7
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Tetsurou Yano
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料
Takashi Aoe
WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
Study Group by SciencePark Corp.
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
Shinichiro Yoshida
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知
zaru sakuraba
TokyoWebminig カジュアルなHadoop
TokyoWebminig カジュアルなHadoop
Teruo Kawasaki
Ähnlich wie PHP x AWS でスケーラブルなシステムをつくろう
(20)
20090828 Webconlocal
20090828 Webconlocal
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
Hashicorpツールズ
Hashicorpツールズ
オフラインファーストの思想と実践
オフラインファーストの思想と実践
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825
FuelPHP活用事例
FuelPHP活用事例
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
php.netの歩き方
php.netの歩き方
Flumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システム
メッセージキュー「Pulsar」の紹介 @OSC_20171007
メッセージキュー「Pulsar」の紹介 @OSC_20171007
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
Python charity talk in japan fastAPI introduction
Python charity talk in japan fastAPI introduction
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料
WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知
TokyoWebminig カジュアルなHadoop
TokyoWebminig カジュアルなHadoop
Kürzlich hochgeladen
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介: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
Kürzlich hochgeladen
(9)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介: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
PHP x AWS でスケーラブルなシステムをつくろう
1.
PHP x AWS
でスケーラブルなシ ステムをつくろう 2015-06-27 PHPカンファレンス福岡 ハンズラボ株式会社 井上泰治
2.
自己紹介 • 井上 泰治
(いのうえ たいじ) • ハンズラボ株式会社 • Twitter: inufs • Github: inouet ECサイトのバックエンド開発などをやっています。 PHPはPHP3の頃から、かれこれ 10年くらい使って います。
3.
もくじ 1. スケーラブルなシステムとは 2. サービスの成長に伴う課題と解決方法 3.
まとめ 1. スケーラブルなシステムとは
4.
スケーラビリティとは Wikipediaより抜粋 負荷の高低に合わせてリソース・ プールを拡大・縮小できること 短時間に 自動的に
5.
スケーラビリティとは サーバ 本などに書いてあるスケーラビリティ
6.
スケーラビリティとは サーバ スケールアップ
7.
スケーラビリティとは スケールアウト こうなるようにすればよい わかっとるわ!
8.
実際には … 増え続ける構成要素 Database
httpd Proxy / Cache Cache Storage Search Deploy Job QueueDevelop Storage
9.
スケーラビリティとは 実際にはシステムは複数の構成要素から構成され る。WEBサーバ、アプリケーションサーバ、DBサー バ、ロードバランサ、キャッシュ、ストレージなど。 それぞれの構成要素がスケールできるようになっ ていなければならない。 ボトルネックとなりがちな所をAWSに任せて、 開発者はアプリケーション開発に集中しよう!
10.
1. スケーラブルなシステムとは 2. サービスの成長に伴う課題と解決方法 3.
まとめ
11.
最小構成で頑張る期
12.
1. 最小限構成で頑張る期 WEB/App/DB サーバ オール・イ ンワン!
13.
1. 最小限構成で頑張る期 WEB/App/DB サーバ 起きうる課題 アクセス増加で、徐々にサーバー 負荷上昇 サイトが重くなる まずはスペック上げてみる AWSならサーバー停止は必要なものの 簡単にスペックを上げられる
14.
DBサーバ WEB/App サーバ セッション アップロードファイル リクエストはどうやって分散 する? ファイルで持ってたセッショ ンどうしよう ユーザーがアップロードした 画像どうしよう とりあえず、 サーバー分けたけ ど… 1. 最小限構成で頑張る期
15.
WEB/App サーバ S3 memcached 画像など セッション ロードバランサ(ELB)を導 入しよう セッションはmemcached に持たせよう アップロードされたファイ ルの共有にはS3を使おう DBサーバ 1.
最小限構成で頑張る期
16.
1. 最小限構成で頑張る期 PHPにはセッションハンドラという機構があり、 保存先のストレージを設定で変更できるようになっている。 また独自のハンドラを実装することで、新しい保存先を自分で 追加することも可能。 session.save_handler =
memcache session.save_path = 'tcp://10.1.1.1:11211’ /etc/php.ini 最近のフレームワークはその機能を元から同梱していることがほとんどなので、 たいていはフレームワークの設定で済む。 例) http://laravel3.kore1server.com/docs/cache/config#memchached セッションハンドラについて
17.
1. 最小限構成で頑張る期 主にPHPのSDKからアップする方法と、コマンドラインからアップロードする 2通りの方法がある。 下記はSDKを使った例 S3へのアップロードについて
18.
それっぽい構成(初期)
19.
2.それっぽい構成(初期) DBサーバ WEB/App サーバ S3 memcached 画像など セッション 徐々にDBが重くなってきた。 起きうる課題 せっかくmemcachedあるんだし、 ガンガンキャッシュしちゃえ →
memcachedも悲鳴を上げだ した。 ELB
20.
node1 node2 下記のように、増やしたサーバを その都度追加しても良いのですが… Memcachedサーバを追加するたびに、 アプリケーションコードもしくは設定ファイルの修正が必 要になる。 Appサーバ まずはmemcached増やしてみよう 追加 2.それっぽい構成(初期)
21.
2.それっぽい構成(初期) node1 node2 Cluster Client
が サーバーの増減を検知して適切なサーバーに 割り振ってくれる → 増減のたびに設定ファイルとかを変更しなくて良い。 エンドポイント node3 Appサーバ そこで ElastiCache Cluster Client for PHP 増減を自動 検出 pecl ライブラリが提供されている ・・・・ http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/UserGuide/AutoDiscovery.html
22.
2.それっぽい構成(初期) さて、DBサーバーどうしよう HAProxy / Keepalived Write
Read アプリケーションコードの改修が必要。 Write はこっち、Read はこっちみたいな。 できれば、マスタスレーブ構成に対応し やすいフレームワークを採用しておくとこ の時に困らない。 http://recipes.laravel.jp/recipe/463 まずレプリケーション組んでみる
23.
それっぽい構成(中期)
24.
2.それっぽい構成(中期) DBサーバ WEB/App サーバ S3 キャッシュサーバ 画像、動 画など セッション、キャッシュ ELB
25.
起きうる課題 DBのマスタだけ負荷が高い。 2.それっぽい構成(中期) 数1000万レコードとかあるテーブルが出て きて検索も徐々に遅くなってきた。 → 書き込みがボトルネックに → JOINすると死ぬ。 レプリケーション遅延
26.
2.それっぽい構成(中期) このままRDBを使って頑張るか、他のアー キテクチャに乗り換えるか。 どちらを選んでもそれなりのアプリケー ション改修コストはかかる。 ここが転換期
27.
2.それっぽい構成(中期) RDBで頑張る場合 テーブル分割 or パーティショニング DB分割 ユーザーDB 記事DB user_id
user_name 1001 佐藤 1011 山田 user_id user_name 1002 田中 1012 鈴木 users_01 users_02
28.
2.それっぽい構成(中期) いままでのアーキテクチャが使えるので新しい学習コストはかからない。 トランザクションが使える(ただしDBまたぐと厳しい)
柔軟なクエリ デメリット メリット とはいえJOINできなくなってくる。 テーブル分割すると横断した検索ができない。 それなりの作り込み(改修)が必要で、分割する対象が増えるたびに必要。 アプリケーションコードの複雑化。 自動的にはスケールできない。 RDBで頑張る場合
29.
2.それっぽい構成(中期) Amazon DynamoDB RDBからNo SQLへ 他のアプローチ
30.
2.それっぽい構成(中期) DynamoDBとは AWSのフルマネージド型 NoSQL データベース •
高いスケーラビリティ • 高い信頼性 • 高速なデータ・アクセス
31.
PHP SDKを使ってテーブルにレコードを保存する例 2.それっぽい構成(中期)
32.
2.それっぽい構成(中期) • スケーラビリティ 指定したスループットまで自動的にスケール
一度プログラムを書けばそれがスケールするシステムに。 容量の心配も不要 • DB保守からの開放 DynamoDBの場合 デメリット • トランザクションはあきらめる • 学習コスト • アプリケーションによって向き不向きがある • 検索の自由度が低いので、他のシステムとの併用が必要 連携部分の作り込みはそれなりに必要 メリット
33.
それっぽい構成(後期)
34.
2.それっぽい構成(後期) WEB/App サーバ S3 キャッシュサーバ 画像、動 画など セッション、キャッシュ DynamoDB 検索 CloudSearch ELB
35.
誰かがまごころ込めて作ったAMIをもとに EC2立ち上げて、git からソースをcloneしてきてELBにアタッチす る 刺し身たんぽぽ的作業を経てサーバー1台追加 Bashの脆弱性来た!SSL祭り来た! 既存のサーバーを直接 アップデート ↓ AMIの更新忘れていつの間にかデグレード 2.それっぽい構成(後期) APPサーバも増えて、構成管理とかデプロイとか ちゃんとしないとそろそろ辛い。 再現性の 低いデプ ロイ 人力ス ケール
36.
AWSの中でのPaas (Herokuみたいなやつ) 構成管理、デプロイ、オートスケールまで面倒見てくれ る 流行ってないのがとても残念 もちろん
PHPもサポート インスタンス内にsshで入れるなど自由度はわりと高め そこで Elastic Beanstalk Elastic Beanstalkとは
37.
Elastic Beanstalkのサポートする環境 • Java
(Tomcat) • PHP (Apache) • Python (Apache) • Node.js • Ruby (Passenger/Puma) • .NET (IIS 7.5/8) • Docker
38.
Elastic Beanstalkによる構成管理 Beanstalkでは .ebextensions
というフォルダの内の設定 ファイルで構成管理を行う。 パッケージのインストール コマンドの実行 ユーザー/グループの作成 AWSリソースの設定 実行タイミング 実行内容例 下記が詳しい http://www.slideshare.net/AmazonWebServicesJapan/aws-aws-elastic-beanstalk デプロイ実行前 デプロイ中 デプロイ後
39.
Elastic Beanstalkによる構成管理 設定ファイルの例 packages: yum: php55-opcache: [] commands: 01-command: command:
pecl install redis 02-command: command: pecl install uri_template パッケージのイ ンストール コマンドの実 行
40.
Elastic Beanstalkによるデプロイメント ZIPファイルにまとめてアップロードする方法と、 ebコマンドでデプロイする方法がある。 ebコマンドの方が便利。 $ eb
deploy –profile=production --version=v1.5 ※ eb コマンドには v2とv3があり、v2の古い情報が多いので注意 これを実行すると git レポジトリの v1.5のタグが付けられた ソースが zipファイルとしてS3にアップされ、自動的に デプロイ処理が開始する。
41.
Elastic Beanstalkによるデプロイメント example.com FQDN-1 Deploy (Ver2) ver1 ver2 CNAME FQDN-2 Environmentを作成すると1つFQDNが払い出される 例)
example-1.elasticbeanstalk.com Env: A Env: B Blue-Green デプロイメント
42.
Elastic Beanstalkによるデプロイメント example.com FQDN-2 ver1 ver2 FQDN-1 SWAP Env: A Env:
B Blue-Green デプロイメント コマンド1発で完了
43.
Elastic Beanstalkによるオートスケール <5分間>の<CPU使用率>が <50%>
になったら、イン スタンスを <1台><増やす>といった設定 CRONのように、 <○○ 時>になったら <○○台>に増や す といった設定。 繰り返しも可能 • CPU使用率 • ネットワークIN/OUT • ディスクRead/Write OPS • リクエストカウント • Healty/UnHealty ホスト数 トリガーベース 時間ベース
44.
2.それっぽい構成(後期) WEB/App サーバ S3 キャッシュサーバ 画像など セッション、キャッシュ DynamoDB 検索 CloudSearch Auto
Scaling groupElastic Beanstalk スケールでき そうな気がし てきた! AZ - a AZ - c ELB
45.
APPサーバーと WEBサーバの分離
CDN(CloudFront)の活用 CIとの連携 ログの外出し(fluentdなどの活用) 非同期処理(SQS、ワーカー) 監視(リソース/サービス) 役割によるサービス分割 (Microservices) Lambdaによるイベント処理 2 tier アーキテクチャ 大規模な環境に向けて いままでの話で出てこなかったけど やっておいた方が良いと思われること
46.
おまけ: RDBへの新たな光 Amazon RDS
for Aurora • MySQL互換 • モノリシックなアーキテクチャをクラウドベースで 再構築 • 高い信頼性 • 高い可用性 • 現在プレビューリリース
47.
1. スケーラブルなシステムとは 2. サービスの成長に伴う課題と解決方法 3.
まとめ
48.
三種の神器 (Beanstalk /
DynamoDB / S3 ) で作っておく と1回作ったアプリケーションは改修なしでスケールす る。 とはいえ、最初から完璧なものを開発する必要はない。 → サービスの規模に応じてその都度対応。 AWSにはサービスの成長を助けてくれるいろんなパー ツが用意されているのでうまく活用しよう。 PHPからAWSリソースを使い倒そう。 まとめ
49.
AWS と PHP
があれば、 いくらでもスケールするサービス が作れます。 世界を変えるサービスを作るチャ ンスをみんなが持っています!! まとめ
50.
Make the World
a better place with our hands. ご清聴ありがとう ございました。
Jetzt herunterladen