10月8日PHP Conference 2017に行ってきた!つづきをメモ
■Serverless FrameworkでAWSフルマネージドなツールをいくつか作って得たアーキテクチャ設計の知見
・自己紹介
・サーバーレスアーキテクチャ
諸説ある
イベントドリブン
AWS Lambda
サーバー単位でなくイベント単位
ステートレスで構築:スケーラビリティの恩恵
・AWS Lambda
イベント単位でコンテナ立ち上がり、ファンクション実行
CGIのようなイメージ
コンテナは大体破棄→ステートレスな実装
→別のサービスを利用する必要
・LAMPアーキテクチャとサーバーレスの比較
LAMP ユーザー管理領域
Linix、PHP、MySQL
サーバーレス
API Gateway→Lambdaファンクション実行
クラウドウォッチ
S3イベント
ユーザー管理部分
Lambdaファンクションだけ
・サーバーレスフレームワーク
サーバーレスアーキテクチャでアプリケーションを構築するためのフレームワーク
他のFaaSも扱えるAzure Founction、Google Functionも扱える
・プログラマブルクラウドフォーメーション+AWS Lambda
全部デプロイできる
・どのようなツールが作れるか
backslack
faultline
utsusemi APIで動的な更新が可能な性的サイト生成
hubedit
→紹介したものはすべて
sls deploy
ででぷろいできる
git cloneして
cdして
npm install
configコピー
運用できる?→運用してる
ストレージ3つ 2400行
・サーバーレスアーキテクチャ
LAMPアーキテクチャとは違うことを知る
プロセスが動いているサーバーにステートを持たない
安易にRDMS(RDS)を使うとあんちパターン
→コネクション
動画などのバイナリの扱い:大きさ制限
認証の仕組み
・マネージドサービス
・サーバーレスアーキテクチャで生きてくる
設計・アイデア
・Post with config
設定値をリクエストに付与する
秘匿値 KMSで暗号化
・Reversed Timestamp ID
新しい順の一覧
RDSはあんちパターン、DynamoDBでデータ一覧もアンチパターン
S3で
・Instant Job Queue
再帰的なinvoke→DoSになりかねない→キューを作る(SQS)
・S3 Object Tagging
メタ情報保存
・Env Sync
デプロイ時の環境変数とプロセスの環境変数の同期
■大規模WebサイトのURL刷新の方針と実装
・自己紹介
・Pixivの紹介
イラストコミュニケーションサービス
デスクトップ版、モバイル版:別のHTML
ドメインは別々
PHP、独自コード(フレームワーク使わない)
・今日話すこと
URL刷新→SEO
・PixivのURL
あまり規則性ない
URLの刷新:ユーザーもBOTもみやすい
作品がユーザーに結びつく
・作品はユーザーに結びつく
理由→SEO
/user/AAAが高く評価されるのでは?
novelは例外
ユーザーの週間
・GoogleのMFI(Mobile First
→将来的にモバイル版
・ドメイン統合
デスクトップ/モバイルのドメイン統合への期待
MFIのためにルーターを導入したのでURL刷新が現実的になった
URL刷新にはユーザビリティの工場とSEO
・障壁
www.touchにルーターはなかった
課題:ルーターの作成
・ルーター
パトリシアトライをを使ったコア実装
ルーティング
ルーター利用の課題
クラス名の重複:クラス名にパスを利用
global関数:クラス関数化(staticファンクション)
・Vim script
Vimのコマンドを並べたもの
.vimrc
vim -S file名
コードリファクタリングの強力なDSL
・URL組立:reverse_route
・相対パスの廃止
。まだまだ続く
Google、RWD(レスポンシブWebデザイン)を強く推奨
質疑応答
テストは?curlたたいて、500にならないかで確認
リダイレクトは?
ルーターで行ったので、問題にならなかった(一部301)
リバースルート
■Serverless FrameworkでAWSフルマネージドなツールをいくつか作って得たアーキテクチャ設計の知見
・自己紹介
・サーバーレスアーキテクチャ
諸説ある
イベントドリブン
AWS Lambda
サーバー単位でなくイベント単位
ステートレスで構築:スケーラビリティの恩恵
・AWS Lambda
イベント単位でコンテナ立ち上がり、ファンクション実行
CGIのようなイメージ
コンテナは大体破棄→ステートレスな実装
→別のサービスを利用する必要
・LAMPアーキテクチャとサーバーレスの比較
LAMP ユーザー管理領域
Linix、PHP、MySQL
サーバーレス
API Gateway→Lambdaファンクション実行
クラウドウォッチ
S3イベント
ユーザー管理部分
Lambdaファンクションだけ
・サーバーレスフレームワーク
サーバーレスアーキテクチャでアプリケーションを構築するためのフレームワーク
他のFaaSも扱えるAzure Founction、Google Functionも扱える
・プログラマブルクラウドフォーメーション+AWS Lambda
全部デプロイできる
・どのようなツールが作れるか
backslack
faultline
utsusemi APIで動的な更新が可能な性的サイト生成
hubedit
→紹介したものはすべて
sls deploy
ででぷろいできる
git cloneして
cdして
npm install
configコピー
運用できる?→運用してる
ストレージ3つ 2400行
・サーバーレスアーキテクチャ
LAMPアーキテクチャとは違うことを知る
プロセスが動いているサーバーにステートを持たない
安易にRDMS(RDS)を使うとあんちパターン
→コネクション
動画などのバイナリの扱い:大きさ制限
認証の仕組み
・マネージドサービス
・サーバーレスアーキテクチャで生きてくる
設計・アイデア
・Post with config
設定値をリクエストに付与する
秘匿値 KMSで暗号化
・Reversed Timestamp ID
新しい順の一覧
RDSはあんちパターン、DynamoDBでデータ一覧もアンチパターン
S3で
・Instant Job Queue
再帰的なinvoke→DoSになりかねない→キューを作る(SQS)
・S3 Object Tagging
メタ情報保存
・Env Sync
デプロイ時の環境変数とプロセスの環境変数の同期
■大規模WebサイトのURL刷新の方針と実装
・自己紹介
・Pixivの紹介
イラストコミュニケーションサービス
デスクトップ版、モバイル版:別のHTML
ドメインは別々
PHP、独自コード(フレームワーク使わない)
・今日話すこと
URL刷新→SEO
・PixivのURL
あまり規則性ない
URLの刷新:ユーザーもBOTもみやすい
作品がユーザーに結びつく
・作品はユーザーに結びつく
理由→SEO
/user/AAAが高く評価されるのでは?
novelは例外
ユーザーの週間
・GoogleのMFI(Mobile First
→将来的にモバイル版
・ドメイン統合
デスクトップ/モバイルのドメイン統合への期待
MFIのためにルーターを導入したのでURL刷新が現実的になった
URL刷新にはユーザビリティの工場とSEO
・障壁
www.touchにルーターはなかった
課題:ルーターの作成
・ルーター
パトリシアトライをを使ったコア実装
ルーティング
ルーター利用の課題
クラス名の重複:クラス名にパスを利用
global関数:クラス関数化(staticファンクション)
・Vim script
Vimのコマンドを並べたもの
.vimrc
vim -S file名
コードリファクタリングの強力なDSL
・URL組立:reverse_route
・相対パスの廃止
。まだまだ続く
Google、RWD(レスポンシブWebデザイン)を強く推奨
質疑応答
テストは?curlたたいて、500にならないかで確認
リダイレクトは?
ルーターで行ったので、問題にならなかった(一部301)
リバースルート