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
450
SGEを活性化させる内製ツール達 / SGE
サイバーエージェントの技術者(エンジニア・クリエイター)向けカンファレンス『CA BASE CAMP 2019』
SGEを活性化させる内製ツール達
岩上 裕樹
CyberAgent
PRO
February 22, 2019
Tweet
Share
More Decks by CyberAgent
See All by CyberAgent
2025年度 生成AI 実践編
cyberagentdevelopers
PRO
5
380
LLMを用いたメタデータベースレコメンド検証
cyberagentdevelopers
PRO
6
1.9k
CodeAgentとMCPで実現するデータ分析エージェント
cyberagentdevelopers
PRO
1
390
SQL Agentによるタップルのデータ利活用促進
cyberagentdevelopers
PRO
2
530
NAB Show 2025 動画技術関連レポート / NAB Show 2025 Report
cyberagentdevelopers
PRO
1
480
【2025年度新卒技術研修】100分で学ぶ サイバーエージェントのデータベース 活用事例とMySQLパフォーマンス調査
cyberagentdevelopers
PRO
8
12k
【CA.ai #1】未来を切り拓くAIエージェントの可能性
cyberagentdevelopers
PRO
4
310
【CA.ai #1】MCP世界への招待:AIエンジニアが創る次世代エージェント連携の世界
cyberagentdevelopers
PRO
2
260
【CA.ai #1】ABEMA のコンテンツ制作を最適化! 生成 AI × クラウド映像編集システム
cyberagentdevelopers
PRO
0
260
Other Decks in Technology
See All in Technology
AWS Control Tower に学ぶ! IAM Identity Center 権限設計の第一歩 / IAM Identity Center with Control Tower
y___u
0
100
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
6
960
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
130
実装で解き明かす並行処理の歴史
zozotech
PRO
1
700
Developer Advocate / Community Managerなるには?
tsho
0
130
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
350
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
240
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
140
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
710
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
1
160
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
160
Simplifying Cloud Native app testing across environments with Dapr and Microcks
salaboy
0
140
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
1
250
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Gamification - CAS2011
davidbonilla
81
5.5k
Why Our Code Smells
bkeepers
PRO
339
57k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Raft: Consensus for Rubyists
vanstee
139
7.1k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
A better future with KSS
kneath
239
18k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
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ʹ͔͠Өڹ͕Ͱ ͳ͍ͷͰԕྀͳ͘ઓͰ͖Δ
ٕज़͕৫Λ׆ੑԽͤ͞Δʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠