スタートアップが知っておきたいAWS知識

48
ススススススススススススススススス AWS ス ススススススス 西 AWS ススス @ STARTUP CAFÉ 2016-12-08 Thu ススススススススス スス スス

Transcript of スタートアップが知っておきたいAWS知識

Page 1: スタートアップが知っておきたいAWS知識

スタートアッフか知っておきたい AWS 知識関西スタートアッフ AWS 勉強会 @ STARTUP CAFÉ2016-12-08 Thu

クックビズ株式会社杉田 知至

Page 2: スタートアップが知っておきたいAWS知識

自己紹介• 杉田 知至  @tomotomobile• クックビズ株式会社 開発部• Project Management, Growth hack, Recruiting• WordPress contributor, CoderDojo 西宮 / 梅田

< 登壇しました

Page 3: スタートアップが知っておきたいAWS知識

経歴紹介• 学生起業( Web 制作)• 廃業&無職• Web 制作会社勤務• クックビズ入社

Page 4: スタートアップが知っておきたいAWS知識

アジェンダ• クックビズの紹介• スタートアッフか AWS を活用するまでの歴史• 経営者向け AWS の見方• まとめ

Page 5: スタートアップが知っておきたいAWS知識

技術的な話かいっぱい出てきます!キーワードだけでもメモしてください

Page 6: スタートアップが知っておきたいAWS知識

キーワードだけでも?• 良いエンジニアになるため?• 良いエンジニアを採用するため?• スタートアッフを成功させるための引き出しの一つとして?• IT はビジネスの道具。道具の名前を知っておこう。

https://commons.wikimedia.org/wiki/File:Mr_Pipo_Why_how_what.svg

Page 7: スタートアップが知っておきたいAWS知識

© 2016 Forbes Media LLC.http://www.forbes.com/sites/kylewong/2015/08/09/making-it-through-the-startup-trough-of-sorrow/#496f36b114ee

Page 8: スタートアップが知っておきたいAWS知識

スタートアッフの成長に IT 技術か必須• 経営者か IT を理解できないと適切な投資かできない

• 理解することで経営戦略か強くなる• ビジネスの成長をいつも妨げるのは技術

• 適切に技術を使えれば成長を促進する

Page 9: スタートアップが知っておきたいAWS知識

サーバーの種類• レンタルサーバー

• お手軽。ビジネスかスケールすると耐えられない。• 専用(オンフレミス)サーバー

• 何でもできる。ハードウェアの管理か大変。• クラウドサーバー

• 何でもできて、必要なときだけ使える。良いとこ取り。

Page 10: スタートアップが知っておきたいAWS知識

アジェンダ• クックビズの紹介• スタートアッフか AWS を活用するまでの歴史• 経営者向け AWS の見方• まとめ

Page 11: スタートアップが知っておきたいAWS知識

運用中の Web サービス飲食・フード関連業特化の求人サイト「クックビズ」

農業にふれて・学んで・仕事にする「ファームビズ」

フード関連ハイクラス求人「フージェント」

飲食人材のフロによる " 食 " のキュレーションサイト「クックビズ総研」

Page 12: スタートアップが知っておきたいAWS知識

運用中のスマートフォンアフリ

Page 13: スタートアップが知っておきたいAWS知識

アクセス数  300%UP( http://cookbiz.jp 単体)

Page 14: スタートアップが知っておきたいAWS知識

5 人以下 6 〜 30 人 31 〜 50 人 51 〜 99 人 100 人以上10 億円以上 大会社7 億円以上 中会社の大4 億円以上 中会社の中

4 千万円以上 中会社の小4 千万円未満 小会社

会社規模(小売・サービス)

1 年半前はこのへん

※ 非上場株式の会社規模の判定(SMBC日興証券)http://www.smbcnikko.co.jp/corporate/mnr/buyback/buy03.html 

Page 15: スタートアップが知っておきたいAWS知識

5 人以下 6 〜 30 人 31 〜 50 人 51 〜 99 人 100 人以上10 億円以上 大会社7 億円以上 中会社の大4 億円以上 中会社の中

4 千万円以上 中会社の小4 千万円未満 小会社

会社規模(小売・サービス)

※ 非上場株式の会社規模の判定(SMBC日興証券)http://www.smbcnikko.co.jp/corporate/mnr/buyback/buy03.html 

Page 16: スタートアップが知っておきたいAWS知識

Foodion ( フージョン ) https://foodion.net/

Page 17: スタートアップが知っておきたいAWS知識

Foodion iOS アフリ https://foodion.net/app/

12/1

Release

d

Page 18: スタートアップが知っておきたいAWS知識

Foodionシステムアーキテクチャ AWS の良さをフル活用

Page 19: スタートアップが知っておきたいAWS知識

開発メンバーcook+biz Foodion

サーバーフロント アフリ

デザイン

サーバーぼく

ロボ17 名+ 1 ロボ

https://cacoo.com/store/items/10023

アフリ

フロント

Page 20: スタートアップが知っておきたいAWS知識

アジェンダ• クックビズの紹介• スタートアッフか AWS を活用するまでの歴史• 経営者向け AWS の見方• まとめ

Page 21: スタートアップが知っておきたいAWS知識

始めはセールスだけの会社

https://www.flickr.com/photos/larrison/13883872788

Page 22: スタートアップが知っておきたいAWS知識

Program

HTML

JavascriptServer

Server

Database

DatabaseProgram

HTMLMail

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/

Page 23: スタートアップが知っておきたいAWS知識

四の五の言わずに Git 導入しましょう• いつ、だれか、どこに、どんな変更を加えたのかすべてのログか追えるようになります• Git = 営業日報

https://github.com/qw3rtman/git-fire

Page 24: スタートアップが知っておきたいAWS知識

WBS 砲の直撃を受け AWS へ移行を決定• 大手オンフレミス型サーバを利用• WBS放送により 12時間以上サーバーにアクセス出来ない状況• AWS への移行か最優先事項になった

Page 25: スタートアップが知っておきたいAWS知識

移行準備としてデフロイスクリフト作りました

• Git から AWS にソースコードを Pull+Build して公開領域にrsync• アッフロードされた画像、 DB を rsync で転送• Git 入れといてよかった!!

Code

Image & DB

Code

Page 26: スタートアップが知っておきたいAWS知識

移行のリハーサルは入念に、テスト環境編• 予め DNS は R53 に変更• Amazon Linux でコードか動くかテスト• 動かない部分は修正しておく

Page 27: スタートアップが知っておきたいAWS知識

移行のリハーサルは入念に、本番環境編• (当時の ) 理想的な構成を作る• デフロイスクリフトでデフロイ問題かあれば修正• RDS の Timezone か UTC だと気づきアフリケーションを修正 (現在は Timezone選択できます )

• 本番移行の手順を書き出し、移行当日は順番に実行するだけの状態にしておく

Page 28: スタートアップが知っておきたいAWS知識

いざ、切り替え• EC2 でメンテナンスサイトを立ち上げる• Route53 で本番ドメインをメンテサイトに向ける• 移行前サーバの cron を止める• 移行前サーバのログか動かなくなるのを待つ• 画像の差分を rsync で取得、 DB をインポート• 動作検証して、夜間バッチを実行、 cron設定• Route53 で本番ドメインを新サーバに向ける

Page 29: スタートアップが知っておきたいAWS知識

いざ、切り替え• EC2 でメンテナンスサイトを立ち上げる• Route53 で本番ドメインをメンテサイトに向ける• 移行前サーバの cron を止める• 移行前サーバのログか動かなくなるのを待つ• 画像の差分を rsync で取得、 DB をインポート• 動作検証して、夜間バッチを実行、 cron設定• Route53 で本番ドメインを新サーバに向ける

Page 30: スタートアップが知っておきたいAWS知識

いざ、切り替え• EC2 でメンテナンスサイトを立ち上げる• Route53 で本番ドメインをメンテサイトに向ける• 移行前サーバの cron を止める• 移行前サーバのログか動かなくなるのを待つ• 画像の差分を rsync で取得、 DB をインポート• 動作検証して、夜間バッチを実行、 cron設定• Route53 で本番ドメインを新サーバに向ける

Page 31: スタートアップが知っておきたいAWS知識

AWS への移行やってみて気づいたこと• デフロイスクリフト便利• リハーサル大事

• 2回位リハーサルできると不測の事態を避けられる• 以後、リリースリハーサルか定着した

• Route53 すげー

Page 32: スタートアップが知っておきたいAWS知識

しばらく平穏な日々か続き開発メンバー増員、開発力か上かる

Page 33: スタートアップが知っておきたいAWS知識

リリースするたびにバグか出る暗黒時代• 開発を積極的にするようになりリリース回数か増えた• リリースしてはバグ修正に追われ、スケジュールか次々に破綻• スケジュールかヤバイので、更に品質か悪化完全に負のスパイラル!!

Page 34: スタートアップが知っておきたいAWS知識

バグ削減と品質向上のためにやったこと• カンバン方式→スクラム開発• UI テストの導入

Page 35: スタートアップが知っておきたいAWS知識

カンバン方式からスクラム開発へ• それまで、完成したコードから順次デフロイしていたのを 1週間スフリントのスクラム開発に変更• Review Day を導入

(Release 前日、すべての feature / bugfix を開発メンバーかレビューする。 )

• 結果、開発にリズムか生まれ、全員か品質に意識を向けることか出来、スケジュールか崩れにくくなった

Page 36: スタートアップが知っておきたいAWS知識

スクラム開発やってみて気づいた AWS利便性• ステージング環境か必要なのは水曜だけ

• 火曜夕方、 EC2+RDS を起動して、デフロイ• 水曜夜、 EC2+RDS を停止

• ステージング環境のコストを 1/14 に節約

Page 37: スタートアップが知っておきたいAWS知識

Codeception+Selenium で UI テスト• レガシーシステムはテストコードか書けない• ブラウザを操作して、動作か正しいかどうかのテストを自動化• 機能変更後のデグレチェックか容易になりました

http://www.slideshare.net/FlorentBatard/php-kansai-phpkansai

詳しくはこちら

Page 38: スタートアップが知っておきたいAWS知識

UI テストは時間か掛かるので自動で• テストサーバーに Push して毎晩自動でテスト• RDS のスナッフショットからデータベースを毎日リセット

ロボ

Page 39: スタートアップが知っておきたいAWS知識

スクラムと AWS は相性か良いね• 必要なときに必要なだけサーバーを用意できる• スクラムだといつ必要なのかか明確• ほとんどのサーバリソースを API で操作できる• サーバ設定に失敗してもスナッフショットからすぐ復元できる

Page 40: スタートアップが知っておきたいAWS知識

アジェンダ• クックビズの紹介• スタートアッフか AWS を活用するまでの歴史• 経営者向け AWS の見方• まとめ

Page 41: スタートアップが知っておきたいAWS知識

これだけは覚えよう• EC2 (イーシーツー)

• PHP とか Ruby とか Python ってキーワードか出てきたら必要なサービス。 Web サーバーとも。• RDS (アールディーエス) / DynamoDB (ダイナモデービー)

• データベース。• S3 (エススリー)

• 画像や PDF など静的コンテンツの保存場所。 CMS, SNS, CGM というキーワードには必須。

Page 42: スタートアップが知っておきたいAWS知識

EC2 の割合か重要• EC2 のコストか大きすぎると何か間違っている!• 技術は分からなくても金額で判断できる

Page 43: スタートアップが知っておきたいAWS知識

My Billing Dashboard からチェック

Page 44: スタートアップが知っておきたいAWS知識

Wantedly でエンジニア募集中

Page 45: スタートアップが知っておきたいAWS知識

Wantedly でセールス募集中

Page 46: スタートアップが知っておきたいAWS知識

アジェンダ• クックビズの紹介• スタートアッフか AWS を活用するまでの歴史• 経営者向け AWS の見方• まとめ

Page 47: スタートアップが知っておきたいAWS知識

スタートアッフか知っておきたい AWS 知識• AWS を上手く活用できればビジネスを加速できる• キーワードを知っているだけでも AWS を利用しやすくなる• 今日のような勉強会で詳しい人に相談しましょう(このあと質問してください)

Page 48: スタートアップが知っておきたいAWS知識

Enjoy startup!!ご清聴ありかとうございました