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
380
0
Share
Go が支えるインフラストラクチャサービス / Go in Gehirn Web Services
2015.12.06 Go Conference 2015 Winter
Kohei YOSHIDA
December 05, 2015
More Decks by Kohei YOSHIDA
See All by Kohei YOSHIDA
2015.04.21 Bracket x Aratana x Gehirn 勉強会
yosida95
2
740
2015.03.11 Gunosy.Go
yosida95
3
2.3k
2014.03.15 SHARE! U20
yosida95
1
350
2013.04.14 DentooLT #3 「自宅 VPS のススメ」
yosida95
0
1k
2012.12.23 CombConf
yosida95
1
2.3k
プロ生勉強会 第19回@品川
yosida95
0
850
2012.11.27 #石狩DCツアー
yosida95
0
1.6k
2012.09.15 PyCon JP 2012 「ナウでヤングな17歳のVPS 構築機」
yosida95
6
3.9k
#upcamp
yosida95
1
1.4k
Other Decks in Programming
See All in Programming
今さら聞けないCancellationToken
htkym
0
120
20260514 - build with ai 2026 - build LINE Bot with Gemini CLI
line_developers_tw
PRO
0
460
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
2
210
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
520
書き換えて学ぶTemporal #fukts
pirosikick
2
380
関係性から理解する"同一性"の型用語たち
pvcresin
2
250
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
370
「なんか〇〇ライブラリで脆弱性あるみたいなんだけど。。。」から始める脆弱性対応 / First Steps in Vulnerability Response
mackey0225
2
130
AgentCore Optimizationを始めよう!
licux
3
260
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
1
410
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
5
730
決定論 vs 確率論:Gemini 3 FlashとTF-IDFを組み合わせた「法規判定エンジン」の構築
shukob
0
170
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Producing Creativity
orderedlist
PRO
348
40k
Prompt Engineering for Job Search
mfonobong
0
310
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
230
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Code Review Best Practice
trishagee
74
20k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
360
AI: The stuff that nobody shows you
jnunemaker
PRO
7
650
Designing for Timeless Needs
cassininazir
1
220
A better future with KSS
kneath
240
18k
Paper Plane (Part 1)
katiecoart
PRO
0
7.6k
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 ݎ࿚ʹॻ͚Δ ͘ͳ͍