43
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦 Sho Yoshida Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. The Passionate Smalltalker: 愛せよ、さもなくば捨てよ

愛せよ、さもなくば捨てよ。

Embed Size (px)

DESCRIPTION

SmalltalkとAWSでクラウドサービスを作ってみた。 DynamoDB for Smalltalkを作った話。 AWS Cloud Roadshow 2014 名古屋 LT大会で発表 http://roadshow.awseventsjapan.com/nagoya/index.html

Citation preview

Page 1: 愛せよ、さもなくば捨てよ。

情熱SmalltalkerSmalltalkとAWSでクラウドサービスを実現するための挑戦

Sho Yoshida

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

The Passionate Smalltalker:

愛せよ、さもなくば捨てよ

Page 2: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

プロフィール

• 吉田 翔(よしだしょう)

• 1986年生まれ 28歳

• 昔,東京の会社のSEだった

• 趣味 昼寝とピアノtwitter: @newapplesho

facebook: newapplesho

Page 3: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

突然ですが 今年の5月に 起業しました

Page 4: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

起業したら クラウド使いたい

Page 5: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

クラウド使って 自社サービスを作りたい

Page 6: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

しかも好きなプログラミング言語で

I♥️Smalltalk

Page 7: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

きっと 好きなものだけなら

最高の開発ができるはず

Page 8: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

SmalltalkとAWSで クラウドサービスを

作ってみる

Page 9: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

Smalltalkって

• 純粋オブジェクト指向プログラミング言語

• Java, Objective-C, Scala, Rubyなどに影響与えた言語

• XPの生みの親であるKent Beckも使っている

Page 10: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

建設機械・重機・車両の流通を 支えるプラットフォーム

Mikata

http://mikatacloud.com

Page 11: 愛せよ、さもなくば捨てよ。

建設機械って?

Page 12: 愛せよ、さもなくば捨てよ。

名古屋駅前でも

Page 13: 愛せよ、さもなくば捨てよ。

鉄道 河川・海岸道路

橋梁ビル一戸建て・ マンション

除雪 災害時ダム

Page 14: 愛せよ、さもなくば捨てよ。

データーセンターを作る際にも

Page 15: 愛せよ、さもなくば捨てよ。

世界中のあらゆる場所で 必要とされています

Page 16: 愛せよ、さもなくば捨てよ。

夢は インフラを支えるインフラ?

Page 17: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

AWSの新しいリージョンを 作るときも?

Page 18: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

使われると嬉しいMikata

Page 19: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

AWSで利用したサービス

• EC2(仮想サーバー)

• ELB(ロードバランサー)

• Route53(DNS)

• Amazon RDS for PostgreSQL(RDB)

• Amazon DynamoDB(NoSQL)

• S3(ストレージ)

Page 20: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

Region

Availability Zone Availability Zone

PostgreSQLPostgreSQL

RDS PostgreSQL

PostgreSQLPostgreSQL

RDS PostgreSQL

DynamoDBS3

Amazon EC2 Amazon EC2

Internet

Amazon Route 53 Hosted Zone

Elastic Load Balancing

SSLSSL

SSLSSL

構成図

同期同期

Page 21: 愛せよ、さもなくば捨てよ。

どこで使っているの?

Page 22: 愛せよ、さもなくば捨てよ。

建設機械のデータ登録

Page 23: 愛せよ、さもなくば捨てよ。

スペック(スキーマ)なんて そろえれない

Page 24: 愛せよ、さもなくば捨てよ。

DynamoDB使うしかない

Page 25: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

Amazon DynamoDB

• キー・バリュー型のNoSQLデータベースサービス

• 管理不要で信頼性が高いデータベース

• データセンター間の自動同期レプリケーション

• 高速なアクセスが可能

• SSDを利用している

• ストレージ容量制限がない

• プロビジョンスループットだけを指定するだけ

• API(SDK)経由で利用できる

Page 26: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

SmalltalkユーザーがAWSを使う際の問題

nodeJS

iOS

iOS JavaJavascript Net

nodeJS

Android

PHP Python

Ruby

Ruby

あれSmalltalkは?

Page 27: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

SmalltalkerがAWSを使う際の問題

ないじゃないか!

Page 28: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

諦めて川に飛び込むしかない

Page 29: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

でも SmalltalkでAWSを 使いたい!

Page 30: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

Amazonさんに聞いてみた

SmalltalkでDynamoDB使いたいけど どうしたらいいですか?

Page 31: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

Amazonさんの回答イメージ

https://www.flickr.com/photos/mendhak/4850482798/

REST APIを叩くのじゃ Smalltalkerならできるはずじゃ

Page 32: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

話を信じて SmalltalkでAWSを 攻略してみる

Page 33: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

APIを直接操作をするために

AWS Signature Version 4

Signature version 4 signing processhttp://docs.aws.amazon.com/general/latest/gr/signature-version-4.html

デジタル署名を作成する

3つの署名方法で一番複雑なものらしい (あとで知った)

Page 34: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

公式ページを読んでSmalltalkで作ってみる (英語ツラい)

Page 35: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

AWS Signature Version 4 for Smalltalk

Page 36: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

少し後悔しながら Smalltalkで

DynamoDBで 攻略してみる

Page 37: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

公式ページを読んでSmalltalkで作ってみる (やっぱり英語)

Page 38: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

AWS DynamoDB for Smalltalk

低レベルAPIの必要なところだけ実装

Page 39: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

例:DynamoDBのテーブルの一覧

dy := DynamoDBRowClient new. dy awsConfig accessKeyId:'アクセスキー'. dy awsConfig secretKey:'シークレットキー'.

operationName := #ListTables. requestBody := '{}'. resp := dy operationName: operationName contents: requestBody.

Page 40: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

SDK作りで気をつけること

SDK作成だけでお金がかかってしまう

Page 41: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

DynamoDB Local

Javaで動くローカル版DynamoDB

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tools.DynamoDBLocal.html

詳しくは

商用では使えない

APIの確認程度につかうこと

API作成の際にはDynamoDB Localがおすすめ

Page 42: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

日本初のSmalltalkを使った クラウドサービス

Page 43: 愛せよ、さもなくば捨てよ。

Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

みなさんも好きな方法で

AWSをいじってみましょう