AWSトレーニング(Developing on AWS)を受講しました。
受講するかどうかの判断の助けとなるように内容を記録しておきます。
参加者
- 講師(ソリューションアーキテクト):1名
- 受講者:8名
- AWS歴は数ヶ月〜2年
- Architecting on AWSも受講されていた方数人
受講概要
AWSでのアプリ開発のための知識習得を3日間で行いました。
1日目
- AWSとは:グローバルインフラやセキュリティモデルなどのAWSの基本
- IAM:AWSの基本であるIAMの説明
- S3/DynamoDB:アプリのデータ保管先としてのS3とDyanamoDBの説明
2日目
- SQS/SNS:主にバックエンドアプリで利用するSQSとSNSの説明
- Application Security:AWSのセキュリティとSTSの説明
3日目
- デプロイ
- BeansTalk、OpsWorks、CloudFormationの概要と位置付けと開発向けサービスとしてのBeansTalkの説明
- EffectiveCodingPractices:例外処理、ロギング、非同期API、カスタム認証プロバイダチェーンの説明
ラボ
各章の終りでは演習がありました。
演習のソースはこちら。
- Java https://github.com/aws-jp-trainers/devonaws-labs-java-master-jp
- C# https://github.com/aws-jp-trainers/devonaws-labs-csharp-master
以下の演習では主にSDKを使ってAWSサービスを操作することを行いました。
- ラボ1.1 IAMユーザとグループの作成(後の演習の準備)
- ラボ1.2 IDE(Eclipse or VisualStudio)の設定
- ラボ2.1 S3をSDKで操作
- ラボ2.2 DynamoDBをSDKで操作
- ラボ3.1 SNSおよびSQSをSDKで操作
- ラボ4.1 STSのAssumeRoleで一時的な権限を取得してAWSを操作
- ラボ5.1 Elastic BeansTalkでWebアプリをデプロイしてみる
他のトレーニングとの比較
今までArchitecting on AWSとSystems Operations on AWSを受講したことがあるのでそちらとの比較です。
- Architecting on AWSはスケジュールがぎゅうぎゅうという感じだが、Developing on AWSはSystems Operations on AWSと同じく余裕がある(お昼休み外に食べに出られる)
- 他のトレーニングではチームを作ってのディスカッションがあったがSystems Operations on AWSでは無く、各章でクイズがある時に隣の人と話すのみだった。
- 他の参加者のAWSの実運用の話が聞ける機会がトレーニングとしてないのがちょっと残念
所感
- 体系的な学習とラボによって効率的にAWSでのアプリ開発の知識が得られる
- デプロイまでやるあたりさすがAWSといった感じで実践的
- 講師の方に個別に質問することで個人的に悩んでいるAWSのことを聞ける
- ラボをやっていけば知識を効率的に得られるので良いが、もうちょっと改善されるとうれしいことがいくつかあった
- RubyistなのでRubyも対応されるとうれしい
- ラボ3.1ではSNSからSQSの連携が遅延する場合があるがそれが考慮されたコードになっておらず警告が表示される
- ラボ5.1ではTomcat環境の構築など本筋でない部分でハマりやすいので構築済環境を整えるか事前に環境を構築させてほしい
- 個人的にSTSのAssumeRoleとFederationUserが完全ではないが理解できたのが特に良かった