The Passionate Smalltalker: 
情熱Smalltalker 
SmalltalkとAWSでクラウドサービスを実現するための挑戦 
愛せよ、さもなくば捨てよ 
Sho Yoshida 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. 
プロフィール 
• 吉田 翔(よしだしょう) 
• 1986年生まれ 28歳 
• 昔,東京の会社のSEだった 
• 趣味 昼寝とピアノtwitter: @newapplesho 
facebook: newapplesho
突然ですが 
今年の5月に 
起業しました 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
起業したら 
クラウド使いたい 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
クラウド使って 
自社サービスを作りたい 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
しかも好きなプログラミング言語で 
I♥️ 
Smalltalk 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
きっと 
好きなものだけなら 
最高の開発ができるはず 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
SmalltalkとAWSで 
クラウドサービスを 
作ってみる 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
Smalltalkって 
• 純粋オブジェクト指向プログラミング言語 
• Java, Objective-C, Scala, Rubyなどに影響与えた言語 
• XPの生みの親であるKent Beckも使っている 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
Mikata 
建設機械・重機・車両の流通を 
支えるプラットフォーム 
http://mikatacloud.com 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
建設機械って?
名古屋駅前でも
一戸建て・ ビル橋梁 
マンション 
道路鉄道河川・海岸 
ダム除雪災害時
データーセンターを作る際にも
世界中のあらゆる場所で 
必要とされています
夢は 
インフラを支えるインフラ?
AWSの新しいリージョンを 
作るときも? 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
Mikata 
使われると嬉しい 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
AWSで利用したサービス 
• EC2(仮想サーバー) 
• ELB(ロードバランサー) 
• Route53(DNS) 
• Amazon RDS for PostgreSQL(RDB) 
• Amazon DynamoDB(NoSQL) 
• S3(ストレージ) 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
Availability Zone Availability Zone 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. 
Region 
PPoossttggrreeSSQQLL 
RDS 
PostgreSQL 
PPoossttggrreeSSQQLL 
RDS 
PostgreSQL 
DynamoDB 
S3 
Amazon EC2 
Amazon EC2 
Internet 
Amazon Route 
53 Hosted Zone 
Elastic Load 
Balancing 
SSL 
SSL 
SSL 
SSL 
構成図 
同期同期
どこで使っているの?
建設機械のデータ登録
スペック(スキーマ)なんて 
そろえれない
DynamoDB使うしかない
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. 
Amazon DynamoDB 
• キー・バリュー型のNoSQLデータベースサービス 
• 管理不要で信頼性が高いデータベース 
• データセンター間の自動同期レプリケーション 
• 高速なアクセスが可能 
• SSDを利用している 
• ストレージ容量制限がない 
• プロビジョンスループットだけを指定するだけ 
• API(SDK)経由で利用できる
SmalltalkユーザーがAWSを使う際の問題 
nodeJS 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. 
iOS 
iOS Java 
Javascript 
Net 
PHP Python 
nodeJS 
Android 
Ruby 
Ruby 
あれSmalltalkは?
SmalltalkerがAWSを使う際の問題 
ないじゃないか! 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
諦めて川に飛び込むしかない 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
でも 
SmalltalkでAWSを 
使いたい! 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. 
Amazonさんに聞いてみた 
SmalltalkでDynamoDB使いたいけど 
どうしたらいいですか?
Amazonさんの回答イメージ 
https://www.flickr.com/photos/mendhak/4850482798/ 
REST APIを叩くのじゃ 
Smalltalkerならできるはずじゃ 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
話を信じて 
SmalltalkでAWSを 
攻略してみる 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
APIを直接操作をするために 
デジタル署名を作成する 
3つの署名方法で一番複雑なものらしい 
(あとで知った) 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. 
AWS Signature Version 4 
Signature version 4 signing process 
http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
公式ページを読んでSmalltalkで作ってみる 
(英語ツラい) 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
AWS Signature Version 4 for Smalltalk 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
少し後悔しながら 
Smalltalkで 
DynamoDBで 
攻略してみる 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
公式ページを読んでSmalltalkで作ってみる 
(やっぱり英語) 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
AWS DynamoDB for Smalltalk 
低レベルAPIの必要なところだけ実装 
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. 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. 
SDK作りで気をつけること 
SDK作成だけでお金がかかってしまう
API作成の際にはDynamoDB Localがおすすめ 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved. 
DynamoDB Local 
Javaで動くローカル版DynamoDB 
商用では使えない 
APIの確認程度につかうこと 
詳しくは 
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ 
Tools.DynamoDBLocal.html
日本初のSmalltalkを使った 
クラウドサービス 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
みなさんも好きな方法で 
AWSをいじってみましょう 
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.

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