「AWSエンジニアの基礎知識」。そういうコースがUdemyなどにあるわけではないので,教材の組合せを考える。
- エンジニア経験ゼロの人が,
- AWSエンジニアとして経験を積み,
- 最終的に他人に技術を教えられるようになる,
というキャリアパスを想定する。ソリューション・アーキテクト寄り(バリバリ毎日コードを書くよりは,ビジネスサイドとの調整が多めの人)の基礎知識として何が必要か。
現時点での調査結果はものすごくGrowcite, Inc.のコースに偏ってしまったが,知識面での網羅性とバランスでこれ以上のものが見つからなかった。それ以上はAWSを実際に使いましょう,のコースが多いのだが・・・今クラウド界隈で問題なのは「オンプレからクラウドに移行するとどんなことになりますか」ということだと思う。なので,仮想化の前の知識が重要。
マイクロサービスアーキテクチャ
書籍だと以下が細かく書かれている。が,Udemyのコースで全体を掴んでおいた方が,消化不良にならなくてすむ。
Web API
どうもRESTの話題には,原典論文の定義から変遷していてゆらぎがあるような気がする。
英語は原典論文そのままなのだが,
Representational state transfer - Wikipedia
日本語は4つにまとまっている。
Representational State Transfer - Wikipedia
Wikipediaの「4つの設計原則」は,"Software Design",Aug. 2022のp.23でも引用されている。
RESTの原則より,最近のOpenAPI Specificationをもとに「どんなことを約束すればよいのか」をおさえるのが重要なようだ。
セキュリティ
認証と認可をどういう形で実現するか。セッション管理と合わせて永遠の課題になりそう。OpenID Connect,OAuthの説明は,書籍よりも動画の方が良い。
ネットワーク
ネットワークは素直にCCNAの入門コースが良い。TCP/IPの4階層モデル,レイヤごとの代表的なプロトコルとハード,プロトコルの詳細を把握する。私の場合,DNSを細かくおさえていなかったので,AWS認定資格の対策で非常に苦労した。
コンテナ
数年前からみると,Kubernetesを試す環境が非常に整備されてきたと思う。「なんか面倒なので」という状況ではなくなった。個人的にはCKADを取りたい。取ったからどう,ということではなく,取得過程で学ぶことが大事。
データベース
RDBの設計と,NoSQLの選定&適用箇所が重要になるのだが,なかなかバランスの良いコンテンツが見つからない。どれも個別のコースになっている。
NoSQLに対して包括的なのは,書籍しかなさそうだ。
RDBはミック氏の書籍が良い。
DevOps
良いものが見つからない。Udemyの「マイクロサービスアーキテクチャ」の中で解説されていることで十分かもしれない。デプロイ戦略は,どの解説も分かったような分からないような説明が多い気がする。このあたりは実際のツールを良く調べた方がよいと思う。AWSならば,認定資格AWS-DVAの勉強がてらに調べるなど。
CI/CDツール群
テスト環境などへのデプロイツールを調査する。
設計(Domain Driven Design)
これもUdemyでは良いものが見つからず。Lightbend社の無料コースが簡潔だ。デジタルバッジももらえる。ただし,コース修了にあたって同一アカウントでの再挑戦ができないので,バッジが欲しいなら回答は慎重に。
ストレージ
RAID0,1,5,6