Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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.4k
AWSAmplifyHappyDev.pdf
Koji Ishida
May 21, 2019
Tweet
Share
More Decks by Koji Ishida
See All by Koji Ishida
サーバレスでDynamoDBレスなIoTアプリ開発
kojiisd
0
610
ぼんやりとしてたサーバレスアプリの監視を本格的に行おうとした話
kojiisd
0
770
はじめてのCloudFormation
kojiisd
0
1.9k
機械学習で異常や障害予兆を検出
kojiisd
1
1.3k
Other Decks in Technology
See All in Technology
Data Hubグループ 紹介資料
sansan33
PRO
0
2.3k
Modern Data Stack大好きマンが語るSnowflakeの魅力
sagara
0
280
タグ付きユニオン型を便利に使うテクニックとその注意点
uhyo
2
640
ML PM Talk #1 - ML PMの分類に関する考察
lycorptech_jp
PRO
1
530
GitLab Duo Agent Platformで実現する“AI駆動・継続的サービス開発”と最新情報のアップデート
jeffi7
0
160
AI駆動開発によるDDDの実践
dip_tech
PRO
0
290
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
48k
オープンデータの内製化から分かったGISデータを巡る行政の課題
naokim84
2
1.3k
Multimodal AI Driving Solutions to Societal Challenges
keio_smilab
PRO
1
120
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
290
AI (LLM) を活用する上で必須級のMCPをAmazon Q Developerで学ぼう / 20251127 Ikuma Yamashita
shift_evolve
PRO
2
100
あなたの知らないDateのひみつ / The Secret of "Date" You Haven't known #tqrk16
expajp
0
110
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
GraphQLとの向き合い方2022年版
quramy
50
14k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.2k
Mobile First: as difficult as doing things right
swwweet
225
10k
A Tale of Four Properties
chriscoyier
162
23k
What's in a price? How to price your products and services
michaelherold
246
12k
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