Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWSAmplifyHappyDev.pdf
Search
Koji Ishida
May 21, 2019
Technology
1
2.3k
AWSAmplifyHappyDev.pdf
Koji Ishida
May 21, 2019
Tweet
Share
More Decks by Koji Ishida
See All by Koji Ishida
サーバレスでDynamoDBレスなIoTアプリ開発
kojiisd
0
570
ぼんやりとしてたサーバレスアプリの監視を本格的に行おうとした話
kojiisd
0
740
はじめてのCloudFormation
kojiisd
0
1.9k
機械学習で異常や障害予兆を検出
kojiisd
1
1.3k
Other Decks in Technology
See All in Technology
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
410
Log Analytics を使った実際の運用 - Sansan Data Hub での取り組み
sansantech
PRO
0
180
DeepSeekとは?何がいいの? - Databricksと学ぶDeepSeek! 〜これからのLLMに備えよ!〜
taka_aki
2
210
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
480
AIエージェント開発のノウハウと課題
pharma_x_tech
9
5.7k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
35
24k
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
420
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
230
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
250
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
4
290
「頑張る」を「楽しむ」に変換する技術
tomoyakitaura
8
1.4k
ライフステージの変化を乗り越える 探索型のキャリア選択
tenshoku_draft
2
360
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Docker and Python
trallard
44
3.3k
Fireside Chat
paigeccino
35
3.2k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
It's Worth the Effort
3n
184
28k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Transcript
1 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
AWS Amplify Consoleを使うと 本当に幸せになれるか︖ 2019/05/21 Acroquest Technology Co., Ltd. ⽯⽥ 浩司
2 ⽯⽥ 浩司( @kojiisd) ‒ ミャンマー⽀社CTO (2012 – 2015) 技術カンファレンスでの登壇
‒ JavaOne スピーカー (2015) ‒ JAWS-UG 横浜⽀部参加 (2016) ‒ ミャンマー⽀社CTO (2017 – 2018) ‒ IoTクラウドサービス開発 クラウド/サーバレス /IoT/機械学習 スクラム Copyright © Acroquest Technology Co., Ltd. All rights reserved. Acroquest Technology株式会社 シニアソリューションアーキテクト
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 4
今⽇は開発者⽬線のお話です DevOpsくらいな感じ
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 5
AWS Amplify Console︖
AWS Amplify Consoleとは︖ Copyright © Acroquest Technology Co., Ltd. All
rights reserved. 6 1. 継続的なデプロイによるフルスタックのサーバーレスウェブアプリ ケーションのホスティング
AWS Amplify Consoleとは︖ Copyright © Acroquest Technology Co., Ltd. All
rights reserved. 7 類似サービスには
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 9
この圧倒的CD感
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 10
AWS Amplify Consoleで 開発者は幸せになれるか︖
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 11
無理
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 12
なぜか︖
結局開発者が抱える悩みを解消できそうにない Copyright © Acroquest Technology Co., Ltd. All rights reserved.
13 1. Amplify Consoleを利⽤してみたボクの感想。 ①静的ページのアップロードならお⼿軽に利⽤できそうだ。 – ただ⾃分のプロジェクトはそもそもそんなに単純な構成ではない。 (少なくともサーバサイドの処理があり、SPAがあり、きちんとテストし ないといけない) ②「ビルド→デリバリ」以外の部分は⾃前になるのかな︖ ③メール通知とかドメイン設定とか便利そうだけど、実案件だと使 いどころが少なそう。 ④仮にCI部分を実装しても、結果はログにしか出ないじゃん。結果 を⾒ようとは思えない。可視化必須。 腰が重くなる
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 14
開発者あるある
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 15
どうすればよい︖
16 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
開発者がCI/CDを通して幸せになるには︖ 〜開発者視点からのアプローチ〜 2019/05/21 Acroquest Technology Co., Ltd. ⽯⽥ 浩司
[前提] これからはパイプラインファーストの時代 Copyright © Acroquest Technology Co., Ltd. All rights
reserved. 17 ただエンジニアからすると、どうしても感じてしまう「⼤変さ」 https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/welcome.html 1. パイプラインの設定 2. 静的解析実施設定 3. ユニットテスト実施設定 4. E2E試験設定 これらを開発の中で揃え育て ていくのは「無理」と思って しまう。 静的解析 ユニットテスト E2Eなど +可視化
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 18
どこかできちんと 時間をとってパイプライン組もう プロジェクト開始時の開発者の思考
で、後回しの連続の結果・・・ Copyright © Acroquest Technology Co., Ltd. All rights reserved.
19 1. なかなか⼊れ込めないCI/CD フロー(やる気はある) 2. 頭の⽚隅にCI/CDを置いたま ま開発継続(やる気はある) 3. 最後にNGが出て最低限⼊れ る(やる気はある) 4. 次フェーズでは改善しようと 思う(やる気はある) 5. 次フェーズになっても⼤体時 間はない(やる気はある) あとで 次⼯程で 本気出す 時間ない 次フェーズで
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 20
やる気はある 理解してもらいたいポイント
開発者が感じる「⼤変」ポイント Copyright © Acroquest Technology Co., Ltd. All rights reserved.
21 リポジトリ ビルド (単体試験) 検証環境 (結合試験) 本番環境 継続的インテグレーション 継続的デリバリ デプロイ Amplify Console対応箇所 Amplify Consoleで 対応できるのはココだけ 1.単体試験/E2Eなどを実装時に同時に開発する必要あり。 →遅れが発生するとないがしろになり、後から問題発生のパターン。 2.作成した試験をローカルだけではなくビルドサーバ上で動作させる必要あり。 3.冪等性を保つ試験内容にする必要あり。 etc… 可視化 テストコード実装で 遅れるかもしれない 経験少ないけど 大丈夫か? ネガティブな⼼情
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 22
つまり不安がある 不安=経験がないことの確約 最近の流行りの言葉で言うと心理的安全性が重要
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 23
やれそうな感覚を 開発者が持てることが重要 感覚でいいんです、感覚で
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 24
⾊々な⼿法がありますが、 今回は開発者視点からの アプローチの紹介 そのほかのアプローチ方法はぜひ懇親会で話しましょう。 1)スケジュール調整 2)長期的にみた教育 3)上流工程開発者が啓蒙すべきこと 4)テストサイドからの視点、など
例︓SPAのWebアプリ開発のCI/CD Copyright © Acroquest Technology Co., Ltd. All rights reserved.
25 1. SPA(シングルページアプリケーション)のWebアプリ開発 ① Amazon Cognitoのユーザ管理ができる機能 – フロントエンドにはAngular 7 – バックエンドはPython3系のAWS Lambda + Cognito
例︓SPAのWebアプリ開発のCI/CD Copyright © Acroquest Technology Co., Ltd. All rights reserved.
26 l 開発者の⼼配点 ① テストコードをビルドサーバ上で実⾏する。 ② 画⾯側のシナリオテストをビルドサーバ上で実施する。 ③ 静的解析、各種テスト結果を可視化して⾒えるようにする。 1本通るサンプルがあるだけで不安はだいぶ軽減される(経験則) 作りました
例︓SPAのWebアプリ開発のCI/CD Copyright © Acroquest Technology Co., Ltd. All rights reserved.
27 1. フロントエンドのシナリオテストにKarateを利⽤。レポートはHTML化。 2. バックエンドはPythonのunittestを採⽤。PyUnitReportでHTML化。 3. Amplify Console上で動作確認済み ← 超重要︓⼀本通ってる https://github.com/kojiisd/cognito-user-manager S3へ
例︓SPAのWebアプリ開発のCI/CD Copyright © Acroquest Technology Co., Ltd. All rights reserved.
28 1. でもやっぱりこれを通すのは⼤変なんですよ。 だからサンプルの 存在が重要。 amplify.yml
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 29
DEMO
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 30
今後CI/CDの適⽤、設定に 不安を感じている開発者には
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 31
開発者ならコード読め と、このサンプルを渡してみてください 一本通るサンプルであることを忘れず伝えてね
まとめ Copyright © Acroquest Technology Co., Ltd. All rights reserved.
32 1. 各サービスで対応できる範囲を認識すべし。 2. (今回は開発者視点ですが)不安な部分を取り除く動きを すべし。 ①サンプル渡すとか、⼀本早々に通すサポートするとか。 3. ⻑期的に⾒た⽂化の浸透はまだまだあるので、それは懇親 会で話ができればと思います。
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 33
CI/CDの浸透で Happy Development Evolve the Earth with Emotion of Technology