Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アンチCDKだったわたしが「CDK、できる・・」と思ったところ

 アンチCDKだったわたしが「CDK、できる・・」と思ったところ

CDKは柔軟ですが、プログラミング言語のスキルが必要なイメージがあります。よって、CFnやTerraformの方が「引継ぎ」など、自分以外がメンテすることを考えると勝る、と思ってました。が、実際に触ってみると、イメージと違う部分や、CDKでなければできないこともあることがわかりましたので、共有したいと思います!

cyberarchitect

April 09, 2022
Tweet

More Decks by cyberarchitect

Other Decks in Technology

Transcript

  1. あの、オライリーのクックブックシリーズに、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/ ※なお、お値段はかわいくない模様
  2. 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")] ) )
  3. 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コミュニティの成果にただ乗りしている」との批判の声がある