Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SGEを活性化させる内製ツール達 / SGE
Search
CyberAgent
PRO
February 22, 2019
Technology
0
460
SGEを活性化させる内製ツール達 / SGE
サイバーエージェントの技術者(エンジニア・クリエイター)向けカンファレンス『CA BASE CAMP 2019』
SGEを活性化させる内製ツール達
岩上 裕樹
CyberAgent
PRO
February 22, 2019
Tweet
Share
More Decks by CyberAgent
See All by CyberAgent
生成AIを活用したデータ分析でいまできること
cyberagentdevelopers
PRO
1
140
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
430
2025年度 生成AI 実践編
cyberagentdevelopers
PRO
7
650
LLMを用いたメタデータベースレコメンド検証
cyberagentdevelopers
PRO
6
2.1k
CodeAgentとMCPで実現するデータ分析エージェント
cyberagentdevelopers
PRO
1
520
SQL Agentによるタップルのデータ利活用促進
cyberagentdevelopers
PRO
4
1.4k
NAB Show 2025 動画技術関連レポート / NAB Show 2025 Report
cyberagentdevelopers
PRO
1
580
【2025年度新卒技術研修】100分で学ぶ サイバーエージェントのデータベース 活用事例とMySQLパフォーマンス調査
cyberagentdevelopers
PRO
8
14k
【CA.ai #1】未来を切り拓くAIエージェントの可能性
cyberagentdevelopers
PRO
4
420
Other Decks in Technology
See All in Technology
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
200
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.3k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
400
Context Engineeringの取り組み
nutslove
0
280
MCPでつなぐElasticsearchとLLM - 深夜の障害対応を楽にしたい / Bridging Elasticsearch and LLMs with MCP
sashimimochi
0
140
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
1
190
Mosaic AI Gatewayでコーディングエージェントを配るための運用Tips / JEDAI 2026 新春 Meetup! AIコーディング特集
genda
0
150
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.1k
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
440
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
140
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
590
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
160
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Designing Experiences People Love
moore
144
24k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
49
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
100
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
580
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
Transcript
SGEΛ׆ੑԽͤ͞Δ πʔϧୡ גࣜձࣾάϦϑΥϯ ؠ্༟थ
ؠ্ ༟थʢ͍Θ͔Έ Ώ͏͖ʣ • 20144݄ αΠόʔΤʔδΣϯτ৽ଔೖࣾ όοΫΤϯυΤϯδχΞ • 20147݄ Ξϝʔόࣄۀຊ෦ήʔϜࣄۀ෦ʹଐ
• 20148݄ʙݱࡏ גࣜձࣾάϦϑΥϯग़ 12ͷήʔϜͷ։ൃɾӡ༻ʹؔΘΓɺ4ͭͷήʔϜͷϦϦʔ εʹؔΘͬͨʢάϦϑΥϯ֎ͷSGEଞؚࣾΉʣ
SGEͱ • αΠόʔΤʔδΣϯτͷࢠձࣾ܈ʹΑΔήʔϜ&ΤϯλʔςΠϝϯτࣄۀ෦ SGE = [Next] Smartphone Games & Entertainment
SGEΛ׆ੑԽͤ͞Δ πʔϧୡͷհ
1. SGETube 2. SGooglE 3. εΰϦϥϯν 4. νϟοτߘπʔϧ 5. εΰϦϥϯσϒʔ
6. ͋ͨ͠ձٞͷಘγεςϜ
SGETube
SGEͷಛ • SGEͰͷษڧձ͕ͱͯଟ͍ ྫ͑ΞήςΫͳͲͷߨٛܗࣜͷษڧձ͕͋ͬͨΓ͢Δ ࢀߟɿʮͨΊʹͳΓ·ͨ͠ʂʯͰऴΘΒͤͳ͍࣮ʹͭͳ͕ΔษڧձʮΞήςΫʯͱʁ https://creator.game.cyberagent.co.jp/?p=5216 • SGEͷڞ༗ձଟ͍ ྫ͑ήʔϜ͕ϦϦʔεͨ͠Ұϲ݄ޙ͘Β͍ʹSGEͰڞ༗ձΛ࣮ࢪ͢Δ γεςϜͷߏͩͬͨΓɺۤ࿑ͨ͜͠ͱͩͬͨΓɺଞͷϓϩδΣΫτ։ൃͰ͠ͳͦ͏ͳͨ͜͠ͱͩͬͨΓɺاըʹ
͍ͭͯͩͬͨΓɺͳΜͰ • Πϕϯτଟ͍ • ͨ͘͞Μ͋ΔͷͰͯ͢ͷษڧձɾڞ༗ձʹग़੮Ͱ͖ͳ͍ ͦͷษڧձɾڞ༗ձͷ༰Δ͜ͱ͕Ͱ͖ͳ͍
ͦΜͳͱ͖ʹSGETubeʂʂ
SGETubeͱ • ࣾͷಈըڞ༗αΠτ ͚ࣾTubeͱࢥͬͯΒ͑ΔͱΘ͔Γ͍͔͢ • ࣾSSOͰϩάΠϯͰ͖ΔͨΊࣾһͳΒ୭ͰݟΕΔ • Ͳ͔͜ΒͰݟΕΔ ͋͑ͯIP੍ݶͳͲ͍ͯ͠ͳ͍ ͦͷͨΊɺՈͰͲ͜ͰษڧͰ͖Δ
• ϥΠϒ৴Ͱ͖Δ
SGETubeγεςϜߏ • AWS ΦϨΰϯ EC2ɺRDSɺS3ɺCloudFront εςʔδϯάڥ༻ҙ • ݴޠ PHP •
ಈըS3ʹอଘ • IP੍ݶ͔͚͍ͯͳ͍ͨΊɺॺ໊͖CookieΛ༻͍ͯɺηΩϡϦςΟΛ୲อ͍ͯ͠Δ https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/private-content- signed-cookies.html
SGETubeͷྑ͔ͬͨͳͲ • ಈը͕ͲΜͲΜΞοϓϩʔυ͞Ε͍ͯ͘ ୭ͰΞοϓϩʔυͰ͖ΔΑ͏ʹ͍ͯ͠ΔͷͰɺؾܰʹΞοϓͯ͘͠ΕΔ ษڧձҎ֎ʹήʔϜͷϞοΫͷಈըͱ͔Ξοϓͯ͘͠ΕΔ ϦϦʔεޙ7ϲ݄Ͱ136ݸͷಈը͕Ξοϓϩʔυ͞Ε͍ͯΔʢ20192݄12ݱࡏʣ • SGETube͕ϦϦʔε͞Ε͔ͯΒ֤ษڧձɾڞ༗ձʹඞͣΧϝϥϚϯ͕ࢀՃ͢ΔΑ͏ʹͳͬͨ ͯ͢ͷษڧձɾڞ༗ձͷಈը͕Ξοϓϩʔυ͞ΕΔΑ͏ʹͳͬͨ •
SGEͷΠϕϯτͷϥΠϒ৴ͰΈΜͳͰΓ্͕ΕΔ ձʹߦ͘͜ͱͰ͖ͳ͍͚ͲɺϦΞϧλΠϜͰݟΔ͜ͱ͕Ͱ͖Δ ֎ͰߦΘΕͨΫϦΤΠλʔͷΠϕϯτաڈ࠷ߴͷಉ࣌ଓ • ཁ͕ͨ͘͞Μಧ͘ վળ߲͕ʑ૿͍͑ͯ͘ɻɻָ͘͠ӡ༻͕Ͱ͖Δʂ
SGooglE
SGEͷಛ • SGEͨ͘͞Μͷࢠձࣾͷू·Γ • ֤ࣾʹ͍ΖΜͳϊϋ͕ू·͍ͬͯΔ • ֤ࣾͦΕͧΕͰWikiͳͲ͍ΖΜͳܗͰϊϋ͕ཷ·͍ͬͯΔ ConfluenceͩͬͨΓɺRedmineͩͬͨΓɺ͍Ζ͍Ζ • ֤ࣾόϥόϥͳͷͰɺͳʹ͔ௐ͍ͨͷ͕͋Δͱ͖ʹ֤WikiͰݕࡧ͢Δ
ͷ͕ΊΜͲ͍͘͞ ྫ͑UnityͰݕࡧ͍ͨ͠ͱ͖ɺ֤WikiͰUnityݕࡧ͠ͳ͍ͱ͍͚ͳ͍
ͦΜͳͱ͖ʹSGooglEʂʂ
SGooglEͱ • SGEͷ֤WikiΛҰׅͰݕࡧͰ͖ΔγεςϜ • ఆظతʹ֤ࣾͷWikiΛΫϩʔϦϯά͓ͯ͘͠ͷͰৗʹ࠷৽ͷใ • ࣾSSOͰϩάΠϯͰ͖ΔͨΊࣾһͳΒ୭Ͱ͑Δ • ࣾIPʹ੍ݶ •
Googleݕࡧͷݕࡧ݁Ռը໘ͷྡʹಉ࣌ʹSGooglEͷݕࡧ݁Ռදࣔͤ͞Δ ֦ுػೳΛ༻ҙʢ͢Δ༧ఆʣ
SGooglEγεςϜߏ • AWS EC2ɺElasticSearchʢ༁͋ͬͯEC2্Ͱಈ͔͍ͯ͠Δʣ • ݴޠ Java • ݕࡧΤϯδϯʹElasticSearchΛ༻ •
ΫϩʔϦϯάλΠϛϯάຖਂʹઃఆͯ͠ΈͯΔ • ݱࡏɺβ൛ެ։தͰɺSGEͷҰ෦ͷਓʹ৮ͬͯΒ͍ͬͯΔஈ֊
εΰϦϥϯν
ࣾͷ͓หͷಛ • CAͰ͓หΛ֨҆Ͱൢച͍ͯ͠ΔͷͰ֨҆ͰߪೖͰ͖Δ • ΈΜͳ͕ߪೖ͢ΔͷͰߦྻ͕Ͱ͖Δ • ΑΓྑ͍͓หΛखʹೖΕΔͨΊʹૣ͘ฒͿ • ൢചλΠϛϯάͰMTG͕ೖ͍ͬͯΔͱྑ͍͓ห͕खʹೖΒͳ͍
ͦΜͳͱ͖ʹεΰϦϥϯνʂʂ
εΰϦϥϯνͱ • ͓หΛ༧Ͱ͖ΔΞϓϦ • ͦͷʹങ͑Δ͓หΛޕલதʹ༧ • ͓னͷൢച࣌ؒଳʹΞϓϦͷ༧ը໘ΛݟͤͯߪೖͰ͖Δ ※ϦϦʔε࣌ͷϝʔϧͷεΫγϣΛΘ͍͍͓ͤͯͨͩͯΓ·͢ εΰϦϥ͘Μ
εΰϦϥϯνͷγεςϜߏ • GCP LBɺGCEʢNode.js + MariaDB + MongoDBʣ • AndroidͱiOS͚ΞϓϦ
εΰϦϥϯνͷྑ͔ͬͨͳͲ • ฒͳ͓ͯ͘ห͕ങ͑Δ Ϗϧͷ֊ʹ༗རෆར͕ͳ͘ͳͬͨ Ҏલ12࣌લμογϡͳͲ͕ଘࡏ͍ͯͯ͠ɺͦͷલͦΘͦΘ͍ͯͨ͠ • ͪߦྻ͕ͳ͘ͳΓɺདྷ٬ͷݟӫ͕͑Α͘ͳͬͨ • 20165݄ʹϦϦʔε͔ͯ͠ΒͣͬͱΘΕ͍ͯΔ SGEͷظӡ༻αʔϏεͷҰͭʹͳͬͨ
νϟοτߘπʔϧ
SGEͷಛ • SGEͨ͘͞Μͷࢠձࣾͷू·Γ • ֤ࣾͰslackΛͬͨΓchatworkΛͬͨΓ͍ͯ͠Δ • ֤ࣾʹ࿈བྷ͢Δͱ͖͍֤ͭࣾͷදʹ࿈བྷ͔ͯͦ͜͠ΒखಈͰߘͯ͠ Β͍ͬͯͨ
ͦΜͳͱ͖ʹνϟοτߘπʔϧʂʂ
νϟοτߘπʔϧͱ • Σϒϒϥβ͔Βߘ༰ΛϑΥʔϜૹ৴͢Δ͚ͩͰ֤ࣾͷνϟοτʹ ߘ͞ΕΔ Slack Chatwork
νϟοτߘπʔϧͷγεςϜߏ • AWS S3ʹΑΔHTML৴ɺAPI GatewayɺLambdaʢNode.jsʣ • αʔόϨεʂʂ ݸਓతʹ͜ͷߏͰ࡞ͬͯΈ͔ͨͬͨ
νϟοτߘπʔϧͷγεςϜߏ • ࣾSSOΛ༻͢ΔͨΊʹELB,EC2ΛڬΉ͜ͱʹͳͬͯ͠·ͬͨ αʔόϨε͡Όͳ͘ͳͬͯ͠·ͬͨ
νϟοτߘπʔϧͷγεςϜߏ • CloudFrontͰLambda@EdgeΛ༻͢Δ͜ͱͰղܾʂʢ4લʹͬͨʣ • Lambda@EdgeͰࣾSSOೝূͷॲཧΛߦ͏
νϟοτߘπʔϧͷྑ͔ͬͨͳͲ • Σϒ͔ΒαΫοͱߘͰ͖Δ • ؒʹਓΛڬ·ͳ͘ͳΔͷͰɺ͙͢ʹߘͰ͖Δ • ୭ͰؾܰʹߘͰ͖Δ Γ͗͢ʹҙ • ௨শʮؠ্๒ʯͱݺΕΔΑ͏ʹͳͬͯ͠·ͬͨ
ʮνϟοτߘπʔϧʯͬͯॻ͍͍ͯΔ͚Ͳɺਖ਼໊ࣜশ͕ͳ͍ ࣗͷ໊લ͕ͭ͘ͷݏͰ͢Ͷ
εΰϦϥϯσϒʔ
SGEͷಛ • SGEͷษڧձɾڞ༗ձ͕ଟ͍ • SGEͷ֤ࣾͰษڧձ͕ଟ͍ • ษڧձ͕ͨ͘͞Μ࣮͋ͬͯ࣍ࢪ͞ΕΔΠϕϯτ͕Կ͔͕ѲͰ͖ͳ͍ • ͍ͭͨ͘͞Μͷਓ͕ࢀՃͯ͘͠ΕΔ •
ࢀՃऀͷ༧ఆͷՃ͕ΊΜͲ͍͕͔͔࣌ؒ͘͞͠Δ
ͦΜͳͱ͖ʹεΰϦϥϯσϒʔʂʂ
εΰϦϥϯσϒʔͱ • ࣾͷΠϕϯτͷҰཡ͕֬ೝͰ͖ɺ؆୯ʹࢀՃͰ͖ΔγεςϜ • ࣾͷ༧ఆπʔϧʹ࿈ܞͯ͠؆୯ʹ༧ఆʹࢀՃͰ͖Δ • connpassATNDͷΑ͏ͳͷ • ݴޠ golang
• ։ൃதʂʂ
͋ͨ͠ձٞͷಘγεςϜ
SGEͰͷ͋ͨ͠ձٞ • ͋ͨ͠ձٞͱɺһͱࣾһ͕νʔϜΛΜͰɺαΠόʔΤʔδΣϯτͷ͋͠ ͨΛͭ͘Δ৽نࣄۀҊ՝ղܾҊͳͲΛఏҊ͢Δ߹॓ • αΠόʔΤʔδΣϯτશࣾͱ͍ͯͬͯ͠Δ͕ɺSGEͰ͍ͬͯΔ • ΫϦΤΠλʔɺΤϯδχΞ͚ͩͰ͋ͨ͠ձٞΛ࣮ࢪ͍ͯ͠Δ ΠϊςοΫΩϟϯϓɺΫϦΤΠλʔ͋ͨ͠ձٞɺٕज़ֵ৽ձٞͳͲ
SGEͰͷ͋ͨ͠ձٞ • ͋ͨ͠ձٞͱɺһͱࣾһ͕νʔϜΛΜͰɺαΠόʔΤʔδΣϯτͷ͋͠ ͨΛͭ͘Δ৽نࣄۀҊ՝ղܾҊͳͲΛఏҊ͢Δ߹॓ • αΠόʔΤʔδΣϯτશࣾͱ͍ͯͬͯ͠Δ͕ɺSGEͰ͍ͬͯΔ • ΫϦΤΠλʔɺΤϯδχΞ͚ͩͰ͋ͨ͠ձٞΛ࣮ࢪ͍ͯ͠Δ ΠϊςοΫΩϟϯϓɺΫϦΤΠλʔ͋ͨ͠ձٞɺٕज़ֵ৽ձٞͳͲ ಘൃදΛͬͱΓ্͍͛ͨ
ͦΜͳͱ͖ʹಘγεςϜʂʂ
͋ͨ͠ձٞͷಘγεςϜͱ • SGE͋ͨ͠ձٞͰߴ͞Μ͕ಘΛൃද͢Δ ผͷܗࣜͷ͋ͨ͠ձٞͰಘΛൃද͢Δਓ͕͍Δ • ԋग़Λ͚ͭͯಘΛൃද͢Δ͜ͱͰΓ্͛υΩυΩײΛग़͢ ێͪΌΜͷԾେతͳ
͋ͨ͠ձٞͷಘγεςϜͱ
͋ͨ͠ձٞͷಘγεςϜͱ
͋ͨ͠ձٞͷಘγεςϜͱ
͋ͨ͠ձٞͷಘγεςϜͱ
͋ͨ͠ձٞͷಘγεςϜͷγεςϜߏ • AWS EC2ʢNode.jsʣ • ଓʹ͍ͭͯ εϚϗˠEC2ɿAPIΛୟ͘ εΫϦʔϯˠEC2ɿWeb Socket εϚϗͷૢ࡞ΛͳΔ͘ૣ͘εΫϦʔϯʹөͤ͞Δ
͋ͨ͠ձٞͷಘγεςϜͷྑ͔ͬͨͳͲ • ಘൃද࣌ʹΓ্͕Δ • ࣗͰ࡞ͨ͠πʔϧͳͷʹ͍͢͝υΩυΩ͠ͳ͕ΒಘൃදΛݟकΔ • ͋ͨ͠ձٞ͝ͱʹ৽͍͠σβΠϯͷγεςϜΛ࡞ΔΑ͏ʹͳͬͯ͠·ͬͨ σβΠϯͷࠩ͠ସ͚͑ͩʂͷ͕ͣɺඍௐ͕ೖΔ
͓·͚ πʔϧͰͳ͍͕ ڞ௨Ͱ͍ͬͯΔπʔϧͷհ
SGE Gitlab
SGE Gitlab • ֤ࣾͰ࡞ͬͨήʔϜͳͲͷιʔείʔυ্͕͕͍ͬͯΔ • ֤ࣾͰGithubGitlab͕͋Δ͕ɺͦΕΛఆظతʹSGEͷGitlabʹΞοϓ ͯ͠Β͍ͬͯΔ • SGEͷGitlabΛ͚֤ࣾͷιʔείʔυΛݟΔ͜ͱ͕Ͱ͖Δ
SGE Slideshare
SGE Slideshare • ษڧձڞ༗ձɺ͋ΒΏΔͱ͜ΖͰ༻ͨ͠εϥΠυ͕Ξοϓ͞Ε͍ͯΔ • ͜͜Λ͘ͱաڈͷൃදࢿྉΛݟΔ͜ͱ͕Ͱ͖Δ • SGETubeΛݟͳ͕ΒSlideshareΛࢀߟʹ͢Δ͜ͱͰɺΑΓਂֶ͘Δͣ
SGE QiitaνʔϜ
SGE QiitaνʔϜ • SGEͰͷQiitaνʔϜ • ֤ࣾͷϊϋϝϞॻ͖ͳͲΛؾܰʹॻ͚Δ • ࠓͰ1175݅ͷهࣄ͕ߘ͞Ε͍ͯΔ • Qiita:Teamͷهࣄ
ʮ300ਓͷΤϯδχΞ৫Λԣஅͨ͠Qiita:Teamͷ׆༻ज़ͱʂʁʯ https://teams.qiita.com/customers/sge/
None
·ͱΊ • ٕज़Ͱ৫͕Γ্͕ΓɺSGE͕׆ੑԽ͞ΕΔ • ࣾπʔϧΛ༻͍ͯɺΑΓศརɺޮΞοϓɺεΩϧΞοϓʹߩݙ • ࢠձࣾΛӽ͑ͯ৫ͷ͍ΖΜͳਓͱؔΘΔ͜ͱ͕Ͱ͖ɺSGE͕׆ੑԽ͞ΕΔ • ৽͍ٕ͠ज़ͷઓΛೖΕΔ͜ͱ͕Ͱ͖Δ ࣗͷ߹ۀͰPHPΛ͏͜ͱ͕ଟ͍͕ɺ͍ΖΜͳݴޠΛ৮Δ͜ͱ͕Ͱ͖Δ
όοΫΤϯυະܦݧͰೖࣾͨࣗ͠ʹͱͬͯخ͍͠ • ϛεͬͯҰൠϢʔβʔʹӨڹ͕ग़ΔΘ͚Ͱͳ͘ɺSGEʹ͔͠Өڹ͕Ͱ ͳ͍ͷͰԕྀͳ͘ઓͰ͖Δ
ٕज़͕৫Λ׆ੑԽͤ͞Δʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠