Slide 1

Slide 1 text

M&Aクラウドにおける
 AWS ElasticBeanstalkの活用
 つざき Twitter : @ytzk_ Qiita : zackey2

Slide 2

Slide 2 text

株式会社M&Aクラウド つざき @ytzk_ SIer -> Web受託開発会社 -> ITスタートアップ(1年目) WEBフロントエンド・バックエンド・ちょっとインフラ 銭湯・サウナ・キャンプが好き 自己紹介

Slide 3

Slide 3 text

話すこと ・M&AクラウドのElasticBeanstalkを活用した環境構成 ・ElasticBeanstalk選定理由 ・ElasticBeanstalkのメリット・デメリット ・ElasticBeanstalk ワーカー環境の活用 話さないこと  他のアーキテクチャやクラウドサービスとの比較 対象  新規サービスをこれから作ろうとしてる方

Slide 4

Slide 4 text

M&Aクラウド?

Slide 5

Slide 5 text

M&Aクラウドは、 M&Aクラウドという M&Aのマッチングプラットフォームを運営する スタートアップ企業です

Slide 6

Slide 6 text

設立 5期目 サービスローンチから 2年目 従業員数 21名 エンジニア 5名

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

サーバーサイド PHP7.2, Laravel6.4, MySQL5.7 フロントエンド JavaScript, sass, Vue.js, 一部Nuxt.js(Typescript) 開発ツール GitHub CircleCI

Slide 10

Slide 10 text

ローンチ当初の環境構成

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

ElasticBeanstalkとは

Slide 13

Slide 13 text

(釈迦に説法だと思うので割愛)

Slide 14

Slide 14 text

ElasticBeanstalk選定の理由

Slide 15

Slide 15 text

- エンジニア一人だけ - インフラはそれほど詳しくない - 早くサービスをローンチしたい - サービスが当たるかどうかわからない - サービスの機能追加が優先 - 本番環境でDockerを使うことがそれほど一般的ではな かった - どうやらElasticBeanstalkが良さそう(口コミ)

Slide 16

Slide 16 text

ElasticBeanstalkのいい点

Slide 17

Slide 17 text

- 簡単に冗長構成のWebサイトを公開できる - LBやセキュリティグループやサブネットなどの細々し た設定をしなくていい - ミドルウェアのインストールなども自動でやってくれる - PHPプラットフォームを選択すればPHPの動作に必 要なミドルウェアが自動でインストールされる - リリースが楽 - eb コマンドで簡単にコードをデプロイできる - Webコンソールから環境変数の追加変更 - 複数環境作るときに楽 - Webコンソールからオートスケールの設定

Slide 18

Slide 18 text

ElasticBeanstalkのいまいちな点

Slide 19

Slide 19 text

- リリースに時間がかかる - インスタンス1台5分程度かかる 2台構成で10分程度 - 環境変数を変更するだけでも同じくかかる - PHPのバージョンアップが遅い - PHP7.3リリースからおよそ8ヶ月後に追加

Slide 20

Slide 20 text

現在の環境構成

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

全文検索機能追加 ワーカーサーバーの導入 Nuxt.jsによる一部ページの 置き換え

Slide 23

Slide 23 text

1年半経ってもElasticBeanstalkを使ったWebサーバで問 題なく機能拡張できている

Slide 24

Slide 24 text

ワーカー環境の活用

Slide 25

Slide 25 text

- ElasticBeanstalkの2種類の環境枠 - ウェブサーバー環境 - ワーカー環境 - ワーカー環境はバックグラウンド処理専用のサーバ - インターネットに公開されないサーバ - SQSのキューを監視してジョブをlocalhostのアプリケー ションにPOSTしてくれる - ジョブの並列実行可能 - Cronのように指定時刻にアプリケーションにPOSTしてく れる機能もある

Slide 26

Slide 26 text

- M&Aクラウドでは 非同期メール送信、定時メール送信をワーカー環境で実行 するようにした - ワーカー環境導入の結果 - メール送信 100通 / 分 → 800通 / 分 - 並列数を増やせばもっと早くできそうだがSESの上限を 超えないくらいに設定

Slide 27

Slide 27 text

まとめ Elasitic Beanstalkは - 素早くサービスを始められる - サービスが成長しても使い続けられる インフラに割くリソースがなく スモールスタートでサービスをローンチしたい場合に 適切なソリューション