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
Go が支えるインフラストラクチャサービス / Go in Gehirn Web Services
Search
Kohei YOSHIDA
December 05, 2015
Programming
0
350
Go が支えるインフラストラクチャサービス / Go in Gehirn Web Services
2015.12.06 Go Conference 2015 Winter
Kohei YOSHIDA
December 05, 2015
Tweet
Share
More Decks by Kohei YOSHIDA
See All by Kohei YOSHIDA
2015.04.21 Bracket x Aratana x Gehirn 勉強会
yosida95
2
700
2015.03.11 Gunosy.Go
yosida95
3
2.3k
2014.03.15 SHARE! U20
yosida95
1
320
2013.04.14 DentooLT #3 「自宅 VPS のススメ」
yosida95
0
950
2012.12.23 CombConf
yosida95
1
2.2k
プロ生勉強会 第19回@品川
yosida95
0
810
2012.11.27 #石狩DCツアー
yosida95
0
1.6k
2012.09.15 PyCon JP 2012 「ナウでヤングな17歳のVPS 構築機」
yosida95
6
3.7k
#upcamp
yosida95
1
1.4k
Other Decks in Programming
See All in Programming
Portapad紹介プレゼンテーション
gotoumakakeru
1
130
AIに安心して任せるためにTypeScriptで一意な型を作ろう
arfes0e2b3c
0
370
プロダクトという一杯を作る - プロダクトチームが味の責任を持つまでの煮込み奮闘記
hiliteeternal
0
460
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
9
2.3k
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
230
【第4回】関東Kaggler会「Kaggleは執筆に役立つ」
mipypf
0
380
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
2.2k
Google I/O Extended Incheon 2025 ~ What's new in Android development tools
pluu
1
290
管你要 trace 什麼、bpftrace 用下去就對了 — COSCUP 2025
shunghsiyu
0
420
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
200
Infer入門
riru
4
1.5k
JetBrainsのAI機能の紹介 #jjug
yusuke
0
210
Featured
See All Featured
Making Projects Easy
brettharned
117
6.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
How GitHub (no longer) Works
holman
314
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
810
Automating Front-end Workflow
addyosmani
1370
200k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Faster Mobile Websites
deanohume
309
31k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
BBQ
matthewcrist
89
9.8k
Become a Pro
speakerdeck
PRO
29
5.5k
Transcript
Go ͕ࢧ͑Δ ΠϯϑϥετϥΫνϟαʔϏε Kohei YOSHIDA / yosida95 Gehirn Inc.
ࣗݾհ
https://twitter.com/yosida95 https://github.com/yosida95 https://yosida95.com/ ٢ా ߉ฏ / yosida95 Software Engineer at
Gehirn Inc.
NHK EςϨʮχοϙϯͷδϨϯϚʯ http://www.nhk.or.jp/jirenma/20150829.html
Gehirn Inc. http://www.gehirn.co.jp/
Mission ຊΛͬͱ҆શʹ͢Δ
Security ϖωτϨʔγϣϯςετ ੬ऑੑϋϯυϦϯάαʔϏε | http://gs3.jp/ Disaster Prevention ؾใͷ৴ | @UN_NERV
Infrastructure Gehirn Infrastructure Services
Go ͕ࢧ͑Δ ΠϯϑϥετϥΫνϟαʔϏε
2015.04.01 Public Preview 2012.11.22 1st Release
Scrap and Build ͷΛݟͳ͔ͬͨίʔυ
GWS02 طଘαʔϏεͷ Go ͰͷϦϓϨʔε ΑΓຬͰ͖ΔαʔϏεΛࢦ͓ͯ͠ଂೖΓ GehirnInc/GOpenID Go ͷ Open ID
2.0 Provider Open ID Connect Ҡߦ
Concept ϕετϓϥΫςΟεͷఏڙ
Services ఏڙதͷαʔϏε
Gehirn RS2 Plus ϨϯλϧαʔόʔαʔϏε QEMU ʹΑΔશԾԽ Apache / Nginx /
TCP ( FastCGI / WSGI / HTTP ) Gehirn DNS DNS ίϯςϯπαʔόʔ κʔϯͷόʔδϣϯཧ όʔδϣϯΓସ͑࣌ͷ TTL ͷࣗಈௐ
Gehirn MTA ϝʔϧૹड৴ API ૹ৴ : SMTP / HTTP API
ड৴ : Gehirn EDJ Gehirn EDJ Πϕϯτϋϒ ༰: ϝϯςφϯε / Gehirn MTA ड৴ etc… ௨: HTTP Push / Slack / Pushover etc…
Golang Scene Go ͷΘΕํ
Gehirn RS2 Plus STQBHFOU ԾϚγϯʹৗற͢ΔσʔϞϯ ! ઃఆϑΝΠϧฤू ίϚϯυ࣮ߦ ϥΠϒϥϦͳͲఏڙڥͷΞοϓσʔτ !
Debian Package (.deb) Ͱ
None
Gehirn RS2 Plus 4OBQTIPU VM ΠϝʔδͷόοΫΞοϓ ! มߋͷΈอଘ͢Δ૿όοΫΞοϓ ෮ݩมߋͷΈద༻ σʔλετΞ
Gehirn KVS ʹอଘ ! ϗετϚγϯͰಈ࡞
Gehirn MTA 4.51αʔόʔ (PͰϑϧεΫϥον ϝʔϧͷૹ৴ɾड৴ ֎෦αʔόʔͷૹ ૹεςʔλεͷϋϯυϦϯά ར༻ঢ়گͷࢹ3BUF-JNJUJOH ϝʔϧύʔαʔ CPVODFϝʔϧͷύʔε
(FIJSO&%+ૹલͷલॲཧ
Gehirn EDJ Πϕϯτࢹ Gehirn MTA ͷΠϕϯτͷαϒεΫϥΠϒ ! ΠϕϯτϧʔςΟϯά ૹํ๏͝ͱʹ୲ϫʔΧʔׂΓৼΔ !
! Πϕϯτૹ 4MBDL*3$ɺ)551)PPLͳͲͷૹ
Why use Go ͳͥ Go Λ͏͔
Battery Included ඪ४ϥΠϒϥϦ͕ॆ࣮͍ͯ͠Δ DSZQUP DPNQSFTT OFU ฒྻॲཧΛ༰қʹهड़Ͱ͖Δ DIBOOFMHPSPVUJOFTFMFDU ෳͷฦΓFYDFQUJPO͕ͳ͍
ΤϥʔΛඞͣॲཧ͢Δ ྫ֎Λ௫ΈଛͶͳ͍ ! ωοτϫʔΫαʔόʔΛॻ͖͍͢
Static Link / Cross Compile Ϣʔβʔʹ͍͢͠ ίϯύΠϧͯ͠όΠφϦͻͱͭ͢Δ͚ͩ ! σϓϩΠ͍͢͠ ΫϩείϯύΠϧͯ͠4ʹஔ
֤αʔόʔ͕μϯϩʔυ࣮ͯ͠ߦ͢Δ͚ͩ
Easy to Scale σϓϩΠ͍͢͠ ૉૣ͍ԣల։ ωοτϫʔΫαʔόʔΛॻ͖͍͢ ΫϥελΛߏ͍͢͠ %JTUSJCVUFE$PNQVUJOH αʔυύʔςΟʔ IBTIJDPSQNFNCFSMJTU
DPSFPTFUDESBGU
Conclusion ·ͱΊ
Go ΠϯϑϥαʔϏεͰੜ͖Δ େྔͷσʔϞϯ ɾσϓϩΠ͕༰қ ! େͳॲཧϦιʔε ࢄίϯϐϡʔςΟϯά ΫϥελϦϯά ! ωοτϫʔΫαʔϏε
SMTP ɺ DNS ݎ࿚ʹॻ͚Δ ͘ͳ͍