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

スタートアップのレガシーシステムをAws活用で改善している話

 スタートアップのレガシーシステムをAws活用で改善している話

第2回 関西スタートアップAWS勉強会
2016-04-21(木)18:30 - 21:30
https://kansaistartupaws.doorkeeper.jp/events/41786

Avatar for Tomoyuki Sugita

Tomoyuki Sugita

April 21, 2016
Tweet

More Decks by Tomoyuki Sugita

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ • ਿా ஌ࢸɹ@tomotomobile • ΫοΫϏζגࣜձࣾɹ։ൃ෦ • Project Management, Growth

    hack, Recruiting • WordPress contributor, CoderDojo Umeda 2 < ࠙਌ձLT͠·ͨ͠
  2. 5ਓҎԼ 6ʙ30ਓ 31ʙ50ਓ 51ʙ99ਓ 100ਓҎ্ 10ԯԁҎ্ େձࣾ 7ԯԁҎ্ தձࣾͷେ 4ԯԁҎ্

    தձࣾͷத 4ઍສԁҎ্ தձࣾͷখ 4ઍສԁະຬ খձࣾ ձࣾن໛ʢখചɾαʔϏεʣ 1೥લ͸͜ͷ΁Μ ※ඇ্৔גࣜͷձࣾن໛ͷ൑ఆʢ̨̢̗̘೔ڵূ݊ʣ http://www.smbcnikko.co.jp/corporate/mnr/buyback/buy03.htmlɹ 10
  3. 5ਓҎԼ 6ʙ30ਓ 31ʙ50ਓ 51ʙ99ਓ 100ਓҎ্ 10ԯԁҎ্ େձࣾ 7ԯԁҎ্ தձࣾͷେ 4ԯԁҎ্

    தձࣾͷத 4ઍສԁҎ্ தձࣾͷখ 4ઍສԁະຬ খձࣾ ձࣾن໛ʢখചɾαʔϏεʣ ※ඇ্৔גࣜͷձࣾن໛ͷ൑ఆʢ̨̢̗̘೔ڵূ݊ʣ http://www.smbcnikko.co.jp/corporate/mnr/buyback/buy03.htmlɹ 11
  4. ΫοΫϏζͷ։ൃ؀ڥ͸͜Μͳײ͡ • ݴޠɿPHP5.6 / DBɿMySQL5.5 • PCɿMac / IDEɿPhpStorm •

    ϑϨʔϜϫʔΫɿΦϦδφϧ / Yii1 / Yii2 • ςετϑϨʔϜϫʔΫɿCodeception • VMɿVagrant + Ansible • αʔόʔɿAWS EC2 + RDS 13
  5. ͱ͋Δ৽نαʔϏεͩͱ͜Μͳײ͡ • ݴޠɿPHP5.6 / DBɿMySQL5.7 + NoSQL • PCɿMac /

    IDEɿPhpStorm • ϑϨʔϜϫʔΫɿZendFramework2 • αʔόʔɿAWS EC2 + S3 + RDS + DynamoDB + SES • ςετͱVM͸ݕ౼த 14
  6. ։ൃϝϯόʔ 15 cook+biz farm+biz αʔόʔ ϑϩϯτ σβΠϯ ΞϓϦ σβΠϯ αʔόʔ

    ΅͘ ϩϘ 14໊ʴ1ϩϘ https://cacoo.com/store/items/10023
  7. ϢχʔΫͳϧʔϧ Review Day Releaseલ೔ɺ͢΂ͯͷfeature / bugfix Λ։ൃϝϯόʔ͕ ϨϏϡʔ͢Δɻͦͷ೔͸ɺ։ൃऀ͸։ൃͰ͖ͳ͍ɻ • ͲΜͳ͜ͱΛ͢Δͷ͔ʁ

    • ಈ࡞ϨϏϡʔ / ίʔυϨϏϡʔ / ϑϦʔσόοά • ࢓༷௨ΓͰ͖ͯΔ͚ͲվળͰ͖Δ఺ͷࢦఠ • ։ൃ؀ڥͷվળ 19
  8. Gitͷӡ༻ϧʔϧ • feature • ػೳ௥Ճɺػೳมߋ • bugfix • όάͷमਖ਼ •

    hotfix • ۓٸͰमਖ਼͠ͳ͚Ε͹ͳΒͳ͍όά • bizReq • ςΩετ΍ը૾मਖ਼ɾGrowthHackͳͲϏδωεཁٻ(Business Requirement) 20
  9. Program HTML Javascript Server Server Database Database Program HTML Mail

    https://pixabay.com/ja/%E3%82%B9%E3%83%91%E3%82%B2%E3%83%83%E3%83%86%E3%82%A3-napolitana-%E3%82%B9%E3%83%91%E3%82%B2%E3%83%83%E3%83%86%E3%82%A3-%E9%A3%9F%E5%93%81-%E7%9A%BF-83745/ 22
  10. FTP͔͠࢖͑ͳͯ͘΋Gitಋೖͨ͠ํ͕͍͍Α # αʔόʔʹফ͠๨ΕͨϑΝΠϧ͕͍ͬͺ͍͋ΔΑ(´ʀωʀʆ) # master ͱͷࠩ෼Ͱ࡟আ͞ΕͨϑΝΠϧͷΈநग़ $ git diff --name-status

    master|grep "^D" > diffs.txt # Ξοϓϩʔυ͠๨ΕͨϑΝΠϧ͕෼͔Βͳ͍(´ʀωʀʆ) # master ͱͷࠩ෼ϑΝΠϧΛuploadsϑΥϧμʹநग़ $ git diff --name-only master | git checkout-index --prefix=uploads/ --stdin 24 ͜Ε͚ͩͰ΋Ξοϓϩʔυָ͕ʹͳΓ·͢
  11. ͍͟ɺ੾Γସ͑ • EC2ͰϝϯςφϯεαΠτΛ্ཱͪ͛Δ • Route53Ͱຊ൪υϝΠϯΛϝϯςαΠτʹ޲͚Δ • ҠߦલαʔόͷcronΛࢭΊΔ • Ҡߦલαʔόͷϩά͕ಈ͔ͳ͘ͳΔͷΛ଴ͭ •

    ը૾ͷࠩ෼ΛrsyncͰऔಘɺDBΛΠϯϙʔτ • ಈ࡞ݕূͯ͠ɺ໷ؒόονΛ࣮ߦɺcronઃఆ • Route53Ͱຊ൪υϝΠϯΛ৽αʔόʹ޲͚Δ 30
  12. ͍͟ɺ੾Γସ͑ • EC2ͰϝϯςφϯεαΠτΛ্ཱͪ͛Δ • Route53Ͱຊ൪υϝΠϯΛϝϯςαΠτʹ޲͚Δ • ҠߦલαʔόͷcronΛࢭΊΔ • Ҡߦલαʔόͷϩά͕ಈ͔ͳ͘ͳΔͷΛ଴ͭ •

    ը૾ͷࠩ෼ΛrsyncͰऔಘɺDBΛΠϯϙʔτ • ಈ࡞ݕূͯ͠ɺ໷ؒόονΛ࣮ߦɺcronઃఆ • Route53Ͱຊ൪υϝΠϯΛ৽αʔόʹ޲͚Δ 31
  13. ͍͟ɺ੾Γସ͑ • EC2ͰϝϯςφϯεαΠτΛ্ཱͪ͛Δ • Route53Ͱຊ൪υϝΠϯΛϝϯςαΠτʹ޲͚Δ • ҠߦલαʔόͷcronΛࢭΊΔ • Ҡߦલαʔόͷϩά͕ಈ͔ͳ͘ͳΔͷΛ଴ͭ •

    ը૾ͷࠩ෼ΛrsyncͰऔಘɺDBΛΠϯϙʔτ • ಈ࡞ݕূͯ͠ɺ໷ؒόονΛ࣮ߦɺcronઃఆ • Route53Ͱຊ൪υϝΠϯΛ৽αʔόʹ޲͚Δ 32
  14. Χϯόϯํ͔ࣜΒεΫϥϜ։ൃ΁ • ͦΕ·Ͱɺ׬੒ͨ͠ίʔυ͔Βॱ࣍σϓϩΠ͍ͯͨ͠ ͷΛ1िؒεϓϦϯτͷεΫϥϜ։ൃʹมߋ • Review DayΛಋೖ
 (Releaseલ೔ɺ͢΂ͯͷfeature / bugfix

    Λ։ൃϝϯόʔ͕ϨϏϡʔ͢Δɻ) • ݁Ռɺ։ൃʹϦζϜ͕ੜ·Εɺશһ͕඼࣭ʹҙࣝΛ޲ ͚Δ͜ͱ͕ग़དྷɺεέδϡʔϧ่͕Εʹ͘͘ͳͬͨ 37