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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
CyberAgent
PRO
February 22, 2019
Technology
490
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SGEを活性化させる内製ツール達 / SGE
サイバーエージェントの技術者(エンジニア・クリエイター)向けカンファレンス『CA BASE CAMP 2019』
SGEを活性化させる内製ツール達
岩上 裕樹
CyberAgent
PRO
February 22, 2019
More Decks by CyberAgent
See All by CyberAgent
”AIを使う” から ”AIに任せる” へ ─ 開発プロセスを再設計してAIを組織標準にするまで
cyberagentdevelopers
PRO
2
340
Databricks 導入から Genie 活用まで、全部やった話
cyberagentdevelopers
PRO
0
1.6k
専任DEゼロからの データ基盤構築 - Databricks x IaC x AIで 進める「データの民主化」-
cyberagentdevelopers
PRO
1
1.1k
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
10
9.7k
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
1
440
Local LLM Meetup #1 Opening
cyberagentdevelopers
PRO
1
510
LocalLLMで機密データを匿名化したい
cyberagentdevelopers
PRO
2
560
Vibe Fine-Tuning Version 2 — RunPod SSH で安く学習してみた
cyberagentdevelopers
PRO
1
510
2026年度新卒技術研修 サイバーエージェントのデータベース 活用事例とパフォーマンス調査入門
cyberagentdevelopers
PRO
11
13k
Other Decks in Technology
See All in Technology
プロダクトエンジニアに必要な「いい感じ」に作る能力 〜たくさん作れる時代に、どこまで作るかの決め方〜
jnishime_dresscode
2
1.4k
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
410
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
0
450
動画配信アプリでの Engage SDK 導入 — TVer Android が Play ストアにコンテンツを届けるまで
techtver
PRO
0
140
Webとヘルスデータ
yukukotani
1
190
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
280
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
160
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
390
生成AI時代の クレデンシャルとパーミッション設計
nrinetcom
PRO
4
1.6k
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
140
V8コントリビュート超入門
riyaamemiya
0
140
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
260
Featured
See All Featured
Optimizing for Happiness
mojombo
378
71k
Mobile First: as difficult as doing things right
swwweet
225
10k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
500
A Soul's Torment
seathinner
7
3.6k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
New Earth Scene 8
popppiees
3
2.5k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
710
The Cult of Friendly URLs
andyhume
79
7k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
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ʹ͔͠Өڹ͕Ͱ ͳ͍ͷͰԕྀͳ͘ઓͰ͖Δ
ٕज़͕৫Λ׆ੑԽͤ͞Δʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠