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
330
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
640
2015.03.11 Gunosy.Go
yosida95
3
2.2k
2014.03.15 SHARE! U20
yosida95
1
260
2013.04.14 DentooLT #3 「自宅 VPS のススメ」
yosida95
0
850
2012.12.23 CombConf
yosida95
1
2.1k
プロ生勉強会 第19回@品川
yosida95
0
710
2012.11.27 #石狩DCツアー
yosida95
0
1.5k
2012.09.15 PyCon JP 2012 「ナウでヤングな17歳のVPS 構築機」
yosida95
6
3.5k
#upcamp
yosida95
1
1.3k
Other Decks in Programming
See All in Programming
Rust.Nagoya #1
codemountains
0
170
生成AIをkintoneに連携してみた
hideg
0
230
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Berlin
prof18
0
110
最古の関数型言語「Lisp」ことはじめ / lisp_in_kamiyama
uhooi
1
190
DynamoDB コスト最適化っぽいことの基本 with Terraform
kuro_kurorrr
2
250
How to use Macrobenchmark
veronikapj
0
160
3 Effective Rules for Success with Signals in Angular
manfredsteyer
PRO
0
120
CSC307 Lecture 05
javiergs
PRO
0
210
Namespace on read
tagomoris
2
370
Clean Architecture by TypeScript & NestJS
ryounasso
0
150
英語
s_shimotori
1
220
유연한 Composable 설계
l2hyunwoo
0
380
Featured
See All Featured
Navigating Team Friction
lara
181
13k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
RailsConf 2023
tenderlove
16
720
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
Testing 201, or: Great Expectations
jmmastey
33
6.9k
Automating Front-end Workflow
addyosmani
1362
200k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
What's in a price? How to price your products and services
michaelherold
239
11k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
Thoughts on Productivity
jonyablonski
64
4.1k
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 ݎ࿚ʹॻ͚Δ ͘ͳ͍