AWS CDKについて
AWS CDK学習
目的
最近よく耳にするAWS CDKについてざっくりと概要だけでも学ぶ
AWS CDKとは
CDK: Cloud Development Kit
AWS CDKとは、プログラミング言語でクラウドのインフラを定義できるフレームワーク。
例えば、TypeScriptやPythonなどでコードを書くことでインフラの定義が出来るみたい。
今まではAWS CloudFormationやTerraformなどでJSONやYAMLのようなファイルにリソースを定義していたけど、AWS CDKではプログラムコードで同様のことが出来る。
IaCのプログラミング言語版と考えても良さそう。
AWS CDK
強みとなりそうな箇所は、公式ガイドにも記載があるように
構文の強調表示やインテリジェントなコード保管など、任意のIDEでインフラストラクチャを開発する利点が得られます。
と書いてあるので、構文などのミスが減ったりするんだろうなと弱い感想を残す。
感想
結局抽象化の進んだ先でYAMLなどに記載して後から当て込んでいくような仕組みか、自分で枠組みも書いてしまうのかの違いというかそういうところなんだろうなと。
勝手なイメージで言うとYAMLの場合だと、あれが全部引数になってて階層に分けながらその引数を受け取りながらインフラの仕組みを組み立てていくのに対して、CDKでは、大きくは変わらないけれど枠組みも自分で書いて組み立てていくスタンスなんだろうなと解釈。
どこまでインテリジェンスが効くのか型の宣言が行われているのかが正直気になるところで、それがあればYAMLの時と比べても大きく開発者体験は変わるんじゃないかなと思ったり。
にしても、自分はインフラ知識が浅いのでIaCなどが出て便利だねってくらいだったので今プログラムに落とし込んでインフラ作成できるとは考えてなかった。(深く考えればできなくはないし抽象化もある程度終わっているからこそ可能ではあっただろうけども…)
技術の進歩は早いので企業との対話の中で新しい知識が入ってきたりして良い経験でした。
Discussion