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
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CDK を支える Constructs について
acomagu
January 10, 2021
More Decks by acomagu
See All by acomagu
サーバーレスから Durable Execution へ
acomagu
0
26
Payment Records API を使って地域通貨を Stripe Dashboard に統合してみた
acomagu
0
70
Restate x Stripe: 安心して眠れる決済システムを目指して
acomagu
0
19
Stripe SSoT をするべきか否か
acomagu
0
89
JP_Stripes: リコンサイル(突合処理)のテスト
acomagu
0
130
「境界付けられたコンテキスト間の関係」についてもっと語ろう
acomagu
0
180
地方 MaaS 事例: アプリの進化に伴って変化してきた Stripe 利用方法
acomagu
0
670
Stripe リコンサイルの勘所
acomagu
0
540
CDK 一発で全てのエラーログを Slack に流す
acomagu
0
2.3k
Other Decks in Programming
See All in Programming
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
130
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
350
プロポーザルを書いてもらう
pvcresin
0
560
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
390
Android CLI
fornewid
0
230
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
530
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
200
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
160
Building a Meta Ray-Ban display app
akkeylab
0
170
テーブルをDELETEした
yuzneri
0
150
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
160
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Scaling GitHub
holman
464
140k
Marketing to machines
jonoalderson
1
5.7k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
500
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Un-Boring Meetings
codingconduct
0
390
Building an army of robots
kneath
306
46k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
300
The Language of Interfaces
destraynor
162
27k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
220
Testing 201, or: Great Expectations
jmmastey
46
8.2k
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 を記述するための技術(ライブラリ群)である