Submit Search
Upload
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
•
Download as PPTX, PDF
•
36 likes
•
16,482 views
Tsunenori Oohara
Follow
Elixirを本番環境で使ってみたという事例紹介
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 16
Download now
Recommended
失敗という概念が存在しない退屈なweb開発
失敗という概念が存在しない退屈なweb開発
Tsunenori Oohara
running web app on elixir
running web app on elixir
Tsunenori Oohara
地獄のElixir(目黒スタートアップ勉強会)
地獄のElixir(目黒スタートアップ勉強会)
Tsunenori Oohara
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
Shuji Watanabe
パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"
Keisuke Takahashi
Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介ver.2
Tsunenori Oohara
elixirを使ったゲームサーバ
elixirを使ったゲームサーバ
Hidetaka Kojo
Elixirについて私が知ってる二、三の事柄
Elixirについて私が知ってる二、三の事柄
Tsunenori Oohara
Recommended
失敗という概念が存在しない退屈なweb開発
失敗という概念が存在しない退屈なweb開発
Tsunenori Oohara
running web app on elixir
running web app on elixir
Tsunenori Oohara
地獄のElixir(目黒スタートアップ勉強会)
地獄のElixir(目黒スタートアップ勉強会)
Tsunenori Oohara
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
Shuji Watanabe
パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"
Keisuke Takahashi
Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介ver.2
Tsunenori Oohara
elixirを使ったゲームサーバ
elixirを使ったゲームサーバ
Hidetaka Kojo
Elixirについて私が知ってる二、三の事柄
Elixirについて私が知ってる二、三の事柄
Tsunenori Oohara
Elixir v1.3 で入るかもしれない機能
Elixir v1.3 で入るかもしれない機能
hayabusa333
elixir in production
elixir in production
Tsunenori Oohara
Cowboyとelixir
Cowboyとelixir
hayabusa333
アクターモデルについて
アクターモデルについて
Takamasa Mitsuji
Breezeで始めるデータ分析
Breezeで始めるデータ分析
Yuto Suzuki
Zabbix: Beyond Thunderdome
Zabbix: Beyond Thunderdome
Aaron Blythe
Getting Rest With Webmachine
Getting Rest With Webmachine
kevsmith
TravisCIでErlang/OTP (最小構成版)
TravisCIでErlang/OTP (最小構成版)
Masatoshi Itoh
Elixirだ 第1回 - 基礎だ -
Elixirだ 第1回 - 基礎だ -
Joe_noh
中高生向けUnity講座
中高生向けUnity講座
Makoto Ito
Regular expressions à la carte
Regular expressions à la carte
Hikaru Yoshimura
Ruby メタプログラミングによるXMLテンプレートエンジンの実装と評価
Ruby メタプログラミングによるXMLテンプレートエンジンの実装と評価
R S
Unityで使うRabbitMQ
Unityで使うRabbitMQ
Masatoshi Itoh
非同期データ更新のためにメッセージキューを導入した(い)話
非同期データ更新のためにメッセージキューを導入した(い)話
Takaaki Hirano
Azure Storage Partition Internals
Azure Storage Partition Internals
Takekazu Omi
IEXを学ぶ
IEXを学ぶ
hayabusa333
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
yoshiaki iwanaga
Jenkinsのおっさんを眺めるだけ
Jenkinsのおっさんを眺めるだけ
Nobukazu Hanada
Scalaのコンパイルを3倍速くした話
Scalaのコンパイルを3倍速くした話
tod esking
Nyandoc: Scaladoc/Javadoc to markdown converter
Nyandoc: Scaladoc/Javadoc to markdown converter
tod esking
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
MinGeun Park
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
Satoshi Takano
More Related Content
Viewers also liked
Elixir v1.3 で入るかもしれない機能
Elixir v1.3 で入るかもしれない機能
hayabusa333
elixir in production
elixir in production
Tsunenori Oohara
Cowboyとelixir
Cowboyとelixir
hayabusa333
アクターモデルについて
アクターモデルについて
Takamasa Mitsuji
Breezeで始めるデータ分析
Breezeで始めるデータ分析
Yuto Suzuki
Zabbix: Beyond Thunderdome
Zabbix: Beyond Thunderdome
Aaron Blythe
Getting Rest With Webmachine
Getting Rest With Webmachine
kevsmith
TravisCIでErlang/OTP (最小構成版)
TravisCIでErlang/OTP (最小構成版)
Masatoshi Itoh
Elixirだ 第1回 - 基礎だ -
Elixirだ 第1回 - 基礎だ -
Joe_noh
中高生向けUnity講座
中高生向けUnity講座
Makoto Ito
Regular expressions à la carte
Regular expressions à la carte
Hikaru Yoshimura
Ruby メタプログラミングによるXMLテンプレートエンジンの実装と評価
Ruby メタプログラミングによるXMLテンプレートエンジンの実装と評価
R S
Unityで使うRabbitMQ
Unityで使うRabbitMQ
Masatoshi Itoh
非同期データ更新のためにメッセージキューを導入した(い)話
非同期データ更新のためにメッセージキューを導入した(い)話
Takaaki Hirano
Azure Storage Partition Internals
Azure Storage Partition Internals
Takekazu Omi
IEXを学ぶ
IEXを学ぶ
hayabusa333
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
yoshiaki iwanaga
Jenkinsのおっさんを眺めるだけ
Jenkinsのおっさんを眺めるだけ
Nobukazu Hanada
Scalaのコンパイルを3倍速くした話
Scalaのコンパイルを3倍速くした話
tod esking
Nyandoc: Scaladoc/Javadoc to markdown converter
Nyandoc: Scaladoc/Javadoc to markdown converter
tod esking
Viewers also liked
(20)
Elixir v1.3 で入るかもしれない機能
Elixir v1.3 で入るかもしれない機能
elixir in production
elixir in production
Cowboyとelixir
Cowboyとelixir
アクターモデルについて
アクターモデルについて
Breezeで始めるデータ分析
Breezeで始めるデータ分析
Zabbix: Beyond Thunderdome
Zabbix: Beyond Thunderdome
Getting Rest With Webmachine
Getting Rest With Webmachine
TravisCIでErlang/OTP (最小構成版)
TravisCIでErlang/OTP (最小構成版)
Elixirだ 第1回 - 基礎だ -
Elixirだ 第1回 - 基礎だ -
中高生向けUnity講座
中高生向けUnity講座
Regular expressions à la carte
Regular expressions à la carte
Ruby メタプログラミングによるXMLテンプレートエンジンの実装と評価
Ruby メタプログラミングによるXMLテンプレートエンジンの実装と評価
Unityで使うRabbitMQ
Unityで使うRabbitMQ
非同期データ更新のためにメッセージキューを導入した(い)話
非同期データ更新のためにメッセージキューを導入した(い)話
Azure Storage Partition Internals
Azure Storage Partition Internals
IEXを学ぶ
IEXを学ぶ
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Jenkinsのおっさんを眺めるだけ
Jenkinsのおっさんを眺めるだけ
Scalaのコンパイルを3倍速くした話
Scalaのコンパイルを3倍速くした話
Nyandoc: Scaladoc/Javadoc to markdown converter
Nyandoc: Scaladoc/Javadoc to markdown converter
Similar to Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
MinGeun Park
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
Satoshi Takano
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
Recruit Technologies
20170622 Heroku Meetup #17 スタートアップのインフラ選び 高丸翔英 How to choose infrastracture...
20170622 Heroku Meetup #17 スタートアップのインフラ選び 高丸翔英 How to choose infrastracture...
Shoei Takamaru
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
Tatsuro Hisamori
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
Koichi ITO
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
Shigeki Morizane
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
Makoto SAKAI
USTREAM(ユーストリーム)配信セミナー
USTREAM(ユーストリーム)配信セミナー
リアリアバター株式会社 岩山幸洋
iPhoneアプリのプロモーション成功法No2 ~日本編~
iPhoneアプリのプロモーション成功法No2 ~日本編~
Hiromitsu Ishimori
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
Go Sueyoshi (a.k.a sue445)
アドテク案件入門講座
アドテク案件入門講座
伊藤 孝
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
Jet brainsnight resharper全社導入事例
Jet brainsnight resharper全社導入事例
AkihiroYamamoto
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
Ryo Mitoma
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Yoshihito Kuranuki
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
Recruit Technologies
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
Yasuyuki Sugai
体験を創る - 1→10design,Inc. 坪倉輝明
体験を創る - 1→10design,Inc. 坪倉輝明
Teruaki Tsubokura
20130320 agile pm
20130320 agile pm
Takao Kimura
Similar to Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
(20)
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
20170622 Heroku Meetup #17 スタートアップのインフラ選び 高丸翔英 How to choose infrastracture...
20170622 Heroku Meetup #17 スタートアップのインフラ選び 高丸翔英 How to choose infrastracture...
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
[JISA][変革リーダー養成部会]組織の中で自分を活かす生き方
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
新技術で未来の扉を開け! - Node-REDの環境構築と社内導入 -
USTREAM(ユーストリーム)配信セミナー
USTREAM(ユーストリーム)配信セミナー
iPhoneアプリのプロモーション成功法No2 ~日本編~
iPhoneアプリのプロモーション成功法No2 ~日本編~
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
社内ツールが支えるドリコムの社内勉強会文化 #metabenkyokai
アドテク案件入門講座
アドテク案件入門講座
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Jet brainsnight resharper全社導入事例
Jet brainsnight resharper全社導入事例
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
リクルートテクノロジーズが語る 企業における、「AI/ディープラーニング」活用のリアル
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
IoT勉強会「とりあえずIoT的なものを作ってみた ~センサーデータの測定・収集・蓄積・分析・出力まで~」
体験を創る - 1→10design,Inc. 坪倉輝明
体験を創る - 1→10design,Inc. 坪倉輝明
20130320 agile pm
20130320 agile pm
More from Tsunenori Oohara
Elixirハンズオン2
Elixirハンズオン2
Tsunenori Oohara
meguro.rb LT
meguro.rb LT
Tsunenori Oohara
Elixir解答
Elixir解答
Tsunenori Oohara
Elixir言語紹介
Elixir言語紹介
Tsunenori Oohara
パンチラに関する考察
パンチラに関する考察
Tsunenori Oohara
how-to-learn-elixir
how-to-learn-elixir
Tsunenori Oohara
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486
Tsunenori Oohara
Elixirハンズオン-2017-03-11
Elixirハンズオン-2017-03-11
Tsunenori Oohara
Re:デブ デブナイト vol.2 LT
Re:デブ デブナイト vol.2 LT
Tsunenori Oohara
Tokyoex6 EEx
Tokyoex6 EEx
Tsunenori Oohara
running-elixir-in-production
running-elixir-in-production
Tsunenori Oohara
hello waf, hello phoenix
hello waf, hello phoenix
Tsunenori Oohara
tokyo.ex3 LT
tokyo.ex3 LT
Tsunenori Oohara
Elixir lang bootstrap
Elixir lang bootstrap
Tsunenori Oohara
地獄Spec
地獄Spec
Tsunenori Oohara
More from Tsunenori Oohara
(15)
Elixirハンズオン2
Elixirハンズオン2
meguro.rb LT
meguro.rb LT
Elixir解答
Elixir解答
Elixir言語紹介
Elixir言語紹介
パンチラに関する考察
パンチラに関する考察
how-to-learn-elixir
how-to-learn-elixir
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486
Elixirハンズオン-2017-03-11
Elixirハンズオン-2017-03-11
Re:デブ デブナイト vol.2 LT
Re:デブ デブナイト vol.2 LT
Tokyoex6 EEx
Tokyoex6 EEx
running-elixir-in-production
running-elixir-in-production
hello waf, hello phoenix
hello waf, hello phoenix
tokyo.ex3 LT
tokyo.ex3 LT
Elixir lang bootstrap
Elixir lang bootstrap
地獄Spec
地獄Spec
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
1.
Elixirを本番環 境で使ってみた という事例紹介 Shibuya.ex #1 (株)ドリコム
@ohrdev
2.
Agenda • 自己紹介 • サービス紹介 •
採用に至る経緯 • どう使っているか • 困った事 • 困らなかった事 • 使ってみての感想 • まとめ
3.
自己紹介 • @ohrdev (おーはら) •
(株)ドリコム 広告チームADエンジニア • 仕事 – ADネットワークシステムの開発、メンテ – 広告サービス(事前登録、etc)の開発、メンテ • 趣味 – FF14 (Ridillサーバー,白魔Lv60) – 写経(般若心経的な意味で)、仏像彫り – 丸太、流木収集
4.
サービス紹介 • DreeVee /
poncan – 動画広告ネットワーク – DAU 60万 – 月間動画再生数600万 – 通算 1億6000万再生 – リワード広告
5.
採用に至る経緯 • ADネットワークシステムのリニューアル – DAU
60万程度、ピークは通常の3-5倍のスパイク – 旧システムはRails製 – ビジネスロジックが複雑(支払請求、単価計算周り) • やりたいこと – 大量のリクエストを安全にさばきたい – サーバーコストを押さえたい – スケールを楽に行いたい – サービスが止まらない様に(安心睡眠)したい – etc
6.
採用に至る経緯 • 採用言語/ミドル候補 – Ruby,
Scala, Golang – Erlang ★ • Erlang – 性能的には満足、OTPも好評 – Syntaxがエンジニアに不評 • Elixir – SyntaxがRubyチック、OTP使える – 1.0 が出た! – Erlangのエコシステムにのっかれる
7.
どう使っているか • API部分に限定して利用 – リクエスト全体の9x%がAPIサーバー宛 –
複雑なビジネスロジックはRailsバッチシステムで – バッチのSidekiqにElixirからenqueue • DBバックエンドはRedis/Dynamodb – RDBへのアクセスは無し – Redisのコネクション管理はpoolboyを採用 • APIのDSLとしてmaruを採用 – GrapeのElixir実装
8.
どう使っているか • Sidekiqへのenqueueを行う – [API]
Elixir@exq – [Batch] Rails@sidekiq • Deploy – exrm で releaseアーカイブ作成/EC2へ • 監視 – Sentryに raven-elixir を使ってイベントログ送信 – インフラはAWSで組んでいるのでCloudWatchで
9.
どう使っているか API server (Elixir) 管理系 system(RoR) redi s Batch Server (Sidekiq) redi s MySQL Exq (Enqueuer) Cash
Server LB dynamo Ex_aws Sentry Rave-elixir Exredis poolboy Maru Dotenv Uuid … etc
10.
困った事 • ユースケースが少ない – 採用事例、Deploy事例、運用事例 •
Erlangエンジニアが少ない – 社内勉強会/読書会/etc – 本件以外の事例が増えつつある • 本番採用:1件(開発中/phoenix) • プロトサービス:2+α件 • Elixir的なサービスの組み方とは・・・ – アクターモデル脳/関数型脳へのシフト – 『Scala関数型デザイン&プログラミング』
11.
(思ったより)困らなかった事 • 上司説得、採用ハードル – ベンチマーク/アーキ比較/数字を出して説明 –
調査・比較工数はそれなりに – 全社的な方向性/方針にマッチした • ライブラリ – Erlangのエコシステムにのっかれる – ただし、足回り(運用関連のツール、ライブラリ)弱い • 情報収集 – パーフェクトElixir情報収集 – http://www.slideshare.net/keithseahus/elixir- 48878894
12.
使ってみての感想 • Erlang/OTPを知らないと辛い – エラーログはErlangベース –
ErlangをRubyのSyntaxで書いている感じ – ElixirのライブラリはまだErlangのラッパーが殆ど • (日本語の)ドキュメント少ない – web+db vol.88,89 でElixir特集あります • コミュニティ少ない(かったが最近増えてきた? – Sapporo.beamオススメ (idobataで分散開催) • Erlangのコミュニティ/エコシステムは偉大 – 時雨堂さんのドキュメントがかなり参考になった
13.
使ってみての感想 • Elixirならではの機能が便利 – パイプ演算子が無いとやっていけない体に –
Struct、Protocol、遅延処理、etc Erlangで表現で きない良記述 – (Lispの)マクロが強力(ライブラリ書くなら必須 • Debug/Perf関連はErlangのプロダクトが充実 – observer,eper,etc – Elixirプロダクトも徐々に充実していっている • Awesome-elixirのリストが凄い勢いで成長 – remote_consoleでアタッチしてごにょごにょするの が手っ取り早い(Railsでいうところの rails c p)
14.
使ってみての感想 • Erlangの資産を最大限活用してる – Hex(
Rubyで言う所のRubygems ) • Elixirの前にErlangをざっと把握しとくと良い – エンジニアに最初にやってもらった事 • すごいE本/飛行機本 を読んでもらった • 関数型言語について理解してもらった – 2〜3ヶ月でそれなりのコードが書ける様になった • Rubyコミュニティの影響を多分に受けているが、Ruby が書けるからElixirが書き易いというわけでは*ない* • Phoenixに期待している(が結局サーバーDSL だしなぁ・・・)
15.
まとめ • Elixirのプロダクトを開発・リリース・運用して みました • 今後、Elixirのプロダクトや採用事例が増えて いくと感じています •
まだまだ言語や、海外含むコミュニティが若い ので、貢献のチャンスが多分にあります • 不満:テストF/W周りが不十分 • Let’s enjoy Elixir.
16.
ドリコム広告事業部はアドテク好きなエ ンジニアを募集しています。 http://www.drecom.co.jp/recruit/ [PR]
Download now