TypeScriptとAWS CDKでクラウドアプリケーション開発

Dcd8d2922d2093439e952af63914940e?s=47 Ryu
October 01, 2020

TypeScriptとAWS CDKでクラウドアプリケーション開発

Think ! FrontEnd #2 で登壇した資料です。

Dcd8d2922d2093439e952af63914940e?s=128

Ryu

October 01, 2020
Tweet

Transcript

  1. TypeScript と AWS CDK で
 クラウドアプリケーション開発 
 プラットフォーム事業本部 ペイメントサービス部所属
 小林

    龍太郎

  2. 自己紹介 小林龍太郎 (Ryutaro Kobayashi)
 所属:プラットフォーム事業本部
 ペイメントサービス部 決済グループ
 19新卒入社 エンジニア
 趣味:バイク、キャンプ、アニメ


    主にサーバーサイド開発 Java・Kotlin
 @Ryuk236
 @Ryu236

  3. 1. オンプレからクラウド移行 2. 3. による開発 4. 開発したアプリケーション 5. まとめ 目次

  4. 1. オンプレからクラウド移行 2. 3. による開発 4. 開発したアプリケーション 5. まとめ クラウドへのリプレイス

  5. オンプレからクラウド移行 多くのシステムはオンプレで動いている。 現状のシステムをクラウド( )へ移行を進めている。

  6. 開発したいアプリケーション オンプレで稼働している サーバーをクラウド移行 方針 既存の をラップした形でクラウドに を構築 その後、既存の処理をクラウドに移行していく 今回お話するのは ここ!

  7. クラウド移行の課題 オンプレを扱うインフラチームがあるが、クラウド環境は自分たちで構築・運用を していく必要がある。 を利用して リソースの構築を楽にやりたい。 チームメンバーがアプリケーションエンジニア

  8. クラウド移行の課題 オンプレを扱うインフラチームがあるが、クラウド環境は自分たちで構築・運用を していく必要がある。 を利用して リソースの構築を楽にやりたい。 チームメンバーがアプリケーションエンジニア AWS CDK

  9. 1. オンプレからクラウド移行 2. 3. による開発 4. 開発したアプリケーション 5. まとめ とは

  10. などのプログラミング言語を使用して、 リソースをデプロ イが可能。( ) 内部では テンプレートを作成し、そのテンプレートを使 用してデプロイ。

  11. 年 月 日 オープンソースソフトウェア(aws/aws-cdk) テストコードが書ける デプロイは コマンド つで実施可能

  12. コマンド

  13. を選んだ理由 一般のプログラミング言語で リソース構築が可能。 アプリケーションコードも一緒に書ける。 より少ないコード量になる。

  14. 1. オンプレからクラウド移行 2. 3. による開発 4. 開発したアプリケーション 5. まとめ でアプリ開発

  15. で なぜ にしたのか? 静的型付けが可能 クラスベースオブジェクト指向 との互換性、ライブラリやツールなどが使用可能 フロントエンドもサーバーサイドの開発も可能 → 言語を統一して開発効率を上げれる

  16. 開発体制 自分は ・ ( )をほぼ触ったことがない コロナの影響で突然フルリモート 他のチームメンバーに教えてもらいながら開発したい

  17. 開発体制 開発初期はモブプログラミングを実施 ・ :  コードの共有: ・画面の共有 通話: ・ コードフォーマット:

  18. 1. オンプレからクラウド移行 2. 3. による開発 4. 開発したアプリケーション 5. まとめ サーバーレスアプリケーション

  19. アーキテクチャ Amazon Web Services、“Powered by AWS”ロゴ、[およびかかる資料で使用されるその他のAWS商標] は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。 TypeScript で実装

  20. アプリケーションログ Amazon Web Services、“Powered by AWS”ロゴ、[およびかかる資料で使用されるその他のAWS商標] は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。

  21. を使用 単体テストの自動実行 テストライブラリ: 自動でデプロイ  それぞれの環境用(ステージングや本番など)のブランチを作成し、そのブラン チにマージを行うと へデプロイ実行。

  22. インテグレーションテスト の Schedule Jobs 機能を使用して インテグレーションテストを定期実行。毎日テスト結果を確認。 API

  23. と での開発 アプリケーションコードと 環境構築の両方を、 で開発 で型チェックや、コード補完を用いた開発 コマンドで簡単デプロイ( で自動化)

  24. 1. オンプレからクラウド移行 2. 3. による開発 4. 開発したアプリケーション 5. まとめ まとめ

  25. まとめ と を使用することで、 リソース作成と アプリケーション開発の両方を効率よく行えた。 は便利なツール による開発で型やクラスを使用した開発は良い! の可能性

  26. 開発で大変な だった こと のバージョンアップが早い 週間に最低 回以上リリース の知識が必要 (個人的) と の両方の学習・

    に慣れるのに時間がかかった
  27. で などのリソース構 築が可能 と のみ対応 現在はまだ 版 (hashicorp/terraform-cdk)

  28. None
  29. None