16
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ClassiAdvent Calendar 2016

Day 13

コーポレートサイトをS3+Lambdaに移行してコストカット

Posted at

このエントリは Classi Advent Calendar 2016 の13日目です。

Classiでサーバサイドアプリケーションを担当している @kyottyy です。

今回は、弊社のコーポレートサイトをAWSに移行することで
ランニングコストを節約した話をします。

移行前

クラウドのIaaSサービス上にLinuxインスタンスを立てて、
一般的な構成のWebアプリケーションを構築していました。

この時のランニングコストが 数十万 / 月 です。

移行後

静的資産をS3のwebsite hosting + CloudFront経由で公開し、
動的処理(お問い合わせ部分)をLambdaで実現しています。

移行後のランニングコストは 数万 / 月 で、1/10以上のコスト削減を実現できました。

Untitled.png

Lambda

AWSのサービスを使うことで簡単にサーバレスアーキテクチャを採用できますが、
Lambda周りでいくつかポイントがあったので紹介します。

functionの管理

今回はgolangで実装するため apex を採用しました。

結果としてデプロイやfunctionの管理が非常に楽になり、
複数人での開発もスムーズに行えました。

パフォーマンス

個々のパフォーマンス計測が難しいため、ユーザから見える箇所を
2-tier(js -> S3)とし、体感速度を高速にしています。
(全体としても数sで処理が完走する)

性能検証は現在も課題であり、最適な方法を模索中です。

Lambda on VPC

ドキュメントで注意されているように、ENI(=subnetで割り当て可能なIP数)が不足すると
CloudWatchにログが記録されず、音もなく失敗する可能性があります。

今回はLambdaの実行状況をDynamoDBに格納することで
エラー検知 + べき等性を担保しています。

最後に

Classiではエンジニアを募集しています。
日本の教育に興味のある方は是非お越しください!

16
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?