Share
Embed
アンチCDKだったわたしが「CDK、できる・・」と思ったところ
CDKは柔軟ですが、プログラミング言語のスキルが必要なイメージがあります。よって、CFnやTerraformの方が「引継ぎ」など、自分以外がメンテすることを考えると勝る、と思ってました。が、実際に触ってみると、イメージと違う部分や、CDKでなければできないこともあることがわかりましたので、共有したいと思います!
cyberarchitect
April 09, 2022
Transcript
15 slides
-
一部のおっさんは、「新しいもの」に対してあれこれと理由をつけて否定しがちである。おっさんは 経験だけは多いためそれっぽい理由をつけて拒否するが、単にめんどくさいだけのケースも多い。 (そうでないおっさんも世の中にはたくさんいらっしゃいます。念のため) 貴様アンチのくせにCDKカンファレンスに何しにきた 一部のおっさん(わたし含む) は?CDK? もうCFnとTerraform あるし IaCのコードを TypeScriptやPython
で書く? 誰がメンテするんだ? https://www.irasutoya.com/2014/03/blog-post_4378.html CFnやTerraformと 比較するとネットの情報 が少ない アプデで言語仕様が ちょいちょい変わる? 怖くてProductionじゃ 使えねーよ -
あの、オライリーのクックブックシリーズに、AWS版が追加された!!! AWS Cookbook(1/3) https://www.oreilly.com/library/view/aws-cookbook/9781492092599/ AWS Cookbook: Recipes for Success on
発売日: 2021/12/28 英語版 John Culkin (著), Mike Zazon (著), Jeff Barr (はしがき) https://www.amazon.co.jp/dp/1492092606/ ※なお、お値段はかわいくない模様 -
AWSのプラクティスとして確立している実装や、サービス利用上自明な作業については、抽象化 されて極めて短いコードで(も)実現できるようになっている。この方向性で進化していくことで、 「とりあえずCDKでこのフレームワーク(L2とPatternsの集合的な?*1)使っておけば基盤はOK」に なるかもしれない。 (ぜひなってほしい。RubyにとってのRails的な) 「いい意味で型にはめようとしている印象」とは NAT Gatewayを経由したインターネット接続が必要な場合 public_subnets =
ec2.SubnetConfiguration( name="Public", subnet_type=ec2.SubnetType.PUBLIC, cidr_mask=24) tier2_subnets = ec2.SubnetConfiguration( name="Tier2", subnet_type=ec2.SubnetType.PRIVATE_WITH_NAT, cidr_mask=24) *1 AWSさんのBaseline Environment on AWS(BLEA)とか https://github.com/aws-samples/baseline-environment-on-aws ECSのConstruct Library(よくある実装パターン)の1つ load_balanced_fargate_service = ecs_patterns.ApplicationLoadBalancedFargateService( self, "Service", cluster=cluster, memory_limit_mi_b=1024, desired_count=1, cpu=512, task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions( image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample") ), task_subnets=ec2.SubnetSelection( subnets=[ec2.Subnet.from_subnet_id(self, “subnet”, "VpcISOLATEDSubnet1Subnet80F07FA0")] ) ) -
AWSにもBabelfish、BottlerocketやFirecracker等々あるのは存じておりますが・・ cdktfやcdk8sには期待してますし、小さくてもがんばって貢献したいと思います!!! (参考)AWSとOSS BigTechの開発が元となった、代表的なOSS(オープンソースソフトウェア) 企業(例) OSSプロダクト 概要 Google MapReduce 大容量データの分散処理フレームワークである一連のHadoop関連ソフトウェアの元となった概念
Borg コンテナ・オーケストレーションツールのデファクトであるKubernetesの元となったソフトウェア Istio Kubernetes上で実行されるサービス間の透過的な通信をサポートするソフトウェア TensorFlow 機械学習(Deep Learning)を行うためのフレームワーク Android スマートフォンのOS Go プログラミング言語 Facebook React WebアプリケーションのUI部品を効率的に取り扱うためのJavaScriptフレームワーク PyTorch 機械学習(Deep Learning)を行うためのフレームワーク Netflix Chaos Monkey インフラ上で意図的に障害は引き起こし、障害発生時にもサービス提供の継続が可能かどうかをテストするため のツール カオス・エンジニアリングの概念 Chaos Monkey等を利用し、敢えて障害を引き起こしながら、サービス全体の信頼性を高めていく方法論 参考:マイクロソフトも、TypeScriptなどのOSS公開を行っている。 Amazon社については、Developer単位ではOSSコミュニティに貢献しているものの、Elastic社をはじめとして、 「企業としてOSSコミュニティの成果にただ乗りしている」との批判の声がある -
まとめ ✓ 食わず嫌いはよくない。否定する前に手を動かしましょう ✓ AWS Cookbookは神本です ✓ CDK、敷居高そうですが、触ってみるとそうでもないです ✓ ただ、抽象度が高いということは、思わぬ罠にハマる可能性も
あるので、ピアレビューやCIによるチェックは必須ですね ✓ CDK、OSSなので、みんなでがんばって盛り上げていきましょう