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

Wantedly の文化を支えるインフラとビジネスの変化に強いインフラ / #jtf2016

Wantedly の文化を支えるインフラとビジネスの変化に強いインフラ / #jtf2016

July Tech Fest 2016 @産業技術大学院大学
これまで Wantedly が取り組んできたインフラの改善とそこに至る文化についてお話しました。

Kodai Sakabe

July 24, 2016
Tweet

More Decks by Kodai Sakabe

Other Decks in Technology

Transcript

  1. ABOUT ME — Software Engineer — 2010/4- TIS KOUDAI SAKABE

    2015/8- Wantedly @koudaiii Site: http://koudaiii.com
  2. 3 @

  3. Wantedly Open API ͸ͨΒ͘Λ໘ന͘ʯΛςʔϚʹ͜Ε·ͰαʔϏε։ൃΛల։͖ͯͨ͠ 8BOUFEMZ͕ͦͷՁ஋Λ8BOUFEMZDPNυϝΠϯҎ֎ʹ΋޿͍͖͛ͯ·͢ɻ ੈͷதͷҰਓͰ΋ଟ͘ͷਓ͕ɺ͸ͨΒ͘Λ໘ന͘ʯײ͡ΒΕΔੈͷதʹͳΓ·͢Α͏ʹɻ Ͱ͖Δ͜ͱ ࣗಈೖྗ ΫοΫύουגࣜձࣾ ΫοΫύουגࣜձࣾ

    5݄13೔ʹฐࣾΦϑΟε಺ͷεϖʔεʹͯʮʲୈ17ճʳpotatotips(iOS/Android։ൃTips ڞ༗ձ)ʯ http://connpass.com/event/14143/ Λ։࠵͠·ͨ͠ʂ 18໊ͷൃදऀ͕5෼ؒͷLTʢϥΠτχϯάτʔΫɿΧϯϑΝϨϯεͳͲͰߦΘΕΔ୹͍ ΋ͬͱݟΔ ஑ా୓࢘ ϢʔβʔϑΝʔετਪਐ෦෦௕   ਓ͕ϑΥϩʔத  ਓ͕ϑΥϩʔத ϑΥϩʔ͢Δ ձࣾϑΟʔυϘοΫε ࿩Λฉ͖ʹߦ͘Ϙλϯ ϑΥʔϜࣗಈೖྗϘλϯ Wantedly্ʹ͋ΔʮձࣾϑΟʔυʯ Λɺϒϩά΍ίʔϙϨʔταΠτͳ Ͳɺ޷͖ͳϖʔδʹ؆୯ʹຒΊࠐΉ͜ ͱ͕Ͱ͖·͢ɻखܰͳ࠾༻ϒϥϯσΟ ϯά΍৘ใൃ৴ʹར༻Ͱ͖·͢ɻ ৄ͘͠ ৄ͘͠ ৄ͘͠ ࣗࣾαΠτ౳ͷืूཁ߲ʹɺʮ࿩Λฉ ͖ʹߦ͖͍ͨʯϘλϯΛઃஔ͠ɺ Wantedly্ͷʮ༡ͼʹ͍͘ମݧʯΛࣗ ࣾαΠτͰ΋ల։Ͱ͖·͢ɻ ࠾༻؅ཧγεςϜఏڙاۀ༷౳΁ͷಛ ผఏڙAPIͰ͢ɻީิऀ͕ืूʹΤϯ τϦ͢ΔࡍʹɺWantedly্ͷϓϩϑΟ ʔϧ৘ใΛ׆༻ͯ͠ΤϯτϦ͕Մೳʹ ͳΓ·͢ɻ
  4. WANTEDLY JOURNAL ͸ͨΒ͘Λ໘ന͘͢ΔϝσΟΞ γΰτͰίίϩΦυϧͬͯͳΜͩΖ͏ʁ 8BOUFMEZ͸ɺγΰτͰίίϩΦυϧਓΛ;΍͍ͨ͠ͱߟ͍͑ͯ·͢ɻ Ͱ͸ɺzγΰτͰίίϩΦυϧzͱ͸Ͳ͏͍͏ঢ়ଶͳͷͰ͠ΐ͏ʁ ͓٬͞Μʹʮ͋Γ͕ͱ͏ʯͱݴΘΕͨͱ͖ ໨ඪͷച্Λୡ੒ͨ͠ͱ͖ νʔϜϝϯόʔͷসإΛݟͨͱ͖ʜ ͦΕ͸ɺਓʹΑͬͯҧ͏Ͱ͠ΐ͏͠ɺ

    ࣌୅΍ࠃʹΑͬͯ΋·ͬͨ͘ҟͳΔͰ͠ΐ͏ɻ ࠓճϦϦʔε͢Δʮ8"/5&%-:+063/"-ʯͰ͸ɺ 8BOUFEMZΛ௨ͯ͠స৬ͨ͠ํ΍ɺීஈ͋·Γݟͨ͜ͱ͕ͳ͍اۀ΁ͷ ΠϯλϏϡʔΛ௨ͯ͠ɺzγΰτͰίίϩΦυϧzͱ͸Կͳͷ͔Λ୳ٻ͠·͢ɻ γΰτΛ୳͍ͯ͠Δਓ΋ɺͦ͏Ͱͳ͍ਓʹͱͬͯ΋ɺ ʮ8"/5&%-:+063/"-ʯ͕ಇ͖ํͷώϯτʹͳΕ͹޾͍Ͱ͢ɻ
  5. $PEF8JOT"SHVNFOUT w νʔϜͰ࣌ؒ.5(͢ΔͳΒDPEFΛॻ͍ͯݕূ͠Α͏ w ΤϯδχΞͷ৔߹ w ݶΒΕͨ৘ใͰܾஅΛͯ͠ɺલʹਐΜͰ͍Δ͔ w ԾઆΛ͋Ε͜Εߟ͑ΔΑΓɺ·ͣϓϩτλΠϓΛ࡞ͬͯૣֶ͘श͍ͯ͠Δ͔ w

    Ӧۀͷ৔߹ w ࣗ෼Ͱྑ͍ػೳ͕ු͔Μ͔ͩΒΤϯδχΞʹཔΉͷͰ͸ͳ͘ w اըॻΛॻ͍ͯձࣾΛճͬͯɺࣾఔ౓Λ֬໿ͯ͠ɺ͜ΕͳΒߦ͚ΔͱࢥͬͨΒΤϯδχΞʹཔΉ͜ͱ ͕ग़དྷΔ͔
  6. IFSPLVίϚϯυͷΑ͏ͳৼΔ෣͍ w "84΁Ҡߦͨ࣌͠ʹ%FWFMPQFSʹӨڹͰΔͷ͸ɺ͜Ε·Ͱͷӡ༻ͷมԽ w ࠩҟΛݮΒͤΔΑ͏ʹDBQJTUSBOPͰ%PDLFS΍"84΍%BUBEPH౳Λѻ͑Δʹͨ͠ w IFSPLVDPNNBOEͰΑ͘ར༻͢ΔίϚϯυΛ࣮ݱ $ cap -T

    cap config # Display the config vars for an app cap deploy[revision] # Deploy an application cap deploy:diff[ref] # Display diff deployed revision and the revision to cap deploy:rollback # Rollback application cap logs:t[container_name] # Display stream logs for an container cap maintenance:on # Enable maintenance mode cap ps # Display web, worker, scheduler, run type containers cap ps:scale[role,num] # Scale out/in containers cap ps:restart:web[color,chained_task?] # Start web containers cap releases # Display deploy history cap run[command] # Run on-off commands cap scheduler # Display scheduling cap scheduler:clear # Clear scheduler config cap scheduler:update # Update scheduler cap status # Show application status
  7. $ heroku -h Usage: heroku COMMAND [--app APP] [command-specific-options] Primary

    help topics, type "heroku help TOPIC" for more details: addons # manage add-on resources apps # manage apps (create, destroy) auth # authentication (login, logout) config # manage app config vars domains # manage domains logs # display logs for an app ps # manage dynos (dynos, workers) releases # manage app releases run # run one-off commands (console, rake) IFSPLVI
  8. ΫϥελϦϯάͰԿ͕ग़དྷΔ w "QQMJDBUJPOΛಈ͔ͤΔΠϯϑϥΛ͙͢࡞ͬͯ͘ΕͱݴΘΕͨ࣌ʹ࡞ΕΔ w JOTUBODFΛ૿΍͚ͩ͢ͰίϯςφΛԿ୆෼ಈ͔ͯ͠΋ߏΘͳ͍ w ճݶΓͷ͙͢ऴΘΔλεΫͰ΋ྑ͍ w Τϥʔ͕͋ͬͨͱͯ͠΋ɺผͷͱ͜ΖͰ૸Βͤ௚ͤΔ w

    Ұͭͷେ͖ͳϦιʔεͱͯ͠ಈͨ͘Ίɺࠓ·Ͱߦ͖͍ͬͯͯͨ.POJUPSJOH༻ʹίϯ ςφΛઃఆͯ͠ɺ࣍͸"4(༻ʹϚγϯΛཱͯͯɺ࣍͸Έ͍ͨͷΑ͏ͳΠϯϑϥ࡞ ۀ͜ͱ͕ͳ͍ ʮԿ͕ԿॲͰಈ͍͍ͯΔ͔Λҙ͍ࣝͯ͠ͳ͚Ε͹ͳΒͳ͍ੈքʯ͔ΒʮԿ͕ಈ͍͍ͯΔ͔͚ͩҙ͍ࣝͯ͠Ε͹ྑ͍ੈքʯ
  9. Πϯϑϥͱσϕϩούʔͷ؀ڥ෼ׂ ʮԿ͕ԿॲͰಈ͍͍ͯΔ͔Λҙ͍ࣝͯ͠ͳ͚Ε͹ͳΒͳ͍ੈքʯ͔ΒʮԿ͕ಈ͍͍ͯΔ͔͚ͩҙ͍ࣝͯ͠Ε͹ྑ͍ੈքʯ 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 ΠϯϑϥνʔϜ ΠϯϑϥνʔϜ ΠϯϑϥνʔϜ ΠϯϑϥνʔϜ
  10. ,POH"SDIJUFDUVSF w ,POH$MVTUFSJOH w QMVHJO w 0"VUI w "$- w

    *13FTUSJDUJPO w 3BUF-JNJU w 3FRVFTU4J[FMJNJU w 3FTQPOTFMBUFMJNJU