SlideShare a Scribd company logo
1 of 42
Download to read offline
スタディプラスの
workerと画像処理周り
2014.08.07 @akitsukada
はじめに
自己紹介
塚田 朗弘 @akitsukada
2歳の娘持ち
からあげや二郎が好き
糖質セーブ中
スタディプラスCTO
職歴的には中規模金融系SIer→ドワンゴ
iOS、Rails、AWS、MySQL、Haskell
スケーラブルなシステムを

適切な設計で作りたい
はじめに
会社とサービス紹介
スタディプラス株式会社
教育系スタートアップ、 EdTech
エンジニア6名デザイナ1名(募集中!)
サービス
スタディプラス
学習を支援するSNS/プラットフォーム
高校生の 1/4 が利用
ラーニングドラゴン
英単語学習の教材アプリ
スタディプラスAPIを利用する

モデルケース
スタディラウンジ
会員制の有料自習室
はじめに
スタディプラス、インフラの規模感
会員数
70万人弱、年内に100万到達見込み
はじめに
50万人のときのプレスリリースですが…
スタディプラス、インフラの規模感
APIサーバリクエスト数
420/sec @ peak
1500万/day
4億5000万/month
はじめに
これリクエスト数じゃなくて PV ですが…
スタディプラス、インフラの規模感
サーバ台数
EC2インスタンス80-90台くらい @ peak

(スタディプラス以外のサーバ含む)
はじめにこれ台数じゃなくてインスタンス時間ですが…
晩御飯たべて勉強し終わった頃がピーク
はじめに
Sum

Requests
Healthy

Instances
Sum

Requests
Healthy

Instances
晩御飯たべて勉強し終わった頃がピーク
はじめに
だいたい22:30-25:00
本日のアジェンダ
!
振幅10倍のオートスケールな

worker とか
!
サイズ不問の画像処理とか
振幅10倍の

オートスケールな

worker とか
みなさん
worker
どうしてますか
振幅10倍のオートスケールな worker とか
worker
振幅10倍のオートスケールな worker とか
誰かがキューイングした時間がかかる

処理(job)をどんどん捌くプロセス
Webアプリのパフォーマンスを

確保する上で基本的なテクニック
実装例
SQS
Q4M
RabbitMQ
WebSphere MQ
Resque
worker
振幅10倍のオートスケールな worker とか
誰かがキューイングした時間がかかる

処理(job)をどんどん捌くプロセス
Webアプリのパフォーマンスを

確保する上で基本的なテクニック
実装例
SQS
Q4M
RabbitMQ
WebSphere MQ
Resque
Resque を使ってます
Resque https://github.com/resque/resque
GitHub 製 OSS
Rails との親和性大、カンタン、

Webコンソールが気に入った
構成概要
Redis は c3.large を EC2 に立ててます
自分で立てた翌週くらいにElastiCacheが

Redisに対応した…
worker
daemon-spawn で daemon 化
monit でプロセス監視
インスタンスタイプは c1.medium
1台につき10プロセスの worker
振幅10倍のオートスケールな worker とか
スタディプラスの

worker は

front/batchの二種類
振幅10倍のオートスケールな worker とか
front_worker
API サーバがキューイングした 

job をさばく
メール送信
プッシュ通知送信
外部 API 処理
その他リアルタイム性が

求められない処理
ピークタイムは28台・280プロセス、

アイドルタイムは2台・20プロセス
振幅10倍のオートスケールな worker とか
batch_worker
いわゆるバッチ処理も worker でやる。
メールの一斉配信や日次処理など
resque-scheduler利用
cron 的に job をキューイングする
スケールしやすいようにバッチを設計すると

いい感じに
「スケールしやすい」= worker 数を

増やすことでリニアに処理時間が短縮できる

といった意味
例:worker 数を2倍に増やすと

メール一斉配信の所要時間が半分になる。

わかりやすい!
ピークタイムは20台・200プロセス、

アイドルタイムは1台・10プロセス
振幅10倍のオートスケールな worker とか
スケールしやすい batch_worker の設計
kicker と processor に分ける
kicker
resque-scheduler により

キューイングされる job を見張り、

並列可能な processor の job を

多数作ってキューイングする
processor
kicker によって

キューイングされる job を見張り、

とにかく次から次へと物量作戦で

処理する
振幅10倍のオートスケールな worker とか
スケールしやすい batch_worker の設計
振幅10倍のオートスケールな worker とか
Resque-scheduler
①kickerのjobを登録
kicker
②kickerの

jobを処理
③processorのjobを

たくさん登録
processor
④processorのjobを

物量作戦で処理
processor
auto scaling
spot インスタンス

おいしいです(^q^)
front/batch共に
spot使いまくりです
振幅10倍のオートスケールな worker とか
front_worker での spot 活用1/2
spot が先にスケールアウトするように

仕向ける
1. spot インスタンスの worker 群と

レギュラーインスタンスの worker 群と
で Auto Scaling Policy を分ける
2. spot の方がちょっとだけ先にスケール
アウトし、ちょっとだけ後でスケールイ
ンするようにする
3. spot が優先的に増えていってくれて

大幅にお得に!

もはやスポットで使っている感じではない
振幅10倍のオートスケールな worker とか
front_worker での spot 活用2/2
spot が買えなくても困らないように作る
仮に spot の価格が高騰して

突然 spot インスタンス群が落ちても…
一時的に job が貯まるだけで、

数分-20分もすればスケールアウトした

レギュラーインスタンスの worker 群
が問題なくjobを捌いてくれる
もともとリアルタイム性の低い

jobなのでまぁ許容できる

(ユーザはほぼ気づかない)
振幅10倍のオートスケールな worker とか
batch_worker での spot 活用
front_worker と同様のことはやっている
spot が先にスケールアウトするように仕
向ける
spot が買えなくても困らないように作る
scheduled action で、大量の job が

キューイングされる10分前に大量の

spot インスタンスを起動しておく
メール一斉配信とか
振幅10倍のオートスケールな worker とか
結局どのくらい
spot使ってるの
振幅10倍のオートスケールな worker とか
Sum

Requests
Healthy

Instances
晩御飯たべて勉強し終わった頃がピーク
はじめに
だいたい22:30-25:00
spot使用比率まとめ、価格換算
振幅10倍のオートスケールな worker とか
稼働時間(単位:時間)
0
時
1
時
2
時
3
時
4
時
5
時
6
時
7
時
8
時
9
時
10
時
11
時
12
時
13
時
14
時
15
時
16
時
17
時
18
時
19
時
20
時
21
時
22
時
23
時
計
spot 20 10 3 1 1 1 3 5 3 5 5 4 7 7 6 6 7 8 9 12 15 18 20 21 197
res. 4 3 1 1 1 1 1 1 1 1 1 1 3 3 2 2 3 4 4 5 5 5 5 5 63
reg. 2 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 2 2 3 3 3 3 3 25
計 26 14 4 2 2 2 4 6 4 6 6 5 11 11 8 8 11 14 15 20 23 26 28 29 285
課金額(単位:$)
0
時
1
時
2
時
3
時
4
時
5
時
6
時
7
時
8
時
9
時
10
時
11
時
12
時
13
時
14
時
15
時
16
時
17
時
18
時
19
時
20
時
21
時
22
時
23
時
計
spot 0.40 0.20 0.06 0.02 0.02 0.02 0.06 0.10 0.06 0.10 0.10 0.08 0.14 0.14 0.12 0.12 0.14 0.16 0.18 0.24 0.30 0.36 0.40 0.42 3.94
res. 0.20 0.15 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.15 0.15 0.10 0.10 0.15 0.20 0.20 0.25 0.25 0.25 0.25 0.25 3.09
reg. 0.32 0.16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.16 0.16 0.00 0.00 0.16 0.32 0.32 0.47 0.47 0.47 0.47 0.47 3.95
計 0.91 0.51 0.11 0.07 0.07 0.07 0.11 0.15 0.11 0.15 0.15 0.13 0.45 0.45 0.22 0.22 0.45 0.67 0.69 0.96 1.02 1.08 1.12 1.14 10.98
spot:spot res.=reserved reg.=regular
worker で困ったりしたところ
突然 worker -> Redis で接続エラー多発
Redis の timeout 設定やulimitにも

問題なし http://d.conma.me/entry/2013/03/21/114044
1aのworkerだけで起きていることが判明

1cは問題なし
原因わからないけどとにかく全workerを1cに振って
回避、気持ち悪い
スケールインするときのworkerプロセス後始末
インスタンス terminate 時にworkerをshutdownしたい
(何もしないとworking中のjobがworkingのままに…)





/etc/rc.d/ に worker_shutdown スクリプトを

配置して対応
振幅10倍のオートスケールな worker とか
about 5 hours ago
worker まとめ
振幅10倍のオートスケールな worker とか
オートスケール 

* 

spot

おいしいです
サイズ不問の

画像処理とか
みなさん
画像
どうしてますか
サイズ不問の画像処理とか
みなさん画像どうしてますか
アプリケーション要件として
ユーザによって様々なサイズの画像がアッ
プロードされる
箇所によって様々な表示サイズを

とりうる(サムネイルとか)
サイズ不問の画像処理とか
自動リサイズ機構はもはや必須では
柔軟に表示したい
画像のサイズを数種類に固定するとかした
くない
デザイン、実装の制約を作りたくない

(絶対気にしてられない、精神が死ぬ)
デザイナがレイアウト変更を検討するとき
開発者がレイアウトの変更に対応するとき
画像枚数370万枚をいちいち各サイズ用意し
てられない
レイアウト変更のたびに全部リサイズとか
サイズ不問の画像処理とか
resizerを自前で作って使っています
httpリクエスト時のパラメータによって

任意の画像を任意のサイズで返す。
ElasticBeanstalk 上で稼働する Java アプリ
CloudFront - CDN
RDS - 元画像のURIを管理
S3 - 画像ファイル置き場
cf.
クックパッドさん mod_tofu
http://www.slideshare.net/mirakui/ss-8150494
クラスメソッドさん Rudess
http://dev.classmethod.jp/cloud/aws/rudess-image-
server/
サイズ不問の画像処理とか
resizerリクエスト例
http://resizer/1?w=50&h=50&m=speed&e=true	
http://resizer/1?w=512&h=512&m=balanced&e=true
http://resizer/1?w=512&h=512&m=ultra_quality


{quality} 部分は、利用している

ライブラリ imgscalr に依存しているもの。
http://www.thebuzzmedia.com/software/imgscalr-java-image-scaling-library/
ほんとは依存してないほうがいいですね。
サイズ不問の画像処理とか
http://resizer/{image_id}?w={width}&h={height}
&m={quality}&e={enlargement}
resizer構成図
サイズ不問の画像処理とか
AWS cloud
Elastic Beanstalk container
bucket with
objects
Amazon RDS
Auto Scaling group
Availability Zone
Availability Zone
Auto Scaling
instances
instances
Elastic Load

Balancing
download
distribution
edge location
edge location
edge location
edge location
Internet
CloudFront
users
users
users
users client
mobile client
client
mobile client
resizer規模感
EC2インスタンス
インスタンスタイプ: m1.medium
オートスケールで2-8台
画像数 370万枚
リクエスト数

(クライアント側でキャッシュしてるところも大きい)
ELB
80/sec @ peak
200万/day
6000万/month
CloudFront(最大ヒット率 84%)
450/sec @ peak
1100万/day
3億3100万/month
内 98% はTokyo Region
サイズ不問の画像処理とか
resizerで困ったりしたところ
ある月、突然 CloudFront の

請求額が3倍に…!
resizer や CloudFront 弄ってない
ユーザ数もreq数も3倍に

なんてなってない
iOS アプリで

「ユーザ画像サムネイルの画質を向上し
てほしい」

という要望に応えたアップデートを

かました結果だった
考慮漏れではあったが

まぁしゃーなし
サイズ不問の画像処理とか
運用してみてる所感
とはいえだいたい安定してる
改修、修正、保守の必要がほぼない
origin側のインスタンスがかなり低負荷
クライアント側からも使いやすい
サイズ不問の画像処理とか
画像処理まとめ
サイズ不問の画像処理とか
AWS から

マネージドサービス

出して欲しい!
(絶対使うと思うんですけど)
最後に
色々言いましたが、

ただいまシステムのフルリプレイスを

推進中であるため全部作り変える予定です。
Scala でスケーラブルなシステムを

作ることに興味がある方、
Swift で E2E テスト書くことに興味がある方
いらっしゃったらお手伝いください><
@akitsukada
劇 終
THE END
2014.08.07 @akitsukada

More Related Content

Similar to 20140807 AWS Startup Tech Meetup

TensorFlowで機械学習ことはじめ(summer edition)
TensorFlowで機械学習ことはじめ(summer edition)TensorFlowで機械学習ことはじめ(summer edition)
TensorFlowで機械学習ことはじめ(summer edition)徹 上野山
 
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~nisobe58
 
20130727 ソシャゲkpi分析 tokyowebmining28_izawa_up
20130727 ソシャゲkpi分析 tokyowebmining28_izawa_up20130727 ソシャゲkpi分析 tokyowebmining28_izawa_up
20130727 ソシャゲkpi分析 tokyowebmining28_izawa_up正志 井澤
 
Aws summits2014 ガンホー・オンライン・エンターテイメント_スマホゲームを支えるインフラ運用
Aws summits2014 ガンホー・オンライン・エンターテイメント_スマホゲームを支えるインフラ運用Aws summits2014 ガンホー・オンライン・エンターテイメント_スマホゲームを支えるインフラ運用
Aws summits2014 ガンホー・オンライン・エンターテイメント_スマホゲームを支えるインフラ運用Boss4434
 
20190708_go_saas_overview
20190708_go_saas_overview20190708_go_saas_overview
20190708_go_saas_overviewHideki Ojima
 
数字から見た大学図書館 北海道大学 20160128
数字から見た大学図書館 北海道大学 20160128数字から見た大学図書館 北海道大学 20160128
数字から見た大学図書館 北海道大学 20160128Takeo NAGASHIMA
 
20191217 go saa_s_4_overview
20191217 go saa_s_4_overview20191217 go saa_s_4_overview
20191217 go saa_s_4_overviewHideki Ojima
 
スタートアップCTOパネルディスカッション #jawsdays
スタートアップCTOパネルディスカッション #jawsdaysスタートアップCTOパネルディスカッション #jawsdays
スタートアップCTOパネルディスカッション #jawsdays真吾 吉田
 
状態管理どうしてますか?
状態管理どうしてますか? 状態管理どうしてますか?
状態管理どうしてますか? Takuya Otani
 
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)徹 上野山
 
20191023 go saas_3_overview
20191023 go saas_3_overview20191023 go saas_3_overview
20191023 go saas_3_overviewHideki Ojima
 
20130409 anpan神谷説明資料 修正
20130409 anpan神谷説明資料 修正20130409 anpan神谷説明資料 修正
20130409 anpan神谷説明資料 修正Tomoyuki Hashimoto
 

Similar to 20140807 AWS Startup Tech Meetup (12)

TensorFlowで機械学習ことはじめ(summer edition)
TensorFlowで機械学習ことはじめ(summer edition)TensorFlowで機械学習ことはじめ(summer edition)
TensorFlowで機械学習ことはじめ(summer edition)
 
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
RDB入門 ~アプリケーション開発者が陥りやすいDB開発の落とし穴~
 
20130727 ソシャゲkpi分析 tokyowebmining28_izawa_up
20130727 ソシャゲkpi分析 tokyowebmining28_izawa_up20130727 ソシャゲkpi分析 tokyowebmining28_izawa_up
20130727 ソシャゲkpi分析 tokyowebmining28_izawa_up
 
Aws summits2014 ガンホー・オンライン・エンターテイメント_スマホゲームを支えるインフラ運用
Aws summits2014 ガンホー・オンライン・エンターテイメント_スマホゲームを支えるインフラ運用Aws summits2014 ガンホー・オンライン・エンターテイメント_スマホゲームを支えるインフラ運用
Aws summits2014 ガンホー・オンライン・エンターテイメント_スマホゲームを支えるインフラ運用
 
20190708_go_saas_overview
20190708_go_saas_overview20190708_go_saas_overview
20190708_go_saas_overview
 
数字から見た大学図書館 北海道大学 20160128
数字から見た大学図書館 北海道大学 20160128数字から見た大学図書館 北海道大学 20160128
数字から見た大学図書館 北海道大学 20160128
 
20191217 go saa_s_4_overview
20191217 go saa_s_4_overview20191217 go saa_s_4_overview
20191217 go saa_s_4_overview
 
スタートアップCTOパネルディスカッション #jawsdays
スタートアップCTOパネルディスカッション #jawsdaysスタートアップCTOパネルディスカッション #jawsdays
スタートアップCTOパネルディスカッション #jawsdays
 
状態管理どうしてますか?
状態管理どうしてますか? 状態管理どうしてますか?
状態管理どうしてますか?
 
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った 機械学習ことはじめ (GDG京都 機械学習勉強会)
 
20191023 go saas_3_overview
20191023 go saas_3_overview20191023 go saas_3_overview
20191023 go saas_3_overview
 
20130409 anpan神谷説明資料 修正
20130409 anpan神谷説明資料 修正20130409 anpan神谷説明資料 修正
20130409 anpan神谷説明資料 修正
 

More from akitsukada

Solutions Architect, Exciting Career for Engineers
Solutions Architect, Exciting Career for EngineersSolutions Architect, Exciting Career for Engineers
Solutions Architect, Exciting Career for Engineersakitsukada
 
Morning Session - AWS Serverless Ways
Morning Session - AWS Serverless WaysMorning Session - AWS Serverless Ways
Morning Session - AWS Serverless Waysakitsukada
 
AWS Introduction for Startups
AWS Introduction for StartupsAWS Introduction for Startups
AWS Introduction for Startupsakitsukada
 
Real-time Chat Backend on AWS IoT 20160422
Real-time Chat Backend on AWS IoT 20160422Real-time Chat Backend on AWS IoT 20160422
Real-time Chat Backend on AWS IoT 20160422akitsukada
 
Amazon Cognito Deep Dive @ JAWS DAYS 2016
Amazon Cognito Deep Dive @ JAWS DAYS 2016Amazon Cognito Deep Dive @ JAWS DAYS 2016
Amazon Cognito Deep Dive @ JAWS DAYS 2016akitsukada
 
AWS Mobile Maniacs
AWS Mobile ManiacsAWS Mobile Maniacs
AWS Mobile Maniacsakitsukada
 
My Startup Learnings (短縮版)
My Startup Learnings (短縮版)My Startup Learnings (短縮版)
My Startup Learnings (短縮版)akitsukada
 
CTO Night & Day Morning Session "スタートアップCTOならおさえておきたいAWS基本構成"
CTO Night & Day Morning Session "スタートアップCTOならおさえておきたいAWS基本構成"CTO Night & Day Morning Session "スタートアップCTOならおさえておきたいAWS基本構成"
CTO Night & Day Morning Session "スタートアップCTOならおさえておきたいAWS基本構成"akitsukada
 
CTO Night & Day Morning Session "Auto Scaling & Spot Instances Deep Dive"
CTO Night & Day Morning Session "Auto Scaling & Spot Instances Deep Dive"CTO Night & Day Morning Session "Auto Scaling & Spot Instances Deep Dive"
CTO Night & Day Morning Session "Auto Scaling & Spot Instances Deep Dive"akitsukada
 
AWS for Startups 2016 (2015/12/02版)
AWS for Startups 2016 (2015/12/02版)AWS for Startups 2016 (2015/12/02版)
AWS for Startups 2016 (2015/12/02版)akitsukada
 
Awsjpcasestudies
AwsjpcasestudiesAwsjpcasestudies
Awsjpcasestudiesakitsukada
 
Mobile Hubで変わる、アプリ開発最前線
Mobile Hubで変わる、アプリ開発最前線Mobile Hubで変わる、アプリ開発最前線
Mobile Hubで変わる、アプリ開発最前線akitsukada
 
Auto Scaling x Spot Instances によるスケーラビリティと コストカット
Auto Scaling x Spot Instances によるスケーラビリティと コストカットAuto Scaling x Spot Instances によるスケーラビリティと コストカット
Auto Scaling x Spot Instances によるスケーラビリティと コストカットakitsukada
 
Little tips ios
Little tips iosLittle tips ios
Little tips iosakitsukada
 
データベース・リファクタリング読書会第四回オープニング
データベース・リファクタリング読書会第四回オープニングデータベース・リファクタリング読書会第四回オープニング
データベース・リファクタリング読書会第四回オープニングakitsukada
 
みゆっき☆Think#10 チーム開発〜脱ぼっちマインド〜
みゆっき☆Think#10 チーム開発〜脱ぼっちマインド〜みゆっき☆Think#10 チーム開発〜脱ぼっちマインド〜
みゆっき☆Think#10 チーム開発〜脱ぼっちマインド〜akitsukada
 
Find(ラスト)
Find(ラスト)Find(ラスト)
Find(ラスト)akitsukada
 

More from akitsukada (20)

Solutions Architect, Exciting Career for Engineers
Solutions Architect, Exciting Career for EngineersSolutions Architect, Exciting Career for Engineers
Solutions Architect, Exciting Career for Engineers
 
Morning Session - AWS Serverless Ways
Morning Session - AWS Serverless WaysMorning Session - AWS Serverless Ways
Morning Session - AWS Serverless Ways
 
AWS Introduction for Startups
AWS Introduction for StartupsAWS Introduction for Startups
AWS Introduction for Startups
 
Real-time Chat Backend on AWS IoT 20160422
Real-time Chat Backend on AWS IoT 20160422Real-time Chat Backend on AWS IoT 20160422
Real-time Chat Backend on AWS IoT 20160422
 
Amazon Cognito Deep Dive @ JAWS DAYS 2016
Amazon Cognito Deep Dive @ JAWS DAYS 2016Amazon Cognito Deep Dive @ JAWS DAYS 2016
Amazon Cognito Deep Dive @ JAWS DAYS 2016
 
AWS Mobile Maniacs
AWS Mobile ManiacsAWS Mobile Maniacs
AWS Mobile Maniacs
 
My Startup Learnings (短縮版)
My Startup Learnings (短縮版)My Startup Learnings (短縮版)
My Startup Learnings (短縮版)
 
CTO Night & Day Morning Session "スタートアップCTOならおさえておきたいAWS基本構成"
CTO Night & Day Morning Session "スタートアップCTOならおさえておきたいAWS基本構成"CTO Night & Day Morning Session "スタートアップCTOならおさえておきたいAWS基本構成"
CTO Night & Day Morning Session "スタートアップCTOならおさえておきたいAWS基本構成"
 
CTO Night & Day Morning Session "Auto Scaling & Spot Instances Deep Dive"
CTO Night & Day Morning Session "Auto Scaling & Spot Instances Deep Dive"CTO Night & Day Morning Session "Auto Scaling & Spot Instances Deep Dive"
CTO Night & Day Morning Session "Auto Scaling & Spot Instances Deep Dive"
 
AWS for Startups 2016 (2015/12/02版)
AWS for Startups 2016 (2015/12/02版)AWS for Startups 2016 (2015/12/02版)
AWS for Startups 2016 (2015/12/02版)
 
Awsjpcasestudies
AwsjpcasestudiesAwsjpcasestudies
Awsjpcasestudies
 
Mobile Hubで変わる、アプリ開発最前線
Mobile Hubで変わる、アプリ開発最前線Mobile Hubで変わる、アプリ開発最前線
Mobile Hubで変わる、アプリ開発最前線
 
Auto Scaling x Spot Instances によるスケーラビリティと コストカット
Auto Scaling x Spot Instances によるスケーラビリティと コストカットAuto Scaling x Spot Instances によるスケーラビリティと コストカット
Auto Scaling x Spot Instances によるスケーラビリティと コストカット
 
Little tips ios
Little tips iosLittle tips ios
Little tips ios
 
データベース・リファクタリング読書会第四回オープニング
データベース・リファクタリング読書会第四回オープニングデータベース・リファクタリング読書会第四回オープニング
データベース・リファクタリング読書会第四回オープニング
 
みゆっき☆Think#10 チーム開発〜脱ぼっちマインド〜
みゆっき☆Think#10 チーム開発〜脱ぼっちマインド〜みゆっき☆Think#10 チーム開発〜脱ぼっちマインド〜
みゆっき☆Think#10 チーム開発〜脱ぼっちマインド〜
 
Printf
PrintfPrintf
Printf
 
With git
With gitWith git
With git
 
Find(ラスト)
Find(ラスト)Find(ラスト)
Find(ラスト)
 
Find(1)
Find(1)Find(1)
Find(1)
 

20140807 AWS Startup Tech Meetup