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
360
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
960
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
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
190
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
230
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
150
Advance Your Career with Open Source
ivargrimstad
0
250
クラシルを支える技術と組織
rakutek
0
190
Model Pollution
hschwentner
1
180
AccessorySetupKitで実現するシームレスなペアリング体験 / Seamless pairing with AccessorySetupKit
nekowen
0
210
実践AIチャットボットUI実装入門
syumai
7
2.4k
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
11k
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
660
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
140
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.5k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
890
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
It's Worth the Effort
3n
187
28k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Speed Design
sergeychernyshev
32
1.1k
KATA
mclloyd
32
14k
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 ݎ࿚ʹॻ͚Δ ͘ͳ͍