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
750
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カンファレンス北海道2023 リーダブルSQL
ytsuzaki
4
250
ある日PHPerがベンチャー企業のデータ基盤を作ることになったら
ytsuzaki
1
290
【PhpStorm】モブプログラミングの実践と学び【結局はバランス?】
ytsuzaki
0
300
PHPerKaigi 2022 【Laravel】 サクッとN + 1問題を見つけて倒しチャオ!
ytsuzaki
1
2.4k
【超特急】「SQLアンチパターン」 総おさらいLT 【4分で25個】
ytsuzaki
2
650
Nuxt Composition API 使ってみた
ytsuzaki
0
110
Nuxt.js x Composition API x TypeScript
ytsuzaki
0
580
PHPerKaigi 2021 LT PHPで簡単コード生成! 同じようなコードをたくさん書くなら コード生成しチャイナ!
ytsuzaki
0
88
アクセス制御ライブラリ Casbinを使ってみた
ytsuzaki
2
1.1k
Other Decks in Technology
See All in Technology
SREsのためのSRE定着ガイド
netmarkjp
10
1.6k
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
24
7.1k
任意コード実行の原理
ffri
0
180
XRミーティング 2024-03-20
1ftseabass
PRO
0
100
オブジェクトのおしゃべり大失敗 メッセージングアンチパターン集 / messaging anti-pattern collection
ytake
0
340
#51 “Empowering Azure Storage with RDMA”
cafenero_777
3
210
KubeCon EU 2024 : Knative Maintainers Session
salaboy
0
380
OCI Data Integration技術情報 / ocidi_technical_jp
oracle4engineer
PRO
1
1.5k
Challenges - Open Farming Hackdays 2024
loleg
0
570
Autopsy of a Cascading Outage from a MySQL Crashing Bug
jfg956
0
200
Evolutionary Optimization of Model Merging Recipes
fuyu_quant0
3
540
戦略的DDDを実践するための跳躍力 / OOC 2024
pictiny
6
4.1k
Featured
See All Featured
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
178
11k
Being A Developer After 40
akosma
56
580k
Designing on Purpose - Digital PM Summit 2013
jponch
109
6.4k
Stop Working from a Prison Cell
hatefulcrawdad
265
19k
How to Ace a Technical Interview
jacobian
272
22k
Principles of Awesome APIs and How to Build Them.
keavy
119
16k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
1
3.3k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2k
Robots, Beer and Maslow
schacon
PRO
154
7.9k
4 Signs Your Business is Dying
shpigford
174
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
How To Stay Up To Date on Web Technology
chriscoyier
781
250k
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は - 素早くサービスを始められる - サービスが成長しても使い続けられる インフラに割くリソースがなく スモールスタートでサービスをローンチしたい場合に 適切なソリューション