Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
M&Aクラウドにおける AWS ElasticBeanstalkの活用
Search
y-tsuzaki
February 27, 2020
Technology
1
830
M&Aクラウドにおける AWS ElasticBeanstalkの活用
Coral Capital主催「AWS×スタートアップ オンラインLT大会(Coral Developers Night #3)」 一般LT枠
y-tsuzaki
February 27, 2020
Tweet
Share
More Decks by y-tsuzaki
See All by y-tsuzaki
PHPカンファレンス福岡2024 【超特急】SQLアンチパターン総おさらいLT
ytsuzaki
0
830
PHPカンファレンス北海道2024 リーダブルSQL
ytsuzaki
5
570
ある日PHPerがベンチャー企業のデータ基盤を作ることになったら
ytsuzaki
1
350
【PhpStorm】モブプログラミングの実践と学び【結局はバランス?】
ytsuzaki
0
330
PHPerKaigi 2022 【Laravel】 サクッとN + 1問題を見つけて倒しチャオ!
ytsuzaki
1
2.7k
【超特急】「SQLアンチパターン」 総おさらいLT 【4分で25個】
ytsuzaki
2
740
Nuxt Composition API 使ってみた
ytsuzaki
0
150
Nuxt.js x Composition API x TypeScript
ytsuzaki
0
660
PHPerKaigi 2021 LT PHPで簡単コード生成! 同じようなコードをたくさん書くなら コード生成しチャイナ!
ytsuzaki
0
100
Other Decks in Technology
See All in Technology
APIテスト自動化の勘所
yokawasa
2
150
ガバメントクラウド単独利用方式におけるIaC活用
techniczna
2
120
Data Migration on Rails
ohbarye
6
3.4k
Amazon FSx for NetApp ONTAPを利用するにあたっての要件整理と設計のポイント
non97
1
110
強すぎるIAMをCloudTrailを使って適正化した話
yjszk
0
230
次は君だ。~Japan AWS Jr. Champions 受賞までの奇跡~
fukuchiiinu
0
210
都市伝説バスターズ「WebアプリのボトルネックはDBだから言語の性能は関係ない」 - Kaigi on Rails 2024
osyoyu
7
2.2k
Creating Intuitive Developer Tool in Swift
giginet
PRO
0
480
Mobbing Practices
kawaguti
PRO
2
290
クライアントサイドでよく使われる Debounce処理 をサーバサイドで3回実装した話
yoshiori
1
110
AWS Step Functionsのタスク入出力に秩序を与えよう
y_kotani
0
180
【LT】ソフトウェア産業は進化しているのか? -Javaの想い出とともに- #jjug_ccc
takabow
0
140
Featured
See All Featured
Music & Morning Musume
bryan
46
6.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
660
Building Your Own Lightsaber
phodgson
102
6k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.6k
Embracing the Ebb and Flow
colly
84
4.4k
Unsuck your backbone
ammeep
668
57k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Transcript
M&Aクラウドにおける AWS ElasticBeanstalkの活用 つざき Twitter : @ytzk_ Qiita : zackey2
株式会社M&Aクラウド つざき @ytzk_ SIer -> Web受託開発会社 -> ITスタートアップ(1年目) WEBフロントエンド・バックエンド・ちょっとインフラ 銭湯・サウナ・キャンプが好き
自己紹介
話すこと ・M&AクラウドのElasticBeanstalkを活用した環境構成 ・ElasticBeanstalk選定理由 ・ElasticBeanstalkのメリット・デメリット ・ElasticBeanstalk ワーカー環境の活用 話さないこと 他のアーキテクチャやクラウドサービスとの比較 対象 新規サービスをこれから作ろうとしてる方
M&Aクラウド?
M&Aクラウドは、 M&Aクラウドという M&Aのマッチングプラットフォームを運営する スタートアップ企業です
設立 5期目 サービスローンチから 2年目 従業員数 21名 エンジニア 5名
None
None
サーバーサイド PHP7.2, Laravel6.4, MySQL5.7 フロントエンド JavaScript, sass, Vue.js, 一部Nuxt.js(Typescript) 開発ツール
GitHub CircleCI
ローンチ当初の環境構成
None
ElasticBeanstalkとは
(釈迦に説法だと思うので割愛)
ElasticBeanstalk選定の理由
- エンジニア一人だけ - インフラはそれほど詳しくない - 早くサービスをローンチしたい - サービスが当たるかどうかわからない - サービスの機能追加が優先
- 本番環境でDockerを使うことがそれほど一般的ではな かった - どうやらElasticBeanstalkが良さそう(口コミ)
ElasticBeanstalkのいい点
- 簡単に冗長構成のWebサイトを公開できる - LBやセキュリティグループやサブネットなどの細々し た設定をしなくていい - ミドルウェアのインストールなども自動でやってくれる - PHPプラットフォームを選択すればPHPの動作に必 要なミドルウェアが自動でインストールされる
- リリースが楽 - eb コマンドで簡単にコードをデプロイできる - Webコンソールから環境変数の追加変更 - 複数環境作るときに楽 - Webコンソールからオートスケールの設定
ElasticBeanstalkのいまいちな点
- リリースに時間がかかる - インスタンス1台5分程度かかる 2台構成で10分程度 - 環境変数を変更するだけでも同じくかかる - PHPのバージョンアップが遅い -
PHP7.3リリースからおよそ8ヶ月後に追加
現在の環境構成
None
全文検索機能追加 ワーカーサーバーの導入 Nuxt.jsによる一部ページの 置き換え
1年半経ってもElasticBeanstalkを使ったWebサーバで問 題なく機能拡張できている
ワーカー環境の活用
- ElasticBeanstalkの2種類の環境枠 - ウェブサーバー環境 - ワーカー環境 - ワーカー環境はバックグラウンド処理専用のサーバ - インターネットに公開されないサーバ
- SQSのキューを監視してジョブをlocalhostのアプリケー ションにPOSTしてくれる - ジョブの並列実行可能 - Cronのように指定時刻にアプリケーションにPOSTしてく れる機能もある
- M&Aクラウドでは 非同期メール送信、定時メール送信をワーカー環境で実行 するようにした - ワーカー環境導入の結果 - メール送信 100通 /
分 → 800通 / 分 - 並列数を増やせばもっと早くできそうだがSESの上限を 超えないくらいに設定
まとめ Elasitic Beanstalkは - 素早くサービスを始められる - サービスが成長しても使い続けられる インフラに割くリソースがなく スモールスタートでサービスをローンチしたい場合に 適切なソリューション