Slide 1

Slide 1 text

,PEBJ4BLBCF!LPVEBJJJ8BOUFEMZ *OD ,VCFSOFUFTͱπʔϧ։ൃ αʔϏε։ൃͷݱ৔ΛޠΔʂ .JDSPTFSWJDFT LVCFSOFUFT ଞ

Slide 2

Slide 2 text

ABOUT ME — Software Engineer — 2010/4- TIS ࡔ෦ ޿େ (KOUDAI SAKABE) 2015/8- Wantedly @koudaiii Site: http://koudaiii.com

Slide 3

Slide 3 text

WANTEDLY — γΰτͰίίϩΦυϧͻͱΛ;΍͢—

Slide 4

Slide 4 text

1SPEVDUJWJUZ w ʮςετ͔Βݟ͑ͯ͘Δάʔάϧͷιϑτ΢ΣΞ։ൃʯ w ΤϯδχΞϦϯάϓϩμΫςΟϏςΟνʔϜ w ੜ࢈ੑͷ޲্ w ͋Γͱ͋ΒΏΔ΋ͷΛߏங͢ΔπʔϧνʔϜ ςετ͔Βݟ͑ͯ͘Δάʔάϧͷιϑτ΢ΣΞ։ൃIUUQTXXXBNB[PODPKQEQ#*&#

Slide 5

Slide 5 text

#PUUMFOFDL ΤϯδχΞͷ૿ՃɺαʔϏεͷ૿Ճ Developer ΠϯϑϥνʔϜ λεΫґཔ WANTEDLY JOURNAL ͸ͨΒ͘Λ໘ന͘͢ΔϝσΟΞ ੈքʹࣗ෼ͷ੠Λൃ৴͠Α͏

Slide 6

Slide 6 text

ηϧϑαʔϏε w ΠϯϑϥΛૢ࡞͢Δ5PPMࣾ಺Ͱศརͳ$-*(6* Developer ΠϯϑϥνʔϜ API and Tool WANTEDLY JOURNAL ͸ͨΒ͘Λ໘ന͘͢ΔϝσΟΞ ੈքʹࣗ෼ͷ੠Λൃ৴͠Α͏

Slide 7

Slide 7 text

͜Ε·ͰͷऔΓ૊Έ w %PDLFSɺ"84ɺ%/4JNQMFΛૢ࡞Ͱ͖ΔXBOUFEMZDBQ w $* XFSDLFS ͷ݁ՌΛऔಘͰ͖ΔXLXL w %#ͷ4DIFNF͔Β(Pͷ"1*Λੜ੒Ͱ͖ΔXBOUFEMZBQJHXBOUFEMZQRHPSN w "1*ʹೝূ΍εϩοτϧͳͲΛϒϥ΢βͰઃఆͰ͖ΔXBOUFEMZLPOHGSPOUFOE w αʔϏεʹඞཁͳTZTUFNEͷTFSWJDFΛొ࿥Ͱ͖ΔDFMM w "84%/4JNQMF%BUB%PHΛૢ࡞Ͱ͖ΔEUBOUFSSBGPSNJOHXBOUFEMZUFSSBGPSN w ϑΝΠϧΛؾܰʹڞ༗Ͱ͖ΔEUBOTVSM w &$ͷNFUBUBHΛऔಘͨ͠Γૢ࡞Ͱ͖ΔEUBOFDD

Slide 8

Slide 8 text

$ s3url —help #ظݶ෇͖URLΛൃߦ Usage of s3url: s3url https://s3-region.amazonaws.com/BUCKET/KEY [-d DURATION] s3url s3://BUCKET/KEY [-d DURATION] s3url -b BUCKET -k KEY [-d DURATION] $ ec2c —help # vagrant Ͱࢼͨ͠΋ͷΛ instance ͰݐͯΔ / tag Λ෇͚ΕΔ / ip Λ֬ೝͰ͖Δ Available commands are: launch Launch new EC2 instance list List EC2 instances tag Tag EC2 instances terminate Terminate the specified EC2 instance untag Tag EC2 instances FYTVSMFDD

Slide 9

Slide 9 text

Πϯϑϥͷ௕ظతͳํ޲ੑ

Slide 10

Slide 10 text

࠷ۙͷऔΓ૊Έ,VCFSOFUFT ΠϯϑϥνʔϜ͸Ϋϥελͷج൫࡞Γͱπʔϧʹूத Web Application Monitoring Logging Auto Scale Load Balancer Internal DNS Web Application Monitoring Logging Auto Scale Load Balancer Internal DNS Web Application Monitoring Logging Auto Scale Load Balancer Internal DNS Monitoring Logging Auto Scale Load Balancer Internal DNS ΠϯϑϥνʔϜ ΠϯϑϥνʔϜ ΠϯϑϥνʔϜ ΠϯϑϥνʔϜ ґཔ͕͖ͨΒΠϯϑϥνʔϜ͸౎౓ߏ੒Λ͔Β࡞Δ

Slide 11

Slide 11 text

.FSHF%FQMPZ

Slide 12

Slide 12 text

$*EFQMPZ EPDLFSJNBHFUBHΛੜ੒ͯ͠SFHJTUSZQVTIͯ͠ɺ3PMMJOH6QEBUF

Slide 13

Slide 13 text

ϞχλϦϯά ΠϯϑϥνʔϜ͸Ϋϥελͷج൫࡞Γͱπʔϧʹूத Web Application Monitoring Logging Auto Scale Load Balancer Internal DNS Web Application Monitoring Logging Auto Scale Load Balancer Internal DNS Web Application Monitoring Logging Auto Scale Load Balancer Internal DNS Monitoring Logging Auto Scale Load Balancer Internal DNS ΠϯϑϥνʔϜ ΠϯϑϥνʔϜ ΠϯϑϥνʔϜ ΠϯϑϥνʔϜ ґཔ͕͖ͨΒΠϯϑϥνʔϜ͸౎౓ߏ੒Λ͔Β࡞Δ

Slide 14

Slide 14 text

%BTICPBSE TDPQFQPESDSDOBNFTQBDFͰߜΓࠐΈ"MFSUઃఆ %FWFMPQFSʹ͸%BTICPBSE͕ݟΕΔ͜ͱΛ஌ΒͤΔͷΈ

Slide 15

Slide 15 text

ϞχλϦϯά %BFNPO4FUΛ࢖ͬͯ༧Ίઃఆ

Slide 16

Slide 16 text

4DIFEVMFE+PC CFUB$SPO+PC ࣌ؒࢦఆͰ࣮ߦͰ͖Δ BMQIB൛ɻ$SPO+PCʹ୅ΘΔ༧ఆ SFGIUUQTHJUIVCDPNLVCFSOFUFTLVCFSOFUFTJTTVFT

Slide 17

Slide 17 text

)PXUP4DIFEVMFE+PC $ kubectl create -f examples/scheduled-job/hello-job.yaml scheduledjob "hello" created $ kubectl get scheduledjob NAME SCHEDULE SUSPEND ACTIVE LAST-SCHEDULE hello 0/1 * * * ? False 0 Fri, 07 Oct 2016 17:23:00 +0900 hello-run 0/1 * * * ? False 0 $ pods=$(kubectl get pods --selector=job-name=hello-1628211009 -- output=jsonpath={.items..metadata.name}) $ echo $pods hello-1628211009-d939p $ kubectl logs $pods Fri Oct 7 08:24:08 UTC 2016 Hello from the Kubernetes cluster

Slide 18

Slide 18 text

4DIFEVMFE+PC w ,VCFSOFUFTҎ্ w BMQIB൛ͷBQJTFSWFSʹରͯ͠ΦϓγϣϯΛ෇͚ΔAŠSVOUJNFDPOpHCBUDIWBMQIBA w +PCʹ͸3FTUBSU1PMJDZΛ෇͚Δ͜ͱ͕Ͱ͖ΔɻA0O'BJMVSFAPSA/FWFSA w FYίϯςφ͕GBJMVSFͷ৔߹ w &7&/5-PHʹGBJMVSF͕ॻ͖ࠐ·ΕΔ w *G3FTUBSU1PMJDZ w 0O'BJMVSFDPOUBJOFS͕࠶ىಈͯ͠+PCΛଓ͚Δ w /FWFSͦͷ··'BJMFEʹͳΔ

Slide 19

Slide 19 text

4DIFEVMFE+PC w Ұݸͣͭͷ+PCͷMPH͕ݟ΍͍͢ w ίϯςφͷΠϕϯτϨϕϧͰMPH͕औΕΔͷͰͦ΋ͦ΋ίϯςφ͕ىಈ ͠ͳ͔ͬͨͱ͖ͷݪҼௐ͕ࠪͰ͖Δ w ΫϥελϦϯάͷதͰ࣮ߦ͞ΕΔͷͰ,VCFSOFUFT͕ۭ͍͍ͯΔϦιʔ εʹର࣮ͯ͠ߦͯ͘͠ΕΔͷͰDSPO౳ͷҰͭͷΠϯελϯεʹറΒΕͳ ͍

Slide 20

Slide 20 text

)PPL&WFOU w 1PTU4UBSU w ίϯςφ্ཱ͕͕ͪͬͨ௚ޙʹ࣮ߦ w 1SF4UPQ w ίϯςφ͕UFSNJOBUF͢Δ௚લʹ࣮ߦ SFGIUUQXXXDMPVEXFSLTUBUUDPNXQDPOUFOUVQMPBET10%QSFQPTU)00,QOH

Slide 21

Slide 21 text

QPTU4UBSU IUUQTHJUIVCDPNLVCFSOFUFTLVCFSOFUFTCMPCNBTUFSFYBNQMFT KBWBXFCUPNDBUTJEFDBS3&"%.&NE

Slide 22

Slide 22 text

QPTU4UBSU FYىಈͨ͠λΠϛϯάͰXBSϑΝΠϧΛWPMVNF.PVOUTʹ഑ஔ IUUQTUBDLPWFSqPXDPNRVFTUJPOTNVMUJQMFDPNNBOEJOQPTUTUBSUIPPLPGBDPOUBJOFS ͜Μͳ͜ͱ΋ग़དྷΔΒ͍͠

Slide 23

Slide 23 text

QSF4UPQ (SBDFGVMMZ5FSNJOBUF ͦΕҎ֎ͷ࢖͍ํΛ͢Δͱ&WFOUMPHͱ͔LVCFDUMMPHTͰ֬ೝग़དྷͳ͍

Slide 24

Slide 24 text

MJWFOFTT1SPCFIFBMUIDIFDL༻ 1SPCF\JOJUJBM%FMBZ4FDPOETԿඵޙʹ։࢝ UJNFPVU4FDPOETϨεϙϯεΛԿඵ଴ͭ TVDDFTT5ISFTIPME੒ޭճ਺ GBJMVSF5ISFTIPMEࣦഊճ਺ QFSJPE4FDPOETνΣοΫε͢Δִؒ^ IUUQTHJUIVCDPNLVCFSOFUFTLVCFSOFUFTCMPCNBTUFSDMVTUFSHDFDPSFPTLVCFNBOJGFTUTBEEPOTEOTTLZEOTSDZBNM

Slide 25

Slide 25 text

SFBEJOFTT1SPCFτϥϑΟοΫΛड͚ΔλΠϛϯά TLZEOTSDZBNM͸MJWFOFTT1SPCFͱSFBEJOFTT1SPCFͷ྆ํΛ࢖͍ͬͯ ΔͷͰΞϓϦέʔγϣϯͷཁ݅ʹԠͯ͡ࢀߟʹग़དྷΔ IUUQTHJUIVCDPNLVCFSOFUFTLVCFSOFUFTCMPCNBTUFSDMVTUFSHDFDPSFPTLVCFNBOJGFTUTBEEPOTEOTTLZEOTSDZBNM

Slide 26

Slide 26 text

,VCFSOFUFT"84&$$POUBJOFS3FHJTUSZ &$3 *".SPMFʹ෇༩͢Ε͹ɺͦͷ··࢖͑Δ FYLVCFSVOJUUZUFNQJNBHF"$$06/5ELSFDS3&(*0/BNB[POBXTDPN TBNQMFWDPNNBOECJOCBTI

Slide 27

Slide 27 text

֤νʔϜͰ࢖ͬͯ΋Β͏ͨΊʹ

Slide 28

Slide 28 text

πʔϧͷϕʔεͱͳΔ෦෼ΛܾΊΔ w ͳΔ΂͘ߋ৽͠΍͍͢ߏ੒ w ΫϥΠΞϯτଆʹ͸ग़དྷΔݶΓϩδοΫΛೖΕͳ͍ w ΫϥΠΞϯτଆͰ͍ͭωοτ͕੾ΕΔ͔Θ͔Βͳ͍͜ͱΛ૝ఆ͢Δ w ΫϥΠΞϯτଆʹେࣄͳ৘ใΛஔ͔ͳ͍ w ͳΔ΂͘όʔδϣϯΛࡉ্͔͛͘ΔৗʹΈΜͳ͕ۙ͘ʹ͍Δͱ͸ݶΒͳ͍ w ࠷௿ݶར༻Ͱ͖Δঢ়ଶ͔Β࢖ͬͯ΋Β͏ w खؒͩͱࢥ͏෦෼͔Βศརʹ͍ͯ͘͠

Slide 29

Slide 29 text

FYŠOBNFTQBDFΛγϣʔτΧοτ͢Δ

Slide 30

Slide 30 text

5IF6/*9QIJMPTPQIZ w 4NBMMJTCFBVUJGVMখ͍͞΋ͷ͸ඒ͍͠ w .BLFFBDIQSPHSBNEPPOFUIJOHXFMMͭͷϓϩάϥϜʹ͸ͭͷ͜ͱΛ͏· ͘΍ΒͤΔ w $IPPTFQPSUBCJMJUZPWFSF⒏DJFODZޮ཰ΑΓҠ২ੑΛ༏ઌ͢Δ w 6TFTPGUXBSFMFWFSBHFUPZPVSBEWBOUBHFιϑτ΢ΣΞΛᑏࢠ ͯ͜ ͱͯ͠ ࢖͏ w "WPJEDBQUJWFVTFSJOUFSGBDFTա౉ͷର࿩తΠϯλʔϑΣʔεΛආ͚Δ

Slide 31

Slide 31 text

LVCFSOFUFTΛૢ࡞Ͱ͖Δ$-* LVCFίϚϯυ Kubernetes for Wantedly kube Commands: • kube deploy • kube migration • kube diff • kube rollback • kube enable dotenv • kube enable private-repogitory quay • kube generate • kube tags • kube (kubectl subcommands) Container Tools: • kubectl • k8sec • slack notification(kubenotification) • deploy (kubeloy) • scheduler (?????) • ps/status (kubeps) Developer kube Server Kubernetes

Slide 32

Slide 32 text

πʔϧͷ௥Ճ αʔόʔଆͰEPDLFSDPNQPTFZNMΛ௥ه͢Ε͹୭Ͱ΋ར༻Մೳ

Slide 33

Slide 33 text

ΫϥΠΞϯτଆʹ͸TVCDPNNBOEͱͯ͠௥Ճ ˞ਖ਼ࣜϦϦʔε͢ΔࡍʹΫϥΠΞϯτଆΛ։์͢Δ

Slide 34

Slide 34 text

࣮ࡍߦ͖ͬͯͨखॱ ඞཁͩͱࢥ͏෦෼ΛܾΊΔ ࣾ಺ώΞϦϯά ͱ͔ΒϩʔυϚοϓʹམͱ͢ ͜͏͢Δͱ໰͍߹Θ͕ͤདྷͨ࣌ʹύοͱ౴͑ΕΔ ίʔυ υοΫϑʔυ͢Δ ΞʔϦʔΞμϓλʔʹϓϨϦϦʔε ΞʔϦʔΞμϓλʔʹΞφ΢ϯεϋϯζΦϯ ϑΟʔυόοΫྑ͚Ε͹શମΞφ΢ϯε

Slide 35

Slide 35 text

ϩʔυϚοϓ w CFUB൛Λҭ͍ͯͯ͘ํ਑ w ίϯηϓτΛܾΊΔ ମݧΛܾΊΔ w ͬ͘͟Γͱͨ͠εέδϡʔϧ

Slide 36

Slide 36 text

·ͩ·ͩվળ͸ଓ͘ɻɻ &EJUPS໰୊ UPPMΛ࡞Δ͜ͱͰຊདྷى͜Βͳ͔ͬͨ͸ͣͷ໰୊΋͋Δ ͜͏͍͏ମݧ෦෼͸௚͙ʹվળ

Slide 37

Slide 37 text

NEXT — ڵຯΛ࣋ͬͨํ͸ؾܰʹ࠙਌ձͰ࿩͠·͠ΐ͏!! —