継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

ビッグデータ専門知識を証明する『AWS 認定 Bigdata Speciality』に合格するためにやったこと

タダです.

12/28 に AWS 認定 Bigdata Speciality に合格しました.今回は自分がどんな勉強をしていったかを振り返り,今後受験される方の勉強の参考になれば嬉しいです.

試験範囲について

試験範囲については試験のガイドで確認できます.サンプル問題ではどのような問われ方がされるかが参考になると思います.

aws.amazon.com

また,試験の準備ページ内にラーニングパスについて解説されていますのでこちらも参考になります.

aws.amazon.com

試験勉強で注力したこと

次に,僕が注力して勉強したことをまとめていきます.大きく3つのことをやりました.

1.ビッグデータの関連用語や関連技術が生まれた経緯を学ぶ

僕はビッグデータの関連用語や関連技術について存在は知っていてもなんで Hadoop や NoSQL をはじめとした技術が出てきた経緯について知りませんでした.ビッグデータの業務経験がないような方やこれから勉強していく方にとってはこの本から始めるのがオススメです.何でビッグデータの関連技術が登場していたのかを攫いながら2以降の勉強を行うと僕は頭に入ってきやすかったです.

ビッグデータを支える技術―刻々とデータが脈打つ自動化の世界 (WEB+DB PRESS plus)

ビッグデータを支える技術―刻々とデータが脈打つ自動化の世界 (WEB+DB PRESS plus)

2. ビッグデータ関連のサービスの理解を深める

AWSビッグデータ関連のサービスが紹介されているためこのページに載っているサービスを中心にドキュメントやよくある質問,サービス別資料を確認して理解を深めました.ビッグデータの収集,保存,処理,分析のそれぞれのサービスごとに整理するとよいでしょう. aws.amazon.com

Youtube 動画

ドキュメントなどで理解が深まらない場合は,AWS 公式の Youtube チャンネルの動画が理解をサポートしてくれます.特に,Redshift 関連のトピックに僕が弱かったので Redshift の動画を中心に観ました.

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

ホワイトペーパー

ビッグデータのホワイトペーパーとして AWS でのビッグデータ分析オプション がリリースされています.関連サービスの特徴やユースケースを学ぶことができます.また,連携するサービスについても整理していくのに役立ちます.

3. 先人の経験に倣う

最後は,過去に合格された方の勉強方法に倣っていくことをやりました.試験がリリースされてからだいぶ経ったので,他にも合格者の方の記事がありました.僕は以下の記事を参考にさせてもらって勉強してきました.

yomon.hatenablog.com

qiita.com

qiita.com

まとめ

次は,Security Speciality か Machine Learning Speciality に挑みたいと思います!

Toggl のスマートな時間記録をサポートするワークフローの『Alfred-time』

タダです.

タイムマネジメントと時間の使い方見直しのために Toggl で自分がどんなことに時間を使っているかを記録していってます.Toggl は様々なデバイスでのアプリケーションがあるのですが,僕は普段パソコン作業の時間が多いため, Mac の Desktop アプリを入れています.アプリケーションの通常の利用ですとアプリケーションの画面を都度開いてどの作業に時間を使っているかを記録の開始と停止操作を行いますが,記録の開始と終了をやりやすくする方法として Alfred Workflow の「Alfred-time」をこの記事で紹介します.

Desktop App toggl.com

Alfred-time について

Alfred-time」は, Toggl の他に Harvest や Everhour といったサービスの時間管理を支援する Alfred Workflow になります.アプリケーションの操作を画面で都度操作するよりもキーボードの操作でタスクの開始と終了を記録可能になるため普段のオペレーションと平行で行えます.普段のキーボード操作以外のオペレーションがなくなる(GUI アプリケーションの操作が不要になる)ため時間記録の心理的ハードルが下がるメリットがあると思います.

github.com

なお,Alfred Workflow を使うために Alfred を別途入れておく必要がありますので,セットアップできてない方は別途導入ください. www.alfredapp.com

Alfred-time の利用準備

それではまず「Alfred-time」を利用するためのセットアップを説明します.最初にReleases よりTime.alfredworkflowをローカルマシンにダウンロードします.Time.alfredworkflowをダウンロード後にダブルクリックすると,Alfred Workflow のインポート画面が起動しますのでインポートします.

github.com

Alfred Workflow のインポート画面 f:id:sadayoshi_tada:20191224031401p:plain

インポート後,初期設定を行います.timeコマンドで Workflow が起動しますので,Setup the workflowを選びます. f:id:sadayoshi_tada:20191224031648p:plain

次にSetup Togglを選んだ後,Toggl の API Token を反映します.これで初期設定が完了です. f:id:sadayoshi_tada:20191224031706p:plain f:id:sadayoshi_tada:20191224031919p:plain

なお, Toggl の API Token は Toggl のプロフィール画面の最下部にあります. f:id:sadayoshi_tada:20191224032155p:plain

Alfred-time の使い方

初期設定後,どう「Alfred-time」で時間記録の開始と終了を行うかを紹介します.

タスクの開始はtime <タスク名>で起動します.その後,どのプロジェクトに紐づけるか,タグを設定するかを選択後,タスク起動します.画像ではブログの作業の時間記録の開始する場合のコマンド入力例を載せています.

ブログの時間記録を開始する f:id:sadayoshi_tada:20191224033510p:plain プロジェクトの選択 f:id:sadayoshi_tada:20191224033518p:plain タグの選択 f:id:sadayoshi_tada:20191224033529p:plain

タスクの終了時はStop current timerでタスクの終了を記録できます. f:id:sadayoshi_tada:20191224034350p:plain

まとめ

Alfred-time」の導入と使い方を紹介しました.いかがでしょうか.アプリケーションの GUI で都度起動と停止の操作をするよりも利用のハードルが下がるなと感動したツールと思います.このツールを使うことで Toggl の時間記録が効率的に行うことができるためまだ使っていない方や今後利用検討をする方は「Alfred-time」の利用をオススメします!

AWS CDK のインフラストラクチャテストフレームワーク『Jest』での『Snapshot tests』実践

タダです.

来年の技術書典8に出ることが決まりました! テーマは AWS CDK の本です.AWS CDK の本を出すからこそむちゃくちゃ詳しくなれるようにより一層使い込みと勉強をしていきます.今回の記事では,テストフレームワークJest」の使い方を学びます.

AWS CDK におけるテストの現状

ドキュメントを見ると,テストでサポートされているのは TypeScript のみになります.「Jest」は JavaScript テストフレームワークAWS CDK の TypeScript のテストも可能です.

jestjs.io

テストの種類について

AWS CDK のテストには次の3種類の方法があります.今回は 「Snapshot tests」のやり方を学びます.「Snapshot tests」とは 作りたい CloudFormation テンプレート全体を準備して AWS CDK で作成したテンプレートが一致することを確認するためのテストです.AWS CDK の開発においては Integration test として利用されているそうです.

  • Snapshot tests(Golden master tests)
  • Fine-grained assertions tests
  • Validation tests

「Jest」の導入

それでは「Jest」の実践を公式ブログのチュートリアルに沿って使ってみます.公式ブログによると,AWS CDK の TypeScript の Construct ライブラリには @aws-cdk/assert というアサーションライブラリがあります.

aws.amazon.com

なお,環境は以下になります.

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.6
BuildVersion:   18G2022
$ cdk --version
1.19.0 (build 5597bbe)

チュートリアル用プロジェクトの準備

チュートリアル用のプロジェクトを準備します.チュートリアルでは,SQS のデッドレターキューにアイテムがある場合にアラーム通知するよう CloudWatch を設定するケースのインフラとテストのコードを作ります.

$ cdk init --language typescript lib
Applying project template lib for typescript
Executing npm install...
npm WARN deprecated left-pad@1.3.0: use String.prototype.padStart()
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN jest-handson@0.1.0 No repository field.
npm WARN jest-handson@0.1.0 No license field.

# Welcome to your CDK TypeScript Construct Library project!

You should explore the contents of this project. It demonstrates a CDK Construct Library that includes a construct (`JestHandson`)
which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.

The construct defines an interface (`JestHandsonProps`) to configure the visibility timeout of the queue.

## Useful commands

 * `npm run build`   compile typescript to js
 * `npm run watch`   watch for changes and compile
 * `npm run test`    perform the jest unit tests
$ npm install @aws-cdk/aws-sqs @aws-cdk/aws-cloudwatch
npm WARN jest-handson@0.1.0 No repository field.
npm WARN jest-handson@0.1.0 No license field.

+ @aws-cdk/aws-sqs@1.19.0
+ @aws-cdk/aws-cloudwatch@1.19.0
updated 2 packages and audited 1755462 packages in 11.635s

14 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Snapshot tests の実践

インフラソースコードの準備

デッドレターキューを構成するソースコード

import cloudwatch = require('@aws-cdk/aws-cloudwatch');
import sqs = require('@aws-cdk/aws-sqs');
import { Construct. Duration } from '@aws-cdk/core';

export class DeadLetterQueue extends sqs.Queue {
    public readonly messagesInQueueAlarm: cloudwatch.IAlarm;

    constructor(scope: Construct, id: string) {
        super(scope,id);

        // Add the alarm
        this.messagesInQueueAlarm = new cloudwatch.Alarm(this, 'Alarm', {
            alarmDescription: 'There are messages in the Dead Letter Queue',
            evaluationPeriods: 1,
            threshold: 1,
            metric: this.metricApproximateNumberOfMessagesVisible(),
        });
    }
}

テストコードの準備

Jest」と AWS CDK アサーションライブラリをインストールします.

$ npm install --save-dev jest @types/jest @aws-cdk/assert
npm WARN deprecated left-pad@1.3.0: use String.prototype.padStart()
npm WARN jest-handson@0.1.0 No repository field.
npm WARN jest-handson@0.1.0 No license field.

+ jest@24.9.0
+ @types/jest@24.0.24
+ @aws-cdk/assert@1.19.0
updated 3 packages and audited 1755462 packages in 35.82s

1 package is looking for funding
  run `npm fund` for details

found 0 vulnerabilities

package.json に「Jest」に関する定義を記載します.

{
  "name": "jest-handson",
  "version": "0.1.0",
  "main": "lib/index.js",
  "types": "lib/index.d.ts",
  "scripts": {
    "build": "tsc",
    "watch": "tsc -w",
    "test": "jest" <= 定義が必要
  },
  "devDependencies": {
    "@aws-cdk/assert": "^1.19.0",
    "@types/jest": "^24.0.24",<= 定義が必要
    "@types/node": "10.17.5",
    "jest": "^24.9.0",<= 定義が必要
    "ts-jest": "^24.1.0",
    "typescript": "~3.7.2"
  },
  "jest": {
    "moduleFileExtensions": ["js"]<= 定義が必要
  },
  "peerDependencies": {
    "@aws-cdk/core": "^1.19.0"
  },
  "dependencies": {
    "@aws-cdk/aws-cloudwatch": "^1.19.0",
    "@aws-cdk/aws-sns": "^1.19.0",
    "@aws-cdk/aws-sns-subscriptions": "^1.19.0",
    "@aws-cdk/aws-sqs": "^1.19.0",
    "@aws-cdk/core": "^1.19.0"
  }
}

テストコードのコンパイルと実行

ライブラリとpackage.json の定義が完了したら,テスト用のコードを書いていきます.キューの保持期間が2週間であることを確認するコードを書くのですが,今回は「Snapshot tests」を書きます.

import { SynthUtils } from '@aws-cdk/assert';
import { Stack } from '@aws-cdk/core';

import dlq = require('../lib/dead-letter-queue');

test('dlq creates an alarm', () => {
    const stack = new Stack();
    new dlq.DeadLetterQueue(stack, 'DLQ');
    expect(SynthUtils.toCloudFormation(stack)).toMatchSnapshot();
})

テストコードを書き終えたらテストコードをコンパイルして,ユニットテストを実行します.

$ npm run build                                          

> jest-handson@0.1.0 build /XXX/XXX/awscdk-handson/jest-handson
> tsc

lib/dead-letter-queue.ts:3:19 - error TS1005: ',' expected.

3 import { Construct. Duration } from '@aws-cdk/core';
                    ~


Found 1 error.

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! jest-handson@0.1.0 build: `tsc`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the jest-handson@0.1.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /XXX/XXX/.npm/_logs/2019-12-21T07_25_41_525Z-debug.log
$ npm run build

> jest-handson@0.1.0 build /XXX/XXX/awscdk-handson/jest-handson
> tsc
$ npm test

> jest-handson@0.1.0 test /Users/tada/awscdk-handson/jest-handson
> jest

 PASS  test/dead-letter-queue.test.ts
  ✓ dlq creates an alarm (132ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   1 passed, 1 total
Time:        5.396s, estimated 12s
Ran all test suites.

ユニットテストが終わると,test/__snapshots__というディレクトリができており, テストファイル名.test.ts.snap というCloudFormation テンプレートコピーが生成されます.

// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`dlq creates an alarm 1`] = `
Object {
  "Resources": Object {
    "DLQ581697C4": Object {
      "Type": "AWS::SQS::Queue",
    },
    "DLQAlarm008FBE3A": Object {
      "Properties": Object {
        "AlarmDescription": "There are messages in the Dead Letter Queue",
        "ComparisonOperator": "GreaterThanOrEqualToThreshold",
        "Dimensions": Array [
          Object {
            "Name": "QueueName",
            "Value": Object {
              "Fn::GetAtt": Array [
                "DLQ581697C4",
                "QueueName",
              ],
            },
          },
        ],
        "EvaluationPeriods": 1,
        "MetricName": "ApproximateNumberOfMessagesVisible",
        "Namespace": "AWS/SQS",
        "Period": 300,
        "Statistic": "Maximum",
        "Threshold": 1,
      },
      "Type": "AWS::CloudWatch::Alarm",
    },
  },
}
`;

インフラソースコードを変更した場合の「Snapshot tests」の実践

インフラのソースコードを変更した時はどのように再度テストを行うのでしょうか.その方法もみておきます.

CloudWatch Alarm の 間隔をデフォルト5分から1分に変更

インフラのソースコードの CloudWatch Alarm の 間隔をデフォルト5分から1分に変更して再度「Snapshot tests」を行います.

import cloudwatch = require('@aws-cdk/aws-cloudwatch');
import sqs = require('@aws-cdk/aws-sqs');
import { Construct, Duration } from '@aws-cdk/core';

export class DeadLetterQueue extends sqs.Queue {
    public readonly messagesInQueueAlarm: cloudwatch.IAlarm;

    constructor(scope: Construct, id: string) {
        super(scope,id);

        // Add the alarm
        this.messagesInQueueAlarm = new cloudwatch.Alarm(this, 'Alarm', {
            alarmDescription: 'There are messages in the Dead Letter Queue',
            evaluationPeriods: 1,
            threshold: 1,
            metric: this.metricApproximateNumberOfMessagesVisible(),
            period: Duration.minutes(1), <= 追加
        });
    }
}

再度「Snapshot tests」の実践

テストを実行したところ Period 属性が 300 -> 60 になっていることを通知しています.

$ npm run build && npm test

> jest-handson@0.1.0 build /Users/tada/awscdk-handson/jest-handson
> tsc


> jest-handson@0.1.0 test /Users/tada/awscdk-handson/jest-handson
> jest

 FAIL  test/dead-letter-queue.test.ts
  ✕ dlq creates an alarm (69ms)

  ● dlq creates an alarm

    expect(received).toMatchSnapshot()

    Snapshot name: `dlq creates an alarm 1`

    - Snapshot
    + Received

    @@ -19,11 +19,11 @@
                },
              ],
              "EvaluationPeriods": 1,
              "MetricName": "ApproximateNumberOfMessagesVisible",
              "Namespace": "AWS/SQS",
    -         "Period": 300,
    +         "Period": 60,
              "Statistic": "Maximum",
              "Threshold": 1,
            },
            "Type": "AWS::CloudWatch::Alarm",
          },

       7 |     const stack = new Stack();
       8 |     new dlq.DeadLetterQueue(stack, 'DLQ');
    >  9 |     expect(SynthUtils.toCloudFormation(stack)).toMatchSnapshot();
         |                                                ^
      10 | });

      at Object.<anonymous> (test/dead-letter-queue.test.ts:9:48)1 snapshot failed.
Snapshot Summary
 › 1 snapshot failed from 1 test suite. Inspect your code changes or run `npm test -- -u` to update them.

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   1 failed, 1 total
Time:        3.074s
Ran all test suites.
npm ERR! Test failed.  See above for more details.

この変更が意図的であれば,npm test -- -uで「Snapshot tests」をコミットします.1 snapshot updated. とあるため,「Snapshot tests」が更新され,新しいアラームの期間がセットされます.

$ npm test -- -u           

> jest-handson@0.1.0 test /XXX/XXX/awscdk-handson/jest-handson
> jest "-u"

 PASS  test/dead-letter-queue.test.ts
  ✓ dlq creates an alarm (72ms)1 snapshot updated.
Snapshot Summary
 › 1 snapshot updated from 1 test suite.

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   1 updated, 1 total
Time:        3.059s
Ran all test suites.

テスト後の CloudFormation テンプレートコピーがどう変化しているかも確認します.こちらも Period 属性が 300 -> 60 に反映されているので意図した変更が反映されています.

// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`dlq creates an alarm 1`] = `
Object {
  "Resources": Object {
    "DLQ581697C4": Object {
      "Type": "AWS::SQS::Queue",
    },
    "DLQAlarm008FBE3A": Object {
      "Properties": Object {
        "AlarmDescription": "There are messages in the Dead Letter Queue",
        "ComparisonOperator": "GreaterThanOrEqualToThreshold",
        "Dimensions": Array [
          Object {
            "Name": "QueueName",
            "Value": Object {
              "Fn::GetAtt": Array [
                "DLQ581697C4",
                "QueueName",
              ],
            },
          },
        ],
        "EvaluationPeriods": 1,
        "MetricName": "ApproximateNumberOfMessagesVisible",
        "Namespace": "AWS/SQS",
        "Period": 60, <= 変更
        "Statistic": "Maximum",
        "Threshold": 1,
      },
      "Type": "AWS::CloudWatch::Alarm",
    },
  },
}
`;

まとめ

AWS CDK がサポートしている「Jest」の概要と「Snapshot tests」 の実践を行いました.他の2つのテスト手法も使い分けの説明ができるようにブログにしていきます.

関連記事

AWS CDK」の他の記事もぜひ!

sadayoshi-tada.hatenablog.com

sadayoshi-tada.hatenablog.com

sadayoshi-tada.hatenablog.com

sadayoshi-tada.hatenablog.com

ギルド型組織「データラーニングギルド」への参加した経緯と来年の抱負

タダです.

この記事は,データ分析人材のキャリア(データラーニングギルド)アドベントカレンダーの11日目の記事になります.先月からオンラインサロンの「データラーニングギルド」に参加させてもらっているのですが,今回は参加した経緯と来年の活動予定(抱負)を書いていきたいと思います.

qiita.com

データラーニングギルドとは

データラーニングギルド」とは,データ分析のキャリア形成していく同じ志を持つ仲間を見つけたり,データ分析で勉強した知識を試す機会を得られたりとデータ分析の文脈において幅広い活動をすることができるコミュニティです.公式サイトでは下記の引用文で説明されています.

当ギルドでは、そんなデータ分析人材が活躍できるようにするため、互いに情報を交換しながらキャリア構築をしていく環境、学習や仕事の獲得できる仕組み、実際の課題や実データなど、ありとあらゆるものを提供して行きます。

data-learning.com

コミュニティに参加した経緯

僕が「データラーニングギルド」に参加した経緯として,データ分析の分野への興味がもともとあるのですがどうキャリア形成していけばいいか,また勉強した知識を実践する力を養っていきたいと考えたからです.そもそもデータ分析分野への興味を持ったのはクラウドに関わる仕事をしていて,クラウドを基盤にした分析やデータの活用の領域に自分が強くなることでクラウドの利活用ができ,お客様にも価値提供していきたいという想いからです.また,難しい分野(データ分析にまつわる技術)を理解し技術を扱えるようになるのが自分のモチベーションの源泉の1つです.

ただ,実務でデータ分析の専門知識や経験を積んでいくことは直接関わる業務を扱っているわけではないため,先に業務に携わる方々からキャリア形成のための情報を得たり,インプットしてきた知識をどう活かせばデータ分析の実践力を磨けるのかを学びたいと思い参加させてもらっています.

来年の活動予定について

先月からデータラーニングギルドに参加したので,これから(来年以降)どんな活動をしていきたいかについて自分の気持ちを整理しておきます. 「データラーニングギルド」でデータ分析において来年注力したいと考えていることが2つあります.

技術のインプットとキャリア形成の明確化

1つ目は,データサイエンティストのオンライン入門講座の受講による技術力のインプットとキャリア形成の明確化です.データラーニングギルドに参加した理由の1つであるキャリア形成の部分ですね.データ分析の文脈でいろんな書籍やネットの情報を見てきました.ただ,どうキャリア形成していくかが明確になっていなかったところを実務に携わる,村上さんの講座を受けながらインプットで実務に生かす技術を学ばせていただきつつ,メンタリングもしていただけるので自分が曖昧だったキャリアをどう築くかを明確化していきたいと考えています.

twitter.com

Kaggle への参加とメダルの獲得

2つ目は,Kaggle への積極的な参加とメダル獲得です.1つ目でインプットした能力を実際にアウトプットしていく経験を来年にたくさん積んでいきたいと考えています.既にギルドの有志の皆さんと以下のコンペに参加させてもらっているのですが,他の方はバシバシ進めているものの自分はまだまだなので,様々なコンペへ参加して実践の場を増やしたいです.

www.kaggle.com

そしてゆくゆくは1つの目標としてメダルを取れるほどの技術力を養っていきたいです.

まとめ

データラーニングギルド」の参加した経緯と,来年への抱負を記事にまとめました.「データラーニングギルド」の活動を通じて今年以上に自分がやりたいと思ったデータ分析の技術を磨いていきたいです.

re:Invent 2019 のアップデート情報をキャッチアップするためのリンク集

タダです.

re:Invent 2019 が終わりました.今年も re:Invent の開催前から怒涛のサービスアップデートや機能アップデートアナウンスがあり,本編の Keynote でも発表が行われたりとまさにお祭りイベントを象徴する出来事ばかりだったと思います.あまりにたくさんのアップデートにキャッチアップが追いついていない人やキャッチアップしなきゃと焦りを感じている人もいるのではと思います.僕もその一人としてこの記事で re:Invent のアップデートに関する情報を集めたり,整理していくためのリンクをまとめられればと思います.

急いで情報を追いたい人向け

まずは,概要レベルでもいいので急いで情報を追いたい方向けの各種リンクです.

AWSJ 公式サイトトップページ

AWSJ 公式サイトではトップページに re:Invent で発表されたサービス一覧を用途ごとに紹介しています.どんな用途のサービスがアナウンスされたかを知るために有用かと思います.

aws.amazon.com

20191206 AWS Black Belt Online Seminar AWS re:Invent 2019 アップデート速報

AWSJ さんによるスライドでアップデートを振り返ることができます.急ぎでかつ概要を移動中にも終えるので導入の情報として最適です.ただ,見てもらうとわかるのですが230Pのスライドになっているため根負けしないのが第一条件ですw

www.slideshare.net

AWS re:Invent アップデート速報

AWSJ さんのブログです.日毎にまとめられているので,どの日にどんなップデートがあったかをさらうことができます.

re:Invent 2019 12月1日のまとめ aws.amazon.com

re:Invent 2019 12月2日のまとめ aws.amazon.com

re:Invent 2019 12月3日のまとめ aws.amazon.com

re:Invent 2019 12月4日のまとめ aws.amazon.com

re:Invent 2019 12月5日のまとめ aws.amazon.com

Developers.IO AWS re:Invent 2019 – シリーズ –

クラスメソッドさんの re:Invent 期間中のセッションや各種イベントに参加されたレポート記事も現地の情報をさらうのにオススメです.約80人近く参加されていた記憶なので充実度が高いです.すごい.

dev.classmethod.jp

じっくり情報を追いたい人むけ

続いて,じっくりと時間をかけてでもアップデートをさらいたい方向けの各種リンクの紹介です.

YouTube の動画

Keynote

まず, Andy Jassy 氏や Werner Vogels 氏による Keynote 動画です.re:Invent の目玉アップデートは Keynote でまとめて紹介されます.そのため,背景やどう行った取り組みによって生まれたアップデートかを追うためには Keynote でじっくり追うことが可能です.ただ,全編が英語かつ,長いものは2時間以上の動画になっているのでその点は注意です.余談ですが,本編の導入前に小ネタを挟むようになったんだなーと思いましたw

AWS re:Invent 2019 - Monday Night Live with Peter DeSantis www.youtube.com

AWS re:Invent 2019 - Keynote with Andy Jassy www.youtube.com

2019 re:Invent Global Partner Keynote with Doug Yeum www.youtube.com

AWS re:Invent 2019 - Keynote with Dr. Werner Vogels www.youtube.com

Session

各 Session に関する動画です.英語の動画のため内容が追いきれないものはクラスメソッドさんのセッション記事と合わせて読むと良いと思います.

AWS re:Invent 2019 Breakout Sessions | AWS Community 再生リスト

AWS re:Invent 2019 Breakout Sessions | Global Partner Summit 再生リスト

AWS re:Invent 2019 Breakout Sessions | Sponsorship 再生リスト

Podcast

AWS 公式 Podcast です.こちらも英語にはなりますが,移動中の聞き流しに最適です.

#346: AWS re:Invent 2019 Episode 1 aws.amazon.com

#347: AWS re:Invent 2019 Episode 2 aws.amazon.com

#348: AWS re:Invent 2019 Episode 3 aws.amazon.com

#349: AWS re:Invent 2019 Episode 4 aws.amazon.com

まとめ

re:Invent 2019 でのアップデートをキャッチアップするための情報源をまとめました.他の媒体でも言及されているものがありますが,公式の情報を中心に整理していきました.この記事が何かの情報収集の一助になれば嬉しいです!