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
2.5k
1
Share
AWSAmplifyHappyDev.pdf
Koji Ishida
May 21, 2019
More Decks by Koji Ishida
See All by Koji Ishida
サーバレスでDynamoDBレスなIoTアプリ開発
kojiisd
0
630
ぼんやりとしてたサーバレスアプリの監視を本格的に行おうとした話
kojiisd
0
800
はじめてのCloudFormation
kojiisd
0
1.9k
機械学習で異常や障害予兆を検出
kojiisd
1
1.4k
Other Decks in Technology
See All in Technology
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
Ruby::Boxでできること、Refinementsでできること
joker1007
3
380
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
180
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
350
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
0
250
Claude code Orchestra
ozakiomumkj
3
940
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
710
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
240
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
50k
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.9k
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
100
MIERUNE JCT 発表資料「宇宙から伊能忠敬ごっこ」
syuchimu
0
170
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Building the Perfect Custom Keyboard
takai
2
780
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
240
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.6k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
160
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
190
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Amusing Abliteration
ianozsvald
1
190
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