40. #cmdevio2015C
CloudFormationテンプレート構成戦略
✦ モノリシック派
✦ 完全一枚岩派
✦ sub-stackコール派
40Ⓒ Classmethod, Inc.
← 今回はこっち →
Network
Web
ELB
DNS
DB
Web Web
ELB ELB
DNS DNS
DB DB
✦ レイヤ分割派
✦ Network / DB / Web / DNS 分割派
✦ 静的レイヤ + 動的レイヤ分割派
DNS DNS DNS
Web
ELB
Web Web
ELB ELB
Network
DBDB DB
47. #cmdevio2015C
DDD ∼ Domain Driven Design
✦ Ubiquitous Language
✦ Layered Architecture
✦ Entity / Value Object
✦ Repository / Service
✦ 全フォローではなく、実装論だけ部分的に活用
✦ 参考: 20110409_DevLOVE「Building Blocks」_都元ダイスケ
https://www.youtube.com/watch?v=FNEfk-dlIKU
✦ 参考: DevLOVE Beautiful Development - 第一幕 陽の巻
http://www.slideshare.net/daisuke_m/devlove-beautiful-development
47Ⓒ Classmethod, Inc.
48. #cmdevio2015C
Spring Data
✦ DDDのリポジトリパターンの実装フレームワーク
✦ RDB用にはJPA実装。その他、MongoDBやRedis、
Neo4j等、様々なデータストアに対する実装がある。
✦ Mirage SQL
✦ 参考: Mirage SQL ∼ 2WaySQLをつかうデータアクセスライブラリ for Java
http://dev.classmethod.jp/server-side/java/mirage-sql-for-java/
✦ Spring Data Mirage
✦ 参考: Spring環境におけるDBアクセス(2) ∼ Spring Data
http://dev.classmethod.jp/server-side/java/db-access-in-spring-data-mirage/
48Ⓒ Classmethod, Inc.
55. #cmdevio2015C
SQS と Spring Batch
✦ SQSの at least once delivery
✦ 冪等ジョブ or 二重実行制御
✦ 全ジョブを冪等にはしづらい(メール送信とか)
✦ 同じジョブパラメータのジョブは複数回起動出来ない
55Ⓒ Classmethod, Inc.
JobExecutionAlreadyRunningException
JobInstanceAlreadyCompleteException
相性抜群
75. #cmdevio2015C
HATEOAS
✦ Hypermedia as the Engine of Application State
✦ へいとーす
✦ 要するに、HTMLってindexがあってそこからリンクを
ってあちこちを参照するよね!
✦ JSONもindexがあって、リンクを れるべきでは?
75Ⓒ Classmethod, Inc.