2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
リンクをコピー
記事をブックマーク
k.goto氏:では「スタートアップでこそCDKが活きた ~生産性を向上できた5つの理由~」というお話をします。どうぞよろしくお願いします。
gotoと申します。ふだんはテックリードをやっていて、AWS Community Builderというものにも選んでもらっています。プライベートで技術ブログとか自作ツールのオープンソース開発とか、あとは今日話すAWS CDKのContributorとかもやっています。どうぞよろしくお願いします。
今日のイベントのサブタイトルの「スタートアップ冬の時代」ということですが、スタートアップ企業は人が足りません。各分野の専任者がいない、チームが分かれていない、研修を作る時間が取れないなどのようなかたちで、本来やりたいことがたくさんあるんですが、人が足りなくてぜんぜんできず「もういいか……」と、なってしまうこともあります。
人が足りない中でも、もっといろいろやりたい。そこでAWS CDKということで、本セッションの概要としては、スタートアップ企業の開発現場から見たAWS CDKの良さ。「スタートアップとCDKは相性が良かった」とか、「生産性を向上できた」という話を基に、「スタートアップでこそCDKが活きた ~生産性を向上できた5つの理由~」ということで、CDKの良いところをついでに全部詰めておきました。
(視聴)対象ですが、CDKに興味がある方とか初心者の方ということで、そんなに深入りした話はしません。スタートアップ企業で開発をしている方も対象ですが、スタートアップ以外でもきっと活きるんじゃないかなと思います。
5つの理由ということですが、その前に前提として「IaCはいいぞ」という話をしておきます。1点目に環境の自動構築ができる。構築スピードが向上したり操作ミスの防止につながる。例えばDevとかステージング、prodに同じ環境を一貫して一括展開するとか、各開発者ごとに同じ環境を楽に構築できるとかです。
2点目がコードの再利用ということで、例えば複数プロダクト間でのリソース定義の使い回し。プロダクトごとに同じ監視環境を提供したいとか。他には単一プロダクト内でのリソース定義の使い回し。こちらは「処理は同じですが、対象のDB名だけ変わるようなジョブを5つ用意しましょう」となった時に、使い回しができて非常に良いのかなと思います。
前提が終わったところで、あらためて5つの理由ということで話していきたいと思います。1個目はアプリとインフラの一体化。スタートアップでは、1人でいろいろやる人、分野ごとに専任ではないことも多いんじゃないのかなと思います。特に、アプリ開発者がインフラを管理することも往々にしてあるんじゃないのかなと思います。
CDKはプログラミング言語で、インフラの定義を書くツールになっています。(スライドを示して)ここに書いてある6個の言語が対応していて、TypeScriptが実質デファクトスタンダードみたいな感じで言われています。
こういうプログラミング言語で書くということで、アプリ開発者と相性がいいんじゃないのかなと思います。ということで、アプリとインフラを一体化しやすいという特徴があります。
例えば、CDKの導入前にはフロントとバックはTypeScriptで書いていた。インフラはいろいろな方法で作っていたところが、CDKの導入後にフロントとバック、インフラも含めて全部TypeScriptで管理できるようになったとか。
フロントはTypeScript、バックはGoで書いているようなところにGo言語のCDKを導入することで、バックとインフラをGoで管理できるようになったりします。
(スライドを示して)CDKのコードの例で、TypeScriptで書くとこんな感じだよと。これは読み物として載せているのでそんなに大した意味はないです。
Goでも書けるという例を挙げています。
1個目が終わって、2個目がCDK Workshopです。スタートアップ企業は、人が少なくて教育にリソースが割きづらいような状況もあるかなと。また、教える方法とか研修内容なども固まっていなかったりすることもあるんじゃないかなと。
そこで、CDKの学習教材として、AWSがWebページ上にワークショップを提供してくれています。
これが具体的かつ実践的ということで、初心者に非常に最適です。また、AWS本家からの公式提供ということで安心だと。また、無償なので、予算の少ないスタートアップにピッタリなんじゃないかなというので、「これをやっておいて!」でいけちゃうような、すばらしいコンテンツとなっています。
(スライドを示して)タイトルどおりの、いわゆるCDK Workshopが上のほうです。もう1個別に下にもあって、これらを紹介します。上のいわゆる「AWS CDK Workshop」というものは、CDKの基本から軽い応用まで学べるコンテンツで、各プログラミング言語ごとに提供されているので、みなさん非常に使えるんじゃないのかなと。
2個目は何かというと、これはCDK Workshopという名前ではないんですが、CDKのワークショップとハンズオンコンテンツです。「TypeScriptの基礎から始めるAWS CDK開発入門」。これにはCDKの使い方とかも出てくるんですが、TypeScriptを基礎から学べるものになっています。プログラミング未経験の方とか、インフラ畑の方におすすめじゃないかなと思います。
(スライドを示して)「こんなのだよ」ということでスクショを撮ってきたんですが、まずCDK Workshopということで、左側にTypeScriptとかPythonとか。そんな感じでワークショップを選ぶことができて、トップページには「このワークショップをやるとこういうことができるようになりますよ」ということが書いてあります。
1個例に挙げると、「LambdaにDynamoDBの読み書き権限を付与してみましょう」というもの。「こんな感じのコードにこういうことをやると読み書きを付与できますよ」というかたちで、非常に実践的なワークショップとなっています。
2個目のTypeScriptの基礎から始めるほうに関しては、最初のページに「プログラミングの経験があまりないのですが、大丈夫ですか?」「はい」ということ(が書いてあるの)で、プログラミングをやったことがない人にとって非常に安心できる教材なんじゃないかなと。
どんな基礎から出してくれているのかというと、「クラスって何ですか?」というところから丁寧に書いてあるので、「プログラミングはちょっとハードル高いんだよな」という人にもおすすめのコンテンツかなと思います。
2個目が終わって3つ目。ここからCDKの機能とかに掘り下げて話していきます。豊富な自動的・機械的サポート。この章はいきなり「こんな感じの話をしますよ」ということをまとめています。TypeScriptなどの型システムの恩恵のお話と、「CDKの便利機能はこんなものがあるよ」という、大きく2つに分けて話したいと思います。
1点目です。TypeScriptなどの型システムによる機械的サポート。TypeScriptは型というものがあって、各パラメーターに対してnumberやstringなどの文字列とか、booleanとか、CDKの独自型というものがあって、それに当てはまらない値を書くとエラーを出してくれる。
2個目の入力補完というのは、パラメーターを入力する際に、2、3文字打つとあとは全部自動で補完で出してくれる。
3つ目はAWSのリソースって、必須な入力のパラメーターがあるんですね。これを指定しなかった場合にも警告をしてくれる。これは実装中にエラーが出るので入力漏れの防止になるということで、楽々入力で凡ミスを実装の段階で防いでくれるという旨みがあります。
どんな感じで出してくれるのかは、ちょっと文字が見えづらいと思うので口頭で話します。一番上はboolean、trueかfalseに対して、文字列で"true"と入れてしまった。すると、「これは型が違うよ」ということを赤文字で出してくれている。真ん中に関しては入力補完ですね。repositoryNameと打ちたくて、"repo"と打ったところで「これですか?」みたいな感じで出してくれるので、あとはEnterを押すだけ。ついでに右側にプロパティの説明とかを出力してくれるので、これもまたいいかなと。
一番下が、入力が必須なプロパティを入力しなかった場合に、「〇〇は必須ですけれど、入力されていませんよ」ということを赤文字で出してくれている。
ということで、TypeScriptなどの型システムは非常にいい感じに機械的サポートをしてくれるというお話です。
(次回に続く)
関連タグ:
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.12.04
いつも遅刻や自慢話…自分勝手な人にイラっとした時の切り返し 不平等な関係を打開する「相手の期待」を裏切る技
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.06
嫌いな相手の行動が気になって仕方ない… 臨床心理士が教える、人間関係のストレスを軽くする知恵
2024.12.03
職場の同僚にイライラ…ストレスを最小限に抑える方法 臨床心理士が語る、「いい人でいなきゃ」と自分を追い込むタイプへの処方箋
2024.12.05
「今日こそやろう」と決めたのに…自己嫌悪でイライラする日々を変えるには
PR | 2024.12.04
攻撃者はVPNを狙っている ゼロトラストならランサムウェア攻撃を防げる理由と仕組み