SlideShare a Scribd company logo
http://www.free-powerpoint-templates-design.com
Laravel×DevOps
-インフラ構築の自動化から運用ログの監視まで-
2019/5/8(水) @ シューマツワーカー
シューマイ Laravel編
株式会社スタジオ・アルカナ / 株式会社ナシエルホールディングス CTO
吉田 紳一郎
自己紹介
• 吉田 紳一郎(35)
• (株)スタジオ・アルカナ 取締役(CTO)
• (株)ナシエルホールディングス 取締役(CTO)
• 趣味で、IPA プロジェクトマネージャ, アプリケーションエンジニア,
データベーススペシャリスト, ネットワークスペシャリスト, 情報セ
キュリティスペシャリスト保有
• むすこ(10)むすめ(6)保有
• むすこがScratchでゲーム作ってて手伝ったところ「パパのつけたココ
の変数名わかりにくいよねぇ。」と独り言を言われて手抜きで手伝っ
たことを見透かされていたことが平成最後のかなしみです。
スタジオ・アルカナ グローアップ ホクトシステム M&A Properties
株式会社ナシエルホールディングス
(Naciel Holdings, Inc.)
持株会社
店舗不動産
/M&A
ソリューション
店舗不動産
情報提供
飲食・不動産・
新卒
人材紹介
システム開発
人 材 × 店 舗 × M & A
IT
総合サービスプラットフォーム
https://naciel-holdings.co.jp/
https://www.s-arcana.co.jp/ https://grow-up1.co.jp/ https://www.hoct.co.jp/ https://ma.maproperties.co.jp/
企業紹介
Agenda
『キミスカ』とは?01
使用技術/ツール02
アプリケーションアーキテクチャ03
インフラ構成04
新卒向け逆求人就活サービス『キミスカ』を
事例に下記についてご紹介
デプロイフロー05
運用ログ監視06
『キミスカ』とは?01
• 新卒向けの逆求人プラットフォーム
• 通常の採用媒体のフロー
• 企業が求人情報を出稿し、学生が企業を探して応募
• キミスカのフロー
• 学生が自身の自己PRを書き、企業が学生を探してスカウト
https://kimisuka.com/
使用技術/ツール02
使用技術/ツール
Amazon Web Service
キミスカのインフラはすべてAWSで
構築されています。
Chef
AWS上のサーバー構築はChefによって
自動的なプロビジョニングができる
構成になっています。
Laravel
アプリケーションはPHPで開発し、
フレームワークはLaravelを採用しています。
PhpStorm
ローカルの開発環境はPhpStormを
使用しています。
Cacoo by nulab
インフラの構成図などダイアグラムを
記述するツールとしてCacooを使用しています。
Backlog by nulab
プロジェクト管理にはBacklogを使用しています。
ドキュメンテーションはWikiに記載し、
SCMはGitリポジトリを使用しています。
他にもありますが割愛
Laravel
アプリケーション
アーキテクチャ
03
Laravelの通常のアーキテクチャ
ルーティング
コントローラビュー
モデル DB
発生しうる課題
ルーティング
コントローラビュー
モデル DB
コントローラーの肥大化
バリデーションの複雑化
RDBとの高い結合度
ビジネスロジック肥大化
トランザクション制御
重複したコード
どうやって解決する?
Laravelのコンポーネントを拡張し、責務を明確にする
• サービスレイヤーを導入
• → ビジネスロジックの責務を負う
• リポジトリレイヤーを導入
• → RDBへの依存度を抽象化する
レイヤーの概念を導入し、責務を明確にする
• バリデーションを実行する責務をどこに置く?
• → Requestクラスを拡張して責務を負う
• 権限チェックなど認証認可の処理はどこに置く?
• → Middlewareがその責務を負う
• ヘッダーやフッターの共通処理はどこに記述する?
• → ViewComposerがその責務を負う
アーキテクチャ構造を拡張した設計
Router
Controller
Response
Model
KVS
Client UI Application Domain Data Source
RDB
Search
Engine
Object
Storage
Request
View
Middlewaer
ViewComposer
Model LayerRepository LayerService Layer
RepositoryService
artisan Command
業務特性に応じてドメインモデルを設計
コンポーネント・レイヤーの役割の明確化
Router
Controller
Response
Model
UI(in)ApplicationDomain
Request
View
Middlewaer
ViewComposer
Repository
Service
UI(out)
URLとコントローラのマッピング、コマンドライン実行のマッピング
リクエストパラメータの形式バリデーション、重複チェック等のDBアクセス処理はしない
認証認可、CSRFチェック、CORS設定、共通ロギング処理、IP制限処理、TrustProxies設定、共通例外処理
リクエストの受け付け、サービスクラス呼び出し、レスポンス(ViewやJSON)の返却、ロジックは記載しない
サービスクラス呼び出し(ヘッダ、フッタ、サイドバーなど、共通パーツのみで使用)
データに依存する複雑なバリデーション、Transaction処理、ビジネスロジック実装、リポジトリの呼び出し
複雑なSQL/Criteriaの組み立て、必要に応じたキャッシング処理、モデルの呼び出し、コレクションの返却
Eloquent O/Rマッパー、シンプルなクエリ、RDB/KVSなどへの接続と操作
Bladeテンプレートエンジンによる画面のHTMLレンダリング
RESTfulなAPIのレスポンス(JSONやXMLなど、データ連携フォーマット)
エンタープライズアプリケーションアー
キテクチャパターン(PoEAA)
• マーチン・ファウラー氏によるエンタープラ
イズアプリケーションを設計する上でのアーキ
テクチャのカタログ。
• 日本語版は2005年に出版された本だが、書か
れている考え方は現在も通用する。
• 抽象的な言葉が連発されるので非常に読み解
きにくい。
• 一言で表すと「関心事に沿ってレイヤー定義
して分離させていこうぜ」というノリ。
Service Layer
 エンタープライズアプリケー
ションアーキテクチャパターン
に掲載れているパターンのひと
つ。
 “一連の利用可能な操作を確立
し、各操作でアプリケーション
の応答を調整する一連のサービ
スで、アプリケーションの境界
を定義します。”
 https://martinfowler.com/eaaCata
log/serviceLayer.html
Repository
 エンタープライズアプリケー
ションアーキテクチャパターン
に掲載れているパターンのひと
つ。
 “ドメインオブジェクトにアク
セスするためのコレクションの
ようなインターフェイスを使用
して、ドメインとデータマッピ
ングレイヤ間を仲介します。”
 https://martinfowler.com/eaaCata
log/repository.html
インフラ構成04
インフラ構成
• インフラは、ほぼすべてAWSで構成
• AWSには、ステージング環境と本番環境がある
• ローカル開発環境はメンバー全員が同じ構成
• ローカル環境、ステージング環境、本番環境、すべて共通化さ
れたChefレシピで自動的に環境が構築される
• 年度ごとにサーバーを分離しているため、毎年あたらしい施策
を適用しやすい
• 毎年インフラは使い捨て、技術的負債が生まれにくくしている
本番環境・ステージング環境
・DNSはRoute53で管理
・ELBで負荷分散しつつSSL Terminate
・SSL証明書はACMで発行&管理
・アプリケーションはEC2で稼働
・静的コンテンツはNginxで返却
・動的コンテンツはApacheにリバースプロキシ
・DBはEC2上にMySQLを構築している
・RDSだと細かい調整がしにくいため自前で構築
・リードレプリカとしてSlaveも用意
・参照系のクエリはSlaveへ流している
・サーバーはOpsWorksを使って自動構築
・バージョンはChef 12の方で運用中
・コードのデプロイは全てOpsWorks経由
・画像の保存はStorageGatewayを使用
・過去の仕様に引きずられてしぶしぶNFS
・本来はS3のみで完結させたい
・メールはSES経由で送信している
・その他、外部連携サービスもあるが割愛
・安定志向なのでEC2で稼働させているが、
そのうちECS/Fargateに移行していきたい
BacklogのGitリポジトリ
・コード管理はBacklogのGitリポジトリを活用
・Git flowに準拠した開発フローを採用している
・Source Treeを使ってる人が多い
・CloudWatchでエラー拾ったらBacklogに自動で起票
ローカル開発環境
・Vagrantで差異のない環境を用意
・Chefレシピは本番環境と共用している
・vagrant-omnibusプラグインを使っている
デプロイフロー05
開発からデプロイまでの流れ
• 開発のフローは基本的にgitflowに準拠
• ローカル環境でfeatureブランチを作成
• 開発完了後GitにコミットしBacklogでプルリクエスト
• 実装に問題なければdevelopにマージ
• developにマージすると自動的にステージング環境へデプロイ
• OpsWorks API経由でデプロイを実行し
• デプロイマンというSlack botがデプロイを通知
• ステージング環境で問題なければ、masterへマージ
• 本番環境へデプロイ
• 本番環境へのデプロイは手動でOpsWorksから実行している
http://acomputerscientistlearnsaws.blogspot.com/2017/05/ch
apter-11-additional-services-jack-and.html
開発ライフサイクルにおけるOpsWorksの範囲
https://ja.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
Gitflow
Backlog
API Gateway経由で
Lambda関数を
呼び出す
AWS Lambda
自動デプロイの流れ
AWS OpsWorks
OpsWorks API
経由でデプロイ
Amazon EC2
EC2インスタンスへ
デプロイを指示
Slackへ通知
Slack Engineer
Chef のdeployレシピを使用している
https://docs.chef.io/resource_deploy.html
Slack通知は「デプロイマン」という自作Botが教えてくれる
運用ログ監視06
監視している運用ログ
• Laravelデフォルトのログ(storage/logs/laravel.log)
• リクエストログ(HTTPリクエスト情報を記録しているログ)
• メール送信ログ(メール送信ステータスを記録しているログ)
• Apacheエラーログ
• Nginxエラーログ
• MySQLエラーログ
• CPU使用率
• メモリ使用率
• ディスク使用率
通常アラートと緊急アラート
• 通常アラートはメール通知
• サービスがダウンする恐れのないエラー
• 冗長化されているインスタンスが1台落ちた、など
• 発生する頻度が低く影響範囲の狭いエラー
• LaravelにExceptionログが記録された、など
• 緊急アラートはSlack通知
• サービスダウンが発生する可能性の高いエラー
• CPU使用率が高い、メモリが枯渇、ディスク容量が枯渇、など
通常アラート
• 通常アラートはCloudWatchで監視
• アラートが発生するとBacklogに課題を登録
• 課題が登録されると個別にメールで届く
Amazon CloudWatch
Amazon EC2
CloudWatch Logsへ
ログを送信
Amazon Simple Notification
Service
Alarm
アラーム発生で
SNSへ通知
Lambda関数を
呼び出す
Backlogに
課題を起票
Backlog
Engineer
メールで通知
AWS Lambda
Stacktrace
取得
通常アラート通知の流れ
Controller --> Service --> Repository --> Model と
アプリケーションのアーキテクチャが統一されているので、
スタックトレースを見ただけで該当箇所や担当者の察しがつく
ユーザーID、発生したURL、リファラー、HTTPリクエ
ストパラメーター、HTTPヘッダー、クッキーなどの情
報もログから採取して起票されるため、どのような条
件でエラーが発生したかトレースも可能
Laravelのログにエラーが吐き出されたら自動的にBacklogにログ内容を記載したチケットを作成する #sa_study
詳しくは社内勉強会でシェアされた資料があるので参照してみてください
緊急アラート
• 緊急アラートもCloudWatchで監視
• アラートが発生するとSlackに通知が届く
Amazon CloudWatch
Amazon EC2
Slack
AWS Lambda
CloudWatch Logsへ
ログを送信
Amazon Simple Notification
Service
Alarm
アラーム発生で
SNSへ通知
Lambda関数を
呼び出す
Slack APIで
アラートを送信
Slackで即時通知
Engineer
緊急アラート通知の流れ
緊急Slack通知は「アラートくん」という自作Botが教えてくれる
まとめ
まとめ
• Laravelアーキテクチャ、インフラ構成、デプロイフロー、ログ
監視体制について紹介しました。
• DevOpsを実現するためには、アプリケーションだけではなく、
ネットワーク、セキュリティ、データベース、サービスマネジ
メント、チーム開発体制など、プログラミング言語やフレーム
ワーク以外の領域のスキルも必要です。
• 自分が身につけていない領域を考え、少しずつ技術の幅を増や
していけば、活躍の場がどんどん広がっていきます!
• ITSS, UISS, ITSS+ などを参考にして、体系的に全体像を俯瞰しながら、
自分のわからない領域を知ることができるかも?
参考:ITスキル標準(ITSS)
Thank You
ご静聴ありがとうございました。

More Related Content

What's hot

What's hot (20)

マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
JSUG 20141127 「Spring Bootを用いたドメイン駆動設計」
 
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門
 
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:capAmazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
ドメインモデルの育て方
ドメインモデルの育て方ドメインモデルの育て方
ドメインモデルの育て方
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 

Similar to Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-

[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
Insight Technology, Inc.
 
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Takashi Someda
 
フロントエンドエンジニアがフルスタックエンジニアもどきになる話
フロントエンドエンジニアがフルスタックエンジニアもどきになる話フロントエンドエンジニアがフルスタックエンジニアもどきになる話
フロントエンドエンジニアがフルスタックエンジニアもどきになる話
Takahiro Maki
 

Similar to Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで- (20)

20191013_Wolf and Seven Little Goats -Serverless Fairy Tales-
20191013_Wolf and Seven Little Goats  -Serverless Fairy Tales-20191013_Wolf and Seven Little Goats  -Serverless Fairy Tales-
20191013_Wolf and Seven Little Goats -Serverless Fairy Tales-
 
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
 
ユーザーデータ基盤を1からScalaでつくった話し
ユーザーデータ基盤を1からScalaでつくった話しユーザーデータ基盤を1からScalaでつくった話し
ユーザーデータ基盤を1からScalaでつくった話し
 
Jaws niigata#8
Jaws niigata#8Jaws niigata#8
Jaws niigata#8
 
20190524_WindowsユーザのためのSalesforce DX
20190524_WindowsユーザのためのSalesforce DX20190524_WindowsユーザのためのSalesforce DX
20190524_WindowsユーザのためのSalesforce DX
 
着任したエンジニアをスムーズにテイクオフさせる道具だて
着任したエンジニアをスムーズにテイクオフさせる道具だて着任したエンジニアをスムーズにテイクオフさせる道具だて
着任したエンジニアをスムーズにテイクオフさせる道具だて
 
業務系WebアプリケーションがStrutsから旅立つ日
業務系WebアプリケーションがStrutsから旅立つ日業務系WebアプリケーションがStrutsから旅立つ日
業務系WebアプリケーションがStrutsから旅立つ日
 
FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術FINAL FANTASY Record Keeperのマスターデータを支える技術
FINAL FANTASY Record Keeperのマスターデータを支える技術
 
2015年2月26日 dsthHUB 『DataSpiderインターナル プラガブルアーキテクチャで広がる可能性』
2015年2月26日 dsthHUB 『DataSpiderインターナル プラガブルアーキテクチャで広がる可能性』2015年2月26日 dsthHUB 『DataSpiderインターナル プラガブルアーキテクチャで広がる可能性』
2015年2月26日 dsthHUB 『DataSpiderインターナル プラガブルアーキテクチャで広がる可能性』
 
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...
 
Laravel管理画面ジェネレーター
Laravel管理画面ジェネレーターLaravel管理画面ジェネレーター
Laravel管理画面ジェネレーター
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -
 
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
 
鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料鹿駆動勉強会 青江発表資料
鹿駆動勉強会 青江発表資料
 
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
NRI流 検索ソリューション導入時にこれだけはおさえておきたい鉄則
 
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキルDBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
 
フロントエンドエンジニアがフルスタックエンジニアもどきになる話
フロントエンドエンジニアがフルスタックエンジニアもどきになる話フロントエンドエンジニアがフルスタックエンジニアもどきになる話
フロントエンドエンジニアがフルスタックエンジニアもどきになる話
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
 
AWS で社内オンライン勉強会
AWS で社内オンライン勉強会AWS で社内オンライン勉強会
AWS で社内オンライン勉強会
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
 

More from Shinichiro Yoshida

TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
Shinichiro Yoshida
 

More from Shinichiro Yoshida (20)

"Oculus Go" と "Gear VR" のチガイ #sa_study
"Oculus Go" と "Gear VR" のチガイ #sa_study"Oculus Go" と "Gear VR" のチガイ #sa_study
"Oculus Go" と "Gear VR" のチガイ #sa_study
 
自己紹介&このスライドのデザインの作り方 #sa_study
自己紹介&このスライドのデザインの作り方 #sa_study自己紹介&このスライドのデザインの作り方 #sa_study
自己紹介&このスライドのデザインの作り方 #sa_study
 
ルワンダの IT視察レポートだよ #sa_study
ルワンダのIT視察レポートだよ #sa_studyルワンダのIT視察レポートだよ #sa_study
ルワンダの IT視察レポートだよ #sa_study
 
World Wide Web with Virtual Reality #sa_study
World Wide Web with Virtual Reality #sa_studyWorld Wide Web with Virtual Reality #sa_study
World Wide Web with Virtual Reality #sa_study
 
React + FLUX + Redux + Redux Saga のお話
React + FLUX + Redux + Redux Saga のお話React + FLUX + Redux + Redux Saga のお話
React + FLUX + Redux + Redux Saga のお話
 
実践 Redux Saga -Practical Redux Saga-
実践 Redux Saga -Practical Redux Saga-実践 Redux Saga -Practical Redux Saga-
実践 Redux Saga -Practical Redux Saga-
 
インターネッツの繋がるしくみ(DNS編) #sa_study
インターネッツの繋がるしくみ(DNS編) #sa_studyインターネッツの繋がるしくみ(DNS編) #sa_study
インターネッツの繋がるしくみ(DNS編) #sa_study
 
インターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_studyインターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_study
 
インターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_studyインターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_study
 
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
 
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
 
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
 
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
 
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
 
【OSC2011広島】Red5デモ(日本Red5ユーザー会)
【OSC2011広島】Red5デモ(日本Red5ユーザー会)【OSC2011広島】Red5デモ(日本Red5ユーザー会)
【OSC2011広島】Red5デモ(日本Red5ユーザー会)
 
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
 
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
 
オープンソースカンファレンス2011 Kansai@Kobe
オープンソースカンファレンス2011 Kansai@Kobeオープンソースカンファレンス2011 Kansai@Kobe
オープンソースカンファレンス2011 Kansai@Kobe
 
Osc2011 kobe 20110416_01
Osc2011 kobe 20110416_01Osc2011 kobe 20110416_01
Osc2011 kobe 20110416_01
 
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (10)

20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 

Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-