Upload
sho-yoshida
View
516
Download
5
Embed Size (px)
DESCRIPTION
SmalltalkとAWSでクラウドサービスを作ってみた。 DynamoDB for Smalltalkを作った話。 AWS Cloud Roadshow 2014 名古屋 LT大会で発表 http://roadshow.awseventsjapan.com/nagoya/index.html
Citation preview
情熱SmalltalkerSmalltalkとAWSでクラウドサービスを実現するための挑戦
Sho Yoshida
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
The Passionate Smalltalker:
愛せよ、さもなくば捨てよ
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
プロフィール
• 吉田 翔(よしだしょう)
• 1986年生まれ 28歳
• 昔,東京の会社のSEだった
• 趣味 昼寝とピアノtwitter: @newapplesho
facebook: newapplesho
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
突然ですが 今年の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.
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
構成図
同期同期
どこで使っているの?
建設機械のデータ登録
スペック(スキーマ)なんて そろえれない
DynamoDB使うしかない
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
Amazon DynamoDB
• キー・バリュー型のNoSQLデータベースサービス
• 管理不要で信頼性が高いデータベース
• データセンター間の自動同期レプリケーション
• 高速なアクセスが可能
• SSDを利用している
• ストレージ容量制限がない
• プロビジョンスループットだけを指定するだけ
• API(SDK)経由で利用できる
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
SmalltalkユーザーがAWSを使う際の問題
nodeJS
iOS
iOS JavaJavascript Net
nodeJS
Android
PHP Python
Ruby
Ruby
あれSmalltalkは?
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
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.
Amazonさんに聞いてみた
SmalltalkでDynamoDB使いたいけど どうしたらいいですか?
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
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を直接操作をするために
AWS Signature Version 4
Signature version 4 signing processhttp://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
デジタル署名を作成する
3つの署名方法で一番複雑なものらしい (あとで知った)
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
公式ページを読んで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.
SDK作りで気をつけること
SDK作成だけでお金がかかってしまう
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がおすすめ
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
日本初のSmalltalkを使った クラウドサービス
Copyright © 2014 SORABITO Co., Ltd. All Rights Reserved.
みなさんも好きな方法で
AWSをいじってみましょう