30
Farmnote の技術 株式会社ファームノート ソフトウェアエンジニア 田名辺健人 2014.10.30 AWS Cloud Roadshow 2014 札幌

Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Farmnoteの技術

株式会社ファームノート ソフトウェアエンジニア 田名辺健人2014.10.30 AWS Cloud Roadshow 2014 札幌

Page 2: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

architecture

Page 3: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

architecture

クライアント、サーバーを完全分離!

クライアントはPC、スマホ、タブレット

Page 4: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

architecture

サーバーはAPIサーバーとして構築!

クライアント ⇆ サーバー間はJSONで通信

{JSON}

Page 5: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Users

RDS

Elastic Load Balancing CloudWatch

Amazon EC2 Instances

Amazon S3

Bootstrap

Client

Server

SaaS

RDS

Elastic Beanstalk

Amazon S3

Page 6: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

client

Page 7: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

client

Backbone.jsをベースに開発された独自フレームワーク上に構築!

弊社のエンジニアの個人プロジェクトを採用!

テンプレートエンジンやデータバインディングの機能をもち、デザインと開発の分業が可能!

iOS/Androidのネイティブアプリも開発

Page 8: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

client

アプリケーションの配信!

HTML / JS / 画像はS3から!

ネイティブアプリは各ストアから

Page 9: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Users

Amazon S3

Bootstrap

Client

Page 10: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Users

Amazon S3

Bootstrap

Client

クライアントの配信は 自分たちでやる必要がない

Page 11: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

server

Page 12: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

server

APIサーバーとして構築!

Ruby on Railsを採用!

RDBはPostgreSQL on RDSを利用

Page 13: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

構築運用ポリシー手動の作業はつくらない!

手間と間違いを防ぐため!

運用の手間は排除したい!

開発に集中しなければならない

Page 14: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

AWS Elastic Beanstalk

Page 15: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Elastic Beanstalk

ロードバランサー、オートスケーリング、アプリケーションサーバー、モニタリング!!自動で全て作られます

Page 16: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Elastic Beanstalk

デプロイが簡単。

Page 17: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Elastic Beanstalk

デプロイも簡単。$> git aws.push

Page 18: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Elastic Beanstalk

デプロイも簡単。

$> git aws.push

デプロイはこれだけ

ファームノートでは         を使ってます

Page 19: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Users

RDS

Elastic Load Balancing CloudWatch

Amazon EC2 Instances

Server

RDS

Elastic Beanstalk

Amazon S3

Page 20: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Users

RDS

Elastic Load Balancing CloudWatch

Amazon EC2 Instances

Server

RDS

Elastic Beanstalk

Amazon S3

インフラの構築・運用は 最小限の手間で

Page 21: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Users

RDS

Elastic Load Balancing CloudWatch

Amazon EC2 Instances

Amazon S3

Bootstrap

Client

Server

SaaS

RDS

Elastic Beanstalk

Amazon S3

Page 22: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

AWS以外のツール

ログサーバー!

監視

Page 23: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

AWS以外のツール

ログサーバー!

監視

AWSにないものは サードパーティツールで調達

Page 24: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Farmnoteのデータ

Page 25: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

Farmnoteのデータ

牧場の経営情報!牛の飼養ノウハウ!

つまり!

基幹データ

Page 26: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

データストア!

S3やRDSで決まり!!

Shared Responsibility Model!

アプリケーション側の心配だけしていれば良い!

データストアとセキュリティ

Page 27: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

デバイス関連

http://pixelperfectdigital.com/photo/670/circuit-board-abstract-background.html

Page 28: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

デバイス関連ビッグデータ

http://pixelperfectdigital.com/photo/670/circuit-board-abstract-background.html

RedshiftDynamoDB EMRKinesis

関連ソリューションが!用意されている安心感

Page 29: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

AWSを使う理由インフラの運用管理コストを極限まで抑えられる!

容易にスケールできる環境がある!

初期投資「0」

JAWS-UGの存在

Page 30: Farmnote - Amazon Web Services...Amazon S3 Bootstrap Client Server SaaS RDS Elastic Beanstalk Amazon S3 client client Backbone.jsをベースに開発された独自フレームワーク

http://www.mtcms.jp/