Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Go が支えるインフラストラクチャサービス / Go in Gehirn Web Services

Go が支えるインフラストラクチャサービス / Go in Gehirn Web Services

2015.12.06 Go Conference 2015 Winter

D12b0581b8218af98bf3014af3eeaac3?s=128

Kohei YOSHIDA

December 05, 2015
Tweet

Transcript

  1. Go ͕ࢧ͑Δ ΠϯϑϥετϥΫνϟαʔϏε Kohei YOSHIDA / yosida95 Gehirn Inc.

  2. ࣗݾ঺հ

  3. https://twitter.com/yosida95 https://github.com/yosida95 https://yosida95.com/ ٢ా ߉ฏ / yosida95 Software Engineer at

    Gehirn Inc.
  4. NHK EςϨʮχοϙϯͷδϨϯϚʯ http://www.nhk.or.jp/jirenma/20150829.html

  5. Gehirn Inc. http://www.gehirn.co.jp/

  6. Mission ೔ຊΛ΋ͬͱ҆શʹ͢Δ

  7. Security ϖωτϨʔγϣϯςετ ੬ऑੑϋϯυϦϯάαʔϏε | http://gs3.jp/ Disaster Prevention ؾ৅৘ใͷ഑৴ | @UN_NERV

    Infrastructure Gehirn Infrastructure Services
  8. Go ͕ࢧ͑Δ ΠϯϑϥετϥΫνϟαʔϏε

  9. 2015.04.01 Public Preview 2012.11.22 1st Release

  10. Scrap and Build ೔ͷ໨Λݟͳ͔ͬͨίʔυ

  11. GWS02 طଘαʔϏεͷ Go ͰͷϦϓϨʔε ΑΓຬ଍Ͱ͖ΔαʔϏεΛ໨ࢦ͓ͯ͠ଂೖΓ GehirnInc/GOpenID Go ͷ Open ID

    2.0 Provider Open ID Connect ΁Ҡߦ
  12. Concept ϕετϓϥΫςΟεͷఏڙ

  13. Services ఏڙதͷαʔϏε

  14. Gehirn RS2 Plus ϨϯλϧαʔόʔαʔϏε QEMU ʹΑΔ׬શԾ૝Խ Apache / Nginx /

    TCP ( FastCGI / WSGI / HTTP ) Gehirn DNS DNS ίϯςϯπαʔόʔ κʔϯͷόʔδϣϯ؅ཧ όʔδϣϯ੾Γସ͑࣌ͷ TTL ͷࣗಈௐ੔
  15. Gehirn MTA ϝʔϧૹड৴ API ૹ৴ : SMTP / HTTP API

    ड৴ : Gehirn EDJ Gehirn EDJ Πϕϯτϋϒ ಺༰: ϝϯςφϯε / Gehirn MTA ड৴ etc… ௨஌: HTTP Push / Slack / Pushover etc…
  16. Golang Scene Go ͷ࢖ΘΕํ

  17. Gehirn RS2 Plus STQBHFOU Ծ૝Ϛγϯʹৗற͢ΔσʔϞϯ ! ઃఆϑΝΠϧฤू ίϚϯυ࣮ߦ ϥΠϒϥϦͳͲఏڙ؀ڥͷΞοϓσʔτ !

    Debian Package (.deb) Ͱ഑෍
  18. None
  19. Gehirn RS2 Plus 4OBQTIPU VM ΠϝʔδͷόοΫΞοϓ ! มߋͷΈอଘ͢Δ૿෼όοΫΞοϓ ෮ݩ΋มߋ෼ͷΈద༻ ৑௕σʔλετΞ

    Gehirn KVS ʹอଘ ! ϗετϚγϯͰಈ࡞
  20. Gehirn MTA 4.51αʔόʔ (PͰϑϧεΫϥον ϝʔϧͷૹ৴ɾड৴ ֎෦αʔόʔ΁ͷ഑ૹ ഑ૹεςʔλεͷϋϯυϦϯά ར༻ঢ়گͷ؂ࢹ3BUF-JNJUJOH ϝʔϧύʔαʔ CPVODFϝʔϧͷύʔε

    (FIJSO&%+഑ૹલͷલॲཧ
  21. Gehirn EDJ Πϕϯτ؂ࢹ Gehirn MTA ͷΠϕϯτͷαϒεΫϥΠϒ ! ΠϕϯτϧʔςΟϯά ഑ૹํ๏͝ͱʹ୲౰ϫʔΧʔ΁ׂΓৼΔ !

    ! Πϕϯτ഑ૹ 4MBDL΍*3$ɺ)551)PPLͳͲ΁ͷ഑ૹ
  22. Why use Go ͳͥ Go Λ࢖͏͔

  23. Battery Included ඪ४ϥΠϒϥϦ͕ॆ࣮͍ͯ͠Δ DSZQUP DPNQSFTT OFU  ฒྻॲཧΛ༰қʹهड़Ͱ͖Δ DIBOOFMHPSPVUJOFTFMFDU ෳ਺ͷฦΓ஋FYDFQUJPO͕ͳ͍

    ΤϥʔΛඞͣॲཧ͢Δ ྫ֎Λ௫ΈଛͶͳ͍ ! ωοτϫʔΫαʔόʔΛॻ͖΍͍͢
  24. Static Link / Cross Compile Ϣʔβʔʹ഑෍͠΍͍͢ ίϯύΠϧͯ͠όΠφϦͻͱͭ഑෍͢Δ͚ͩ ! σϓϩΠ͠΍͍͢ ΫϩείϯύΠϧͯ͠4ʹ഑ஔ

    ֤αʔόʔ͕μ΢ϯϩʔυ࣮ͯ͠ߦ͢Δ͚ͩ
  25. Easy to Scale σϓϩΠ͠΍͍͢ ૉૣ͍ԣల։ ωοτϫʔΫαʔόʔΛॻ͖΍͍͢ ΫϥελΛߏ੒͠΍͍͢ %JTUSJCVUFE$PNQVUJOH αʔυύʔςΟʔ IBTIJDPSQNFNCFSMJTU

    DPSFPTFUDESBGU
  26. Conclusion ·ͱΊ

  27. Go ͸ΠϯϑϥαʔϏεͰੜ͖Δ େྔͷσʔϞϯ ഑෍ɾσϓϩΠ͕༰қ ! ๲େͳॲཧ΍Ϧιʔε ෼ࢄίϯϐϡʔςΟϯά ΫϥελϦϯά ! ωοτϫʔΫαʔϏε

    SMTP ɺ DNS ݎ࿚ʹॻ͚Δ ஗͘ͳ͍