Weitere ähnliche Inhalte
Ähnlich wie AWS SDK for Haskell開発 (20)
AWS SDK for Haskell開発
- 3. Amazon Web Services(AWS)
プログラマブルデータセンター(と誰かが言ってた)
EC2:サーバ(仮想マシン)、ディスク、NIC、サ
ブネット、IPアドレス等の資源を時間課金で利用
他にもサービスは色々:Storage, LB, RDB, DNS, CDN,
Cache, KVS, E-Mail, Queue, Notify, MR, ...
Instance
Attach
Router Volume
3
- 5. AWS APIライブラリ
AWSが提供
Java:全機能に即座に対応する
PHP:更新停滞気味(停止してるかも)
CLI:便利だけど遅い(sh→Ruby→Javaと呼び出してた
り)
野良(?)
Python:ほぼ全機能を網羅(一部テキトウだけど)
Ruby:2∼3種あり、それぞれ対応してないプロダクトが
.NET, Android, iOS:(わかりません)
Haskellは無い(………ことはないんだけどEC2未対応)
5
- 6. ある日の出来事
∼AWSを使う開発案件を前に∼
seizans 今回はJavaで行こうと思います yunomu
なんでJavaなんですか
AWSライブラリが充実してるのが
JavaとPythonだからです
なんでHaskellじゃないんですか
ライブラリがあればHaskellにしてました
ライブラリ書けばいいじゃないですか
hai
6
- 12. Responseパーサの例(DescribeInstances)
describeInstances instances filters =
ec2QuerySource "DescribeInstances" params $
itemConduit "reservationSet" $ Reservation
<$> getT "reservationId"
<*> getT "ownerId"
<*> itemsSet "groupSet" (Group
<$> getT "groupId"
<*> getT "groupName"
)
<*> itemsSet "instancesSet" (Instance
<$> getT "instanceId"
<*> getT "imageId"
<*> element "instanceState" (codeToState
<$> getT "code"
<* getT "name"
)
<*> getT "privateDnsName"
<*> getT "dnsName"
<*> getT "reason"
<*> getT "keyName"
<*> getT "amiLaunchIndex"
<*> itemsSet "productCodes" (ProductCode
<$> getT "productCode"
<*> get "type"
)
<*> getT "instanceType"
<*> getT "launchTime"
12
- 16. 今やってること
自己紹介
野村裕佑(github: yunomu)
得意分野:OS, Network, サーバ管理など
株式会社ワークスアプリケーションズ
ATE本部クラウド運用研究グループ
運用管理業務のことを考えて実行する仕事
システム運用管理ツール開発
AWSを利用するシステムを管理する
基盤にyesodを採用(チーム全員がHaskell使えたので)
16
- 18. AWS SDK for Haskell
作ってますHackageDB: aws-sdk
EC2をHaskellから操作できるようになりました
ELB, RDS, CloudWatchも対応予定
利用者, Author, Requestなど歓迎
18