こんにちは、最近「CDKおじさん」と呼称されるようになっていて、もうおじさんなんだと落ち込んでいた志水です。若作りして「CDKお兄さん」と呼ばれるようにがんばります。
さて、当社主催の勉強会「NRIネットコム TECH & DESIGN STUDY」、2月のテーマが決定しました!
昨年のre:Inventで発表されたAWS Application Composerの話を中心に CDKおじさんこと志水がそのミライに思いを馳せます。
※ちなみにミライがカタカナなのはNRIネットコムのコーポレートステートメントである 「みたい、ミライを」に掛けてます。
Application Composerとは、以前私が書いた記事で紹介していますが、一言でいうと「サーバレスアーキテクチャにおけるインフラのローコードツール」です。Infrastracture as Code(IaC)をGUIでパーツを組み合わせることで、視覚的に設計、構築できるサービスです。 下記のre:Inventでのセッション動画で実際に動かしているデモがあるので、見て頂ければより直感的に理解出来るかと思います。英語ではありますが、画面だけ見ていればやっていることは理解できるかと思います。
Application Composerのようなローコードやノーコードのツールは、他にもAWSからいくつかサービスを出していて、それらについて歴史を振り返ります。また、それらと対になるコードのツールについても歴史を振り返り、そこからIaCや我々エンジニアのミライについて語ろうと思います。
気になった方はこちらから
2/22(水)12:30~13:00のお昼開催となっております! 今回は30分1テーマとして開催しますので、前回よりもお気軽に参加しやすい形になっているかと思います!
イベントページはこちら。駆け込み参加も大歓迎です!
たくさんの方の参加を楽しみにしています!
発表内容
当日発表した資料は下記になります。
ここでは、発表したものの概要と、発表を振り返って伝えれなかったものやプレゼンの反応を含めた内容について書いていきます。
発表の概要
本プレゼンテーションでは、AWSのノーコード・ローコードツールの一つであるAWS Application Composerについて紹介しました。このツールは、プログラム不要でウェブアプリケーションを作成できるアプリ型のノーコード・ローコードツールです。初学者でも簡単に構築できることや、実リソースと同期可能であることなどが、AWS Application Composerの主なメリットです。
また、AWS Application Composer以外にも、インフラ型のノーコード・ローコードツールとして、AWS Management Console、AWS CloudFormation Designer、No-Code Provisioning for Terraform Cloud Businessなどが存在します。ノーコード・ローコード市場は急成長しており、2022年には22.6%増加し、世界全体で1兆5000億円規模になると予想されています。
ノーコード・ローコードの歴史は、2009年にAWS Management Consoleがリリースされたことが始まりで、最近ではアプリ型のツールが注目されています。一方、コードの歴史は2006年にAWS SDKのbotoがリリースされたことが始まりで、現在ではAWS CopilotやPulumiなどのツールも存在します。ノーコード・ローコードとコードの両方のツールを活用することで、より効率的な開発が可能となります。これらのツールの詳細を知りたい方は、このプレゼンテーション資料を参照してください。
発表を振り返って
まず、発表を見ていただいてありがとうございました。AWSにおけるノーコード・ローコード・コードのサービスや歴史についてまとめたことで、見ていただいた方の知識の整理できたという反応があり、発表して良かったです。また、サービスについて知らなかったのでIaCを触れそうという反応もあり、IaC人口を増やせたのではないかと思えました。また、最後のエンジニアの生存戦略について共感してくださった方もいて、一緒に頑張っていきたいと感じました。
質問であったように、現在コード化されているものにノーコードツールを適用する場合にもメリットがあります。実際に、設計よりも構築を優先してコードを書く状況がよくあります。その時に、今回のようなApplication Composerを利用することでコードからインポートして視覚化が出来るため、それを設計図として利用が出来ます。設計の要・不要論は色々あるとは思いますが、私の考えとしてはどれだけそのPJの構成を理解出来るかという点に置いて、コードより視覚化のほうが圧倒的に情報量のインプットが多いため、基本的には設計は実施すべきかなと思います。その際に、コードからリバースエンジニアリングができるという点もプロジェクトチームにとってのメリットになると考えています。
また、Application Composerはサーバレス特化型サービスのため、サーバレス以外を作りたい場合についても聞かれました。レベル感によって作り方は変わると思っていて、IaC初学者の方はまずノーコード・ローコードから入るべきで、多少コードが書けるようであればコード系の中でもこちらの記事に書いてあるArchitecture as Code寄りのサービスが良いかと思います。今回例で挙げられていたものはEC2+S3の構成だったので、その場合は以下のような順番で検討できると良いかと思います。Architecture as CodeなAmplify/Copilotに関しては適用できないため省きました。
- Application Composer + CloudFormation Designer
- Management Console
- CDK
Generative AIについても言及されてる方がいらっしゃいましたが、今回のような初学者向けという観点だとGenerative AIもまさに初学者向けという観点で別のアプローチになるかと思っています。このように学習コストがどんどん低くなる昨今、我々は知の探索と深化を同時に進めて生き残っていきたいと思います。では。