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

Google App Engine Go Standard Edition Second generation

sonatard
November 25, 2018

Google App Engine Go Standard Edition Second generation

sonatard

November 25, 2018
Tweet

More Decks by sonatard

Other Decks in Programming

Transcript

  1. Server Side Engineer ͦͳͨ @sonatard 2006 - • Linux Server

    and Network Engineer 2010 - • Develop Wireless LAN Module Simulator with SystemC • Develop TCP/IP protocol stack on RTOS 2014 - • Go in my free time Command-line utility for searching Github repository. https://github.com/sonatard/ghs LDAP authentication library https://github.com/sonatard/go-ldapc 2017 - • Google App Engine Go Engineer
  2. 8 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOͷಛ௃ w αʔόαΠυΞϓϦέʔγϣϯͷίʔσΟϯάʹूதͰ͖Δ w ΦʔτεέʔϧϦιʔε؅ཧ͕ෆཁ w εϐϯΞοϓ͕ૣ͍εύΠΫରࡦෆཁ w ඪ४Ͱ#MVF(SFFO%FQMPZNFOU

    w 04΍ϛυϧ΢ΣΞͷߋ৽؅ཧ͕ෆཁར༻͍ͯ͠Διϑτ΢ΣΞͷ੬ऑੑରࡦ͕ෆཁ w ଟ͘ͷϚωʔδυͳΫϥ΢υαʔϏε͕ར༻Մೳ w %BUBTUPSF w 6TFST"1* ೝূ  w *NBHF"1* w .BJM"1* w 4FBSDI"1* w .FNDBDIF w $SPO w UBTLRVFVF
  3. 9 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOͷۙ೥ͷಈ͖ w "QQ&OHJOF w (PPHMF࠷ॳͷΫϥ΢υαʔϏε w ($1Ҏલ͔Βଘࡏ w ݱࡏͰ͸"QQ&OHJOFҎ֎ʹ΋ଟ͘ͷ࣮ߦ؀ڥ͕ଘࡏ

    w ($& w "QQ&OHJOF'MFY&OWJSPONFOU w (,& w ,OBUJWF 4FSWFSMFTTBEEPOGPS(PPHMF,VCFSOFUFT&OHJOF  w $MPVE'VODUJPOT w ଞͷ࣮ߦ؀ڥ͔Β΋ར༻Ͱ͖ΔΑ͏ʹ"QQ&OHJOFґଘػೳΛ($1ʹ੾Γग़͢ಈ͖͕͋Δ w "QQ&OHJOFDSPO$MPVE4DIFEVMFS w "QQ&OHJOFUBTLRVFVF$MPVE5BTLT
  4. 12 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFOʹΑΔ੍໿ͷղফ w ඪ४ग़ྗ͕4UBDLESJWFSʹදࣔ͞Εͳ͍͞ΕΔ w JOJU࣌ͷQBOJDͷελοΫτϨʔε͕4UBDLESJWFSʹදࣔ͞Εͳ͍͞ΕΔ w ඪ४ͷ)551ΫϥΠΞϯτ͕࢖͑ͳ͍OFUIUUQΛ࢖͑Δ w ඪ४ͷ4PDLFU௨৴͕Ͱ͖ͳ͍Ͱ͖Δ

    w VOTBGFQBDLBHF͕࢖͑ͳ͍࢖͑Δ w ඪ४ͷDPOUFYUQBDLBHF͕࢖͑ͳ͍࢖͑Δ w ϑΝΠϧγεςϜ͕࢖͑ͳ͍XSJUF͸UNQͷΈ͕ͩͰ͖Δ w 04ఏڙͷίϚϯυͷ࣮ߦ͕Ͱ͖ͳ͍Ͱ͖Δ w $MPVE4QBOOFS͕࢖͑ͳ͍࢖͑Δ w (0."9130$4 w ΑΓҰൠతͳ࣮ߦ؀ڥʹੜ·ΕมΘͬͨ w "QQ&OHJOFͷίʔυ͕௨ৗͷΦϯϓϨͰಈ͘Α͏ʹ ͳΓͭͭ͋Δ
  5. 13 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO੍ݶղফʹΑΓՄೳʹͳͬͨ͜ͱ w TUHFOͰ͸ઈରʹͰ͖ͳ͔ͬͨ͜ͱ͕OEHFOͰ͸࠾༻Ͱ͖ΔΑ͏ʹͳͬͨ w ֎෦ͷίϚϯυΛμ΢ϯϩʔυ͓͍ͯͯ͠ɺͦͷόΠφϦΛ࣮ߦ͢Δ͜ͱ͕Մೳ w FYFD$PNNBOE w JOJU࣌ʹXHFUͰUNQμ΢ϯϩʔυUBSYWGͰίϚϯυΛ഑ஔ

    w ϦΫΤετ͝ͱʹͦͷίϚϯυΛ࣮ߦ w όΠφϦ͕)551ϦΫΤετΛ౤͛ΔΑ͏ͳ΋ͷ΋໰୊ͳ͍ DVSMIUUQTTBNQMFEPUQSPKFDUJEBQQTQPUDPNDNE HPMBOHHP5IF(PQSPHSBNNJOHMBOHVBHF GVODJOJU \  PVU FSSFYFD$PNNBOE XHFU lIUUQTBBBHITUBSH[z 0 UNQHITUBSH[ $PNCJOFE0VUQVU  PVU FSSFYFD$PNNBOE UBS YWG UNQHITUBSH[ $ lUNQ $PNCJOFE0VUQVU  ^ GVOD$NE)BOEMF XIUUQ3FTQPOTF8SJUFS S IUUQ3FRVFTU \  PVU FSSFYFD$PNNBOE lUNQHIT HPMBOHHP N $PNCJOFE0VUQVU   GNU'QSJOUG X W TUSJOH PVU  ^
  6. 17 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO੍ݶղফʹΑΓՄೳʹͳͬͨ͜ͱ w 4UBDLESJWFS1SPpMFS͕ར༻Մೳʹʂʂ w ݱࡏαϙʔτ͸͞Ε͍ͯͳ͍ GVODJOJU \  QSPKFDU*%PT(FUFOW

    (00(-&@$-06%@130+&$5  JGFSSQSPpMFS4UBSU QSPpMFS$POpH\  %FCVH-PHHJOHGBMTF   1SPKFDU*%QSPKFDU*%  ^ FSSOJM\  QBOJD FSS  ^ ^
  7. 19 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFOͷ੍໿ w "QQ&OHJOF"1*ͷҠߦઌ͕($1ʹͳ͍໰୊ w .BJM"1*4FOE(SJE w 4FBSDI"1*&MBTUJDL4FBSDIPO($& w 6TFST"1*

    ೝূ 'JSFCBTF"VUI (PPHMF4JHO*O 0QFO"1* w কདྷతʹ͸$MPVE*"1ʁ w .FNDBDIF3FEJT-BCT.FNDBDIFE$MPVE w কདྷతʹ͸$MPVENFNPSZTUPSFʁ w ݱࡏɺ7JSUVBM1SJWBUF$MPVEʢ71$ ʹ"QQ&OHJOF͸઀ଓͰ͖ͳ͍ɻ
  8. 23 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOOEHFO΁ͷҠߦ w BQQFOHJOFQBDLBHF΁ͷґଘΛՄೳͳݶΓݮΒ͢ w 63-'FUDIΛOFUIUUQͷ)551ΫϥΠΞϯτʹҠߦ w BQQFOHJOFͷUBTLRVFVFΛDMPVEUBTLTύοέʔδʹҠߦ w "QQ&OHJOFͷDSPOΛ$MPVE4DIFEVMFSʹҠߦ

    w ͦͷଞҠߦઌ͕ͳ͍"QQ&OHJOF"1*΋Ͳ͏ʹ͔͢Δ w ࣮ߦ؀ڥͷ৘ใΛऔಘΛBQQFOHJOFQBDLBHF͔Βʹ؀ڥม਺ʹҠߦ w BQQFOHJOFQBDLBHFͷJNQPSU͕ͳ͘ͳͬͨΒɺ׬શʹґଘΛഉআՄೳ w ΦϯϓϨ΍(,&Ͱ΋ಈ͘ w σόοά͕༰қʹී௨ʹϩʔΧϧͰىಈ͢Ε͹Α͍ɻ w ͱ͸͍͑EBUBTUPSF΍$MPVE5BTLTΛར༻͠Α͏ͱࢥ͏ͱΤϛϡϨʔλ͸ඞཁͳͷ Ͱ͋·ΓมΘΒͳ͍
  9. 24 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOपลٕज़ͷ"QQ&OHJOF͔Β($1΁ͷҠߦ w λεΫΩϡʔ w "QQ&OHJOFUBTLRVFVF$MPVE5BTLT w ҰԠαʔϏεతʹ͸෼཭͕ͨ͠ɺݱࡏ͸"QQ&OHJOFͷؔ਺͔࣮͠ߦͰ͖ͳ͍ɻ w ͍ͣΕ͸$MPVE'VODUJPOT΍(,&ͷؔ਺͕࣮ߦͰ͖Δະདྷ͕͘Δʁ

    w IUUQTDMPVEHPPHMFDPNUBTLTEPDTNJHSBUJOH IMFO w ఆظ࣮ߦ w "QQ&OHJOFDSPO$MPVE4DIFEVMFS w $MPVE1VC4VC΍)551Λ༻͍࣮ͯߦ͢Δ͜ͱ͕Ͱ͖Δɻ w $MPVE'VODUJPOTʹ΋ར༻Մೳ
  10. 25 (PPHMF"QQ&OHJOF4UBOEBSE&EJUJPOTUHFOͷࠓޙͷαϙʔτ w (Pͱ͸طʹEFQSFDBUFE w (P͸ w "QQ&OHJOFpSTUHFOFSBUJPOSVOUJNFTVQQPSU w 5IFSFBSFOPQMBOTUPEFQSFDBUFUIF"QQ&OHJOFpSTUHFOFSBUJPOSVOUJNFTBU

    UIJTUJNF w 5IFTFDPOEHFOFSBUJPOSVOUJNFTSFQSFTFOUUIFGVUVSFEJSFDUJPOPG"QQ&OHJOF IPXFWFS EFWFMPQFSTBOEDVTUPNFSTVTJOHUIFpSTUHFOFSBUJPOSVOUJNFTXJMM DPOUJOVFUPSFDFJWFTVQQPSUBOEGFBUVSFVQEBUFT
  11. 28 BQQDGHEFQMPZ HPBQQ ͔ΒHDMPVEEFQMPZ΁ͷҠߦ w TUHFOͰ͸ɺHDMPVEίϚϯυͰEFQMPZͰ͖ͳ͍όά͕͋Δ w WFOEPSσΟϨΫτϦҎԼʹJOUFSOBMύοέʔδ͕͋ΔͱΤϥʔ w BQQDGHPSHPBQQΛ࢖͏PSWFOEPSҎԼͷ΋ͷΛ(01"5)ҎԼʹҠಈ͢Δ

    w OEHFOͰ͸ɺHDMPVEίϚϯυ͔͠αϙʔτ͍ͯ͠ͳ͍ɻ w ্هόά͸ղফ͍ͯ͠Δɻ w HDMPVEίϚϯυʹҠߦ͢ΔͱσϓϩΠ͕࣌ؒ৳ͼΔ w ݪҼͦ΋ͦ΋HDMPVEίϚϯυ͕஗͍ ̍αʔϏεTFD͘Β͍஗͍ w ݪҼϑΝΠϧΞοϓϩʔυͷ࢓༷͕ҟͳΔ w BQQDGH͸BQQZBNMͱಉ͡σΟϨΫτϦҎԼͷϑΝΠϧΛ͢΂ͯΞοϓϩʔυ͢Δɻ w HDMPVE͸σϓϩΠ͢Δ(PύοέʔδҎԼͷϑΝΠϧΛ͢΂ͯΞοϓϩʔυ͢Δɻ w HDMPVEJHOPSFΛਖ਼͘͠ઃఆ͠ͳ͍ͱ༨ܭͳϑΝΠϧ͕Ξοϓϩʔυ͞ΕΔɻ w HDMPVEίϚϯυͷ࢓༷ w HPNPEରԠ
  12. 34 "QQ&OHJOFOEHFOBOE(,& w "QQ&OHJOF͸੍໿͸ݮ͍ͬͯ͘͜ͱ͕૝ఆ͞ΕΔ͕ɺڪΒ͘͸ࠓޙ΋มΘΒͳ੍͍໿͕ ͋Δɻ w ϓϩηεͷৗற w ػցֶशج൫ͷߏங w

    ωοτϫʔΫΛίϯτϩʔϧͰ͖ͳ͍ w ιʔε*1ΞυϨεͷݻఆ w ղܾͦ͠͏ͳ՝୊΋ଘࡏ͢Δ (PPHMFͷ։ൃঢ়گʹґଘ  w (31$ w 8FC4PDLFU
  13. 35 Ϣʔεέʔε w "QQ&OHJOF w ։ൃऀ͕গͳ͍ελʔτΞοϓͰૣظʹ8FCαʔϏεΛ্ཱͪ͛Δͷʹ޲͍͍ͯΔɻ w Πϯϑϥ୲౰ऀ͕ෆཁͳͨΊগͳ͍ਓ਺ͰίʔσΟϯάʹઐ೦Ͱ͖Δɻ w ੍໿Λड͚ೖΕΔඞཁ͕͋Δ

    w ར༻Ͱ͖ͳ͍ػೳ w ݴޠత੍໿ w +BWBɺ1)1ɺ/PEFKT w ·ͨ(PҎ֎͸εϐϯΞοϓ͕͞΄Ͳૣ͘ͳ͍ͨΊར఺͕མͪΔɻ w (,& w ࣾ಺ʹ43&νʔϜ͕ଘࡏͯ͠ɺϓϩμΫτͷՁ஋Λ࠷େԽ͍ͨ͠اۀʹ޲͍͍ͯΔɻ w 8FCαʔϏεʹݶఆ͞Εͳ͍ɻ w ٕज़త੍໿ʹ೰·͞ΕΔ͜ͱ͕গͳ͍ɻ w εΩϧͷߴ͍43&΍ΠϯϑϥͷΤϯδχΞͷ࠾༻ʹ΋ܨ͕Δɻ
  14. 37 ຊ౰ʹ࢖͍͍ͨͷ͸(31$ w ࢖͍͍ͨͷ͸*%- *OUFSGBDF%FTDSJQUJPO-BOHVBHF  w ΋ͦ͠͏ͳΒͦΕ͸(31$Ͱ͸ͳ͘1SPUPDPM#V⒎FST w QSPUPDHFOHPIUUQ

    w (FOFSBUFl1SPUPDPM#V⒎FST31$PO)551z$PEF*OTUFBEPG+40/31$ w IUUQTOBNFUBLFHJUIVCJPQPTUTQSPUPDHFOHPIUUQ w 4VQQPSUPOMZ1045NFUIPE w 8BJUUPTVQQPSUPQUJPO HPPHMFBQJIUUQ 1VMM3FRVFTU w 4VQQPSU1SPUPDPM#V⒎FSTBOE+40/ w 1PTTJCMFUPVTF1SPUPDPM#V⒎FST31$PO)551PO"QQ&OHJOF w SFqFDUWFSTJPO w $VSSFOUMZOPU0QFO4PVSDF w 4VQQPSU1045#PEZ 1045'PSN7BMVF (&52VFSZ4USJOH
  15. 40 3FGFSFODF w "QQ&OHJOF(P w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEBQQFOHJOFHFOFSBUJPO w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEHPHPEJ⒎FSFODFT w "QQ&OHJOFOPMPOHFSNPEJpFTUIF(PUPPMDIBJOUPJODMVEFUIFBQQFOHJOFQBDLBHF8FTUSPOHMZSFDPNNFOEVTJOHUIF(PPHMF$MPVEDMJFOUMJCSBSZPSUIJSE

    QBSUZMJCSBSJFTJOTUFBEPGUIF"QQ&OHJOFTQFDJpD"1*T'PSNPSFJOGPSNBUJPO TFF.JHSBUJOHGSPNUIF"QQ&OHJOF(P4%, w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEHPSVOUJNF w IUUQTHJUIVCDPNHPMBOHBQQFOHJOFCMPCNBTUFSJOUFSOBMJEFOUJUZ@WNHP w ೝূͷҠߦઌ w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEHPBVUIFOUJDBUJOHVTFST w ΠϯετʔϧࡁΈύοέʔδ w IUUQTDMPVEHPPHMFDPNBQQFOHJOFEPDTTUBOEBSEHPSFGFSFODFTZTUFNQBDLBHFT w H7JTSP w IUUQTEPDTHPPHMFDPNQSFTFOUBUJPOEUSY[@LT3Z)EKD"(7,JZHUYR"&9C[-SB#%FEJUTMJEFJEQ w IUUQTHJUIVCDPNHPPHMFHWJTPS w ͱ͸EFQSFDBUFE w IUUQTHSPVQTHPPHMFDPNGPSVNUPQJDHPPHMFBQQFOHJOFHPFP1/PNEBL w αϯϓϧίʔυ w IUUQTHJUIVCDPN(PPHMF$MPVE1MBUGPSNHPMBOHTBNQMFT w $MPVEUBTLT w IUUQTDMPVEHPPHMFDPNUBTLTEPDTNJHSBUJOH IMFO w IUUQTHJUIVCDPN(PPHMF$MPVE1MBUGPSNHPPHMFDMPVEHPUSFFNBTUFSDMPVEUBTLTBQJWCFUB w $MPVOE'VODUJPOTBMQIB w IUUQTUXJUUFSDPNCSPBEZTUBUVT w (PPHMF"QQ&OHJOFੈ୅ަ୅ w IUUQTEPDTHPPHMFDPNQSFTFOUBUJPOEUSY[@LT3Z)EKD"(7,JZHUYR"&9C[-SB#%FEJUTMJEFJEQ w 4UBDLESJWFS1SPpMFS w IUUQTDMPVEHPPHMFDPNQSPpMFSEPDTQSPpMJOHHP