Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS CDK を支える Constructs について
Search
acomagu
January 10, 2021
Programming
0
140
AWS CDK を支える Constructs について
acomagu
January 10, 2021
Tweet
Share
More Decks by acomagu
See All by acomagu
「境界付けられたコンテキスト間の関係」についてもっと語ろう
acomagu
0
36
地方 MaaS 事例: アプリの進化に伴って変化してきた Stripe 利用方法
acomagu
0
120
Stripe リコンサイルの勘所
acomagu
0
290
CDK 一発で全てのエラーログを Slack に流す
acomagu
0
1.9k
DDDとは結局何なのか
acomagu
0
210
API Gateway HTTP API について
acomagu
0
110
JP_Stripes: 一貫性に寄与する設計
acomagu
0
78
Stripeではじめての決済
acomagu
0
720
あなたの知らない(かもしれない)Git
acomagu
2
97
Other Decks in Programming
See All in Programming
Perl 5 OOP機構30年史 - Perl 5's OOP Mechanism over the past 30 years
moznion
0
350
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
0
120
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
190
状態管理ライブラリZustandの導入から運用まで
k1tikurisu
3
470
A New Era of Testing
mannodermaus
2
510
Securify_エンジニア採用資料
3shake
0
100
React + TextAliveでカッコいいLyric Applicatioinを作ろう!!
tosuri13
0
400
Ruby Parser progress report 2024
yui_knk
2
230
マルチモジュールにおけるテスト最適化
fxwx23
0
210
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
4
90k
Understand the mechanism! Let's do screenshots tests of Compose Previews with various variations / 仕組みから理解する!Composeプレビューを様々なバリエーションでスクリーンショットテストしよう
sumio
3
810
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
680
Featured
See All Featured
Become a Pro
speakerdeck
PRO
22
4.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
158
15k
The Cost Of JavaScript in 2023
addyosmani
42
5.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.5k
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Web Components: a chance to create the future
zenorocha
309
42k
The Invisible Side of Design
smashingmag
296
50k
Unsuck your backbone
ammeep
667
57k
The Pragmatic Product Professional
lauravandoore
31
6.2k
Web development in the modern age
philhawksworth
205
10k
Rails Girls Zürich Keynote
gr2m
93
13k
Transcript
AWS CDK を支える Constructs について @acomagu
AWS CDK とは Constructs Programming Model で CloudFormation Template を記述するための
ライブラリである
Costructs Programming Model とは? Construct と呼ばれるオブジェクトのツリー構造で任意の設定ファイルを生成する方法 github.com/aws/constructs に Constructs Programming
Model を実践するための支 援ライブラリがある。
Costructs Programming Model とは? Source Code
Costructs Programming Model とは? Source Code
Costructs Programming Model とは? Source Code
Costructs Programming Model とは? Source Code
Costructs Programming Model とは?
Question こうするには?
Answer
何が言いたいか: Construct のツリー構造がそのまま結果の構造になるわけではない (iff. 結果の構造がそのまま Construct のツリー構造に反映されるわけではない)
じゃあ ここって何に使うの...? →
じゃあ ここって何に使うの...? → 答え: 抽象化
抽象化する Source Code
抽象化する Source Code
抽象化する Source Code
抽象化する
何が嬉しいの?
何が嬉しいの?
何が嬉しいの?
何が嬉しいの? ライブラリ
何が嬉しいの?
実際の AWS CDK でどうなっているか
何が省略されているか - よく練られたデフォルト値 - lambda.Function も実際には CloudFormation の Function Resource
だけでな く、Deployment、CloudWatch(Log)、ServiceRole などを含んでいる - インターフェースやメソッドを駆使して設定を表現できる
その他やっていること - LambdaFunctionFactory という、Lambda.Function を作るための便利関数を作っ てたりする - ログの設定やデプロイ周りのコードがまとまっていたりする - ApiGatewayV2
というリソースがまだ完全に L2 Construct ライブラリ化されていな いので、社内で自作のものを共有している - 実質 CloudFormation のテンプレートをそのまま書くのと変わらないので、 CloudFormation に慣れ ていれば簡単 - 「特定の文字列が含まれるログを Slack に通知する」という機能を実現する Construct を OSS で公開している(TheDesignium/cdk-log-notifier)
まとめ - Constructs Programming Model とは Construct と呼ばれるオブジェクトのツリー 構造で設定ファイルを記述するパターンである -
AWS CDK とは Constructs Programming Model で CloudFormation Template を記述するための技術(ライブラリ群)である