Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Masahiro NAKAYAMA
PDF, PPTX
348 views
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
セキュリティ・キャンプ全国大会2021 オンライン 分散アーキテクチャ時代におけるWebシステムの開発と運用 ハッカソンについて
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 17
2
/ 17
3
/ 17
4
/ 17
5
/ 17
6
/ 17
7
/ 17
8
/ 17
9
/ 17
10
/ 17
11
/ 17
12
/ 17
13
/ 17
14
/ 17
15
/ 17
16
/ 17
17
/ 17
More Related Content
PDF
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
by
Masahiro NAKAYAMA
PDF
サーバーレス時代の システム設計ワークショップ
by
Masahiro NAKAYAMA
PDF
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
by
Masahiro NAKAYAMA
PDF
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
by
Masahiro NAKAYAMA
PDF
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
by
Masahiro NAKAYAMA
PDF
さくらのクラウド サービス開発とデータセンター運用
by
SAKURA Internet Inc.
PPTX
Running Kubernetes on Azure
by
Masaki Yamamoto
PPTX
Microsoft Ignite Fall 2021 Data Platform Update Topics
by
Microsoft
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
by
Masahiro NAKAYAMA
サーバーレス時代の システム設計ワークショップ
by
Masahiro NAKAYAMA
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
by
Masahiro NAKAYAMA
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
by
Masahiro NAKAYAMA
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
by
Masahiro NAKAYAMA
さくらのクラウド サービス開発とデータセンター運用
by
SAKURA Internet Inc.
Running Kubernetes on Azure
by
Masaki Yamamoto
Microsoft Ignite Fall 2021 Data Platform Update Topics
by
Microsoft
What's hot
PDF
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021
by
Rie Moriguchi
PPTX
深層学習 環境構築 Azure
by
Yuki Hattori
PDF
Sb tech night#1_document_otsuki_202104
by
YusukeOtsuki
PPTX
Azure Virtual WANで革新する企業ネットワークの新形態
by
Takashi Ushigami
PDF
【de:code 2020】 Azure インフラ 最新アップデート!!
by
日本マイクロソフト株式会社
PDF
マイクロソフトが進めるBlockchain as a Serviceについて
by
Kazumi Hirose
PDF
物理ネットワーク受け入れテストの自動化を考える
by
skipping classes
PDF
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
by
Daisuke Masubuchi
PDF
Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!
by
Masahiko Ebisuda
PDF
.NET Micro Framework (プラレールと電子工作)
by
Akira Hatsune
PDF
クラウドで消耗してませんか?
by
IIJ
PPTX
Windows 女子部主催 「デプロイ王子のクラウド寺子屋」(女性限定) 第0回資料
by
Kazumi Hirose
PDF
【de:code 2020】 Azure インフラ 最新アップデート!!
by
日本マイクロソフト株式会社
PDF
クラウド時代にこそ求められるIt部門の役割
by
Yusuke Oi
PDF
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
by
Kazumi OHIRA
PDF
Azureでmicroservicesに触れてみる
by
Kazunori Hamamoto
PDF
Inovation EGG第4回 SoftLayerと日本SoftLayerユーザグループ紹介
by
Hideaki Tokida
PDF
C#ユーザー会 //build/ まとめ(サーバー編)
by
Keiji Kamebuchi
PDF
Fin-JAWS 2020-12-09 - 1年を振り返る公開自己業績評価レビュー
by
Yutaro Ono
PDF
Microsoft MVP から見たクラウド サービスの現状と今後について
by
IIJ
Microsoft MVP/Regional Director x Microsoft Japan Digital Days #MSDD2021
by
Rie Moriguchi
深層学習 環境構築 Azure
by
Yuki Hattori
Sb tech night#1_document_otsuki_202104
by
YusukeOtsuki
Azure Virtual WANで革新する企業ネットワークの新形態
by
Takashi Ushigami
【de:code 2020】 Azure インフラ 最新アップデート!!
by
日本マイクロソフト株式会社
マイクロソフトが進めるBlockchain as a Serviceについて
by
Kazumi Hirose
物理ネットワーク受け入れテストの自動化を考える
by
skipping classes
2020 年も最高のゲームをつくろう! Game Stack でゲーム開発をしよう! ~ マルチプレイサーバー編 ~
by
Daisuke Masubuchi
Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!
by
Masahiko Ebisuda
.NET Micro Framework (プラレールと電子工作)
by
Akira Hatsune
クラウドで消耗してませんか?
by
IIJ
Windows 女子部主催 「デプロイ王子のクラウド寺子屋」(女性限定) 第0回資料
by
Kazumi Hirose
【de:code 2020】 Azure インフラ 最新アップデート!!
by
日本マイクロソフト株式会社
クラウド時代にこそ求められるIt部門の役割
by
Yusuke Oi
IoT Edge and Serverless playground with Node.js ~ IoT EdgeとサーバレスをNode.jsで遊ぶ実験ノート
by
Kazumi OHIRA
Azureでmicroservicesに触れてみる
by
Kazunori Hamamoto
Inovation EGG第4回 SoftLayerと日本SoftLayerユーザグループ紹介
by
Hideaki Tokida
C#ユーザー会 //build/ まとめ(サーバー編)
by
Keiji Kamebuchi
Fin-JAWS 2020-12-09 - 1年を振り返る公開自己業績評価レビュー
by
Yutaro Ono
Microsoft MVP から見たクラウド サービスの現状と今後について
by
IIJ
Similar to ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
PPTX
第2章アーキテクチャ
by
Kenta Hattori
PDF
Developers [Social Enterprise] Summit 2012 A1
by
Kohei Kumazawa
PPTX
Distributed Systems 第1章 Introduction
by
aomori ringo
PDF
【B-3】 社内ソーシャルメディア開発トライ&エラー ~おれたちの4tate~ 原島法子氏/岩永義弘氏
by
Developers Summit
PDF
インフラセキュリティブートキャンプ #seccamp
by
Masahiro NAKAYAMA
PDF
【18-C-3】システムアーキテクチャ構築の実践手法
by
Developers Summit
PDF
オープンイノベーション:ハッカソンから学ぶこと (in Japanese)
by
Toshihiko Yamakami
PDF
ただいま三河。あれから1年、チームNOCKncokが開発しないスクラムで成果を出した経験から得た学び
by
IIJ
PDF
浪江ハッカソンスライド
by
Code for Japan
PDF
さくらのひやおろし
by
法林浩之
PPTX
これからのOpenShiftの話をしよう
by
Kazuto Kusama
KEY
Force.com developers meetup #2 夏サミ、そしてソーシャル・エンタープライズを考える
by
Akira Kuratani
PDF
ハッカソン_2022冬の陣用
by
naokihirahara1
PPTX
Webシステムプログラミング概要20150630
by
義広 河野
PPTX
Webシステムプログラミング20161003
by
義広 河野
PDF
インターフェースから良くなる社会 ~UI/UXのしくみ入門~ | 早稲田塾 未来発見プログラム 2025年7月23日〜 8月1日
by
Yoshiki Hayama
PDF
Devsumi2013 community
by
Developers Summit
PDF
クラウドセキュリティ基礎
by
Masahiro NAKAYAMA
PDF
全てのエンジニアのためのWeb標準技術とのつきあい方 OSC名古屋 2012版
by
Rikkyo University
PDF
Howtelevision intern
by
masatora atarashi
第2章アーキテクチャ
by
Kenta Hattori
Developers [Social Enterprise] Summit 2012 A1
by
Kohei Kumazawa
Distributed Systems 第1章 Introduction
by
aomori ringo
【B-3】 社内ソーシャルメディア開発トライ&エラー ~おれたちの4tate~ 原島法子氏/岩永義弘氏
by
Developers Summit
インフラセキュリティブートキャンプ #seccamp
by
Masahiro NAKAYAMA
【18-C-3】システムアーキテクチャ構築の実践手法
by
Developers Summit
オープンイノベーション:ハッカソンから学ぶこと (in Japanese)
by
Toshihiko Yamakami
ただいま三河。あれから1年、チームNOCKncokが開発しないスクラムで成果を出した経験から得た学び
by
IIJ
浪江ハッカソンスライド
by
Code for Japan
さくらのひやおろし
by
法林浩之
これからのOpenShiftの話をしよう
by
Kazuto Kusama
Force.com developers meetup #2 夏サミ、そしてソーシャル・エンタープライズを考える
by
Akira Kuratani
ハッカソン_2022冬の陣用
by
naokihirahara1
Webシステムプログラミング概要20150630
by
義広 河野
Webシステムプログラミング20161003
by
義広 河野
インターフェースから良くなる社会 ~UI/UXのしくみ入門~ | 早稲田塾 未来発見プログラム 2025年7月23日〜 8月1日
by
Yoshiki Hayama
Devsumi2013 community
by
Developers Summit
クラウドセキュリティ基礎
by
Masahiro NAKAYAMA
全てのエンジニアのためのWeb標準技術とのつきあい方 OSC名古屋 2012版
by
Rikkyo University
Howtelevision intern
by
masatora atarashi
More from Masahiro NAKAYAMA
PDF
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
by
Masahiro NAKAYAMA
PDF
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
by
Masahiro NAKAYAMA
PDF
#ssmjp 2018/12 技術系同人誌を手に入れよう
by
Masahiro NAKAYAMA
PDF
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
by
Masahiro NAKAYAMA
PDF
クラウドでハンズオンする話 #ssmjp
by
Masahiro NAKAYAMA
PPTX
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
by
Masahiro NAKAYAMA
PDF
Serverless book
by
Masahiro NAKAYAMA
PDF
クラウドではじめるリアルタイムデータ分析 #seccamp
by
Masahiro NAKAYAMA
PPTX
技術系同人誌を書こう #ssmjp
by
Masahiro NAKAYAMA
PDF
「サーバレスの薄い本」からの1年 #serverlesstokyo
by
Masahiro NAKAYAMA
PDF
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
by
Masahiro NAKAYAMA
PDF
IoT(Bluetooth mesh) × サーバーレス
by
Masahiro NAKAYAMA
PDF
Serverless Architecture Overview #cdevc
by
Masahiro NAKAYAMA
PDF
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
by
Masahiro NAKAYAMA
PDF
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
by
Masahiro NAKAYAMA
PDF
Mastdonインスタンス立ててみた in Azure #ssmjp
by
Masahiro NAKAYAMA
PDF
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
by
Masahiro NAKAYAMA
PDF
20分でおさらいするサーバレスアーキテクチャ 「サーバレスの薄い本ダイジェスト」 #serverlesstokyo
by
Masahiro NAKAYAMA
PDF
SORACOM Funnelで手抜きIoTプラットフォーム #ssmjp
by
Masahiro NAKAYAMA
PDF
クラウドセキュリティ基礎 #seccamp
by
Masahiro NAKAYAMA
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
by
Masahiro NAKAYAMA
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
by
Masahiro NAKAYAMA
#ssmjp 2018/12 技術系同人誌を手に入れよう
by
Masahiro NAKAYAMA
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
by
Masahiro NAKAYAMA
クラウドでハンズオンする話 #ssmjp
by
Masahiro NAKAYAMA
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
by
Masahiro NAKAYAMA
Serverless book
by
Masahiro NAKAYAMA
クラウドではじめるリアルタイムデータ分析 #seccamp
by
Masahiro NAKAYAMA
技術系同人誌を書こう #ssmjp
by
Masahiro NAKAYAMA
「サーバレスの薄い本」からの1年 #serverlesstokyo
by
Masahiro NAKAYAMA
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
by
Masahiro NAKAYAMA
IoT(Bluetooth mesh) × サーバーレス
by
Masahiro NAKAYAMA
Serverless Architecture Overview #cdevc
by
Masahiro NAKAYAMA
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
by
Masahiro NAKAYAMA
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
by
Masahiro NAKAYAMA
Mastdonインスタンス立ててみた in Azure #ssmjp
by
Masahiro NAKAYAMA
クラウドセキュリティ基礎 @セキュリティ・ミニキャンプ in 東北 2016 #seccamp
by
Masahiro NAKAYAMA
20分でおさらいするサーバレスアーキテクチャ 「サーバレスの薄い本ダイジェスト」 #serverlesstokyo
by
Masahiro NAKAYAMA
SORACOM Funnelで手抜きIoTプラットフォーム #ssmjp
by
Masahiro NAKAYAMA
クラウドセキュリティ基礎 #seccamp
by
Masahiro NAKAYAMA
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
1.
【B3】 分散アーキテクチャ時代における Webシステムの開発と運用 講師 仲山 昌宏・齋藤
徳秀 セキュリティ・キャンプ全国大会2021 オンライン ハッカソンについて
2.
2 今日のハッカソンについて • お題 • サンプルアプリをベースに 複数のユーザーがコミュニケーションできる 高信頼なWebシステムを想定してつくってください •
例:Twitterクローン • やってほしいこと • 具体的なユースケースを決める • 大規模な利用を想定し、スケーラビリティやセキュリティにおいて なにが課題となるかを考える • それを解決する設計を示し、できるかぎり実装しそれを検証する • 実装はモブプログラミング形式で全員参加する • どんな設計をしたかを全体で発表する みんながんばれ
3.
3 ハッカソンの進め方 • 序盤 • 最初の30分でお互いを知る •
その次の30分で何をつくるか決める • ➡ モブプログラミングに慣れよう • 中盤 • うまくポイントを絞って作り込もう • 終盤 • 魅せポイントを作りきる • デモ&発表準備!
4.
4 発表について • 持ち時間15分で発表してください • 発表者は代表一人、複数人持ち回り、どちらでもOK •
Googleスライドで発表資料を作成、SlackでURL共有 • 面白くてOKですが過度にネタに走らなくてよいです • 発表しているチーム以外の人は、 シートを用意するのでコメントを書いてください • 可能であれば作ったもののデモを入れてください • ラスト1時間くらいから手を付けはじめると良いです
5.
5 発表について • 必ず入れて欲しい内容 • 想定した利用ケースと、スケーラビリティ・セキュリティ上の課題 •
その課題を解決するために考えた設計 • どこまで実装できたか、検証できたか • ヒント • 設計を数値で裏付ける • コストとユースケースのバランスを取る • 実装してわかった課題に立ち向かう • 運用時の視点を持つ
6.
6 👀👀 今回のデモアプリについて • サーバーレスアーキテクチャで構成された 簡単なタイムライン型SNS(Twitterのようなもの) の基本部分が実装されています。 •
含まれている機能 • DynamoDBへの保存と読み込み • S3へのファイル保存 • Auth0/JWTによる認証・認可 ここには、補足情報を書 いていきます。
7.
7 全体像 Netlify HTML/JS API Gateway AWS
Lambda GET API POST API JWT Authorizer Auth0 ブラウザ クライアント アプリ API呼出し 認証 Userinfo API S3 画像 画像保存 DynamoDB
8.
8 Frontend • Auth0のサンプルアプリをベースにしています • https://github.com/auth0-samples/auth0-javascript-samples •
素のJavaScriptで実装 • 3つのAPI呼び出しを実装 • ログイン中ユーザーの投稿一覧(GET /) • ユーザー名を指定した投稿一覧(GET /?user=username) • 新規投稿(POST /) • UIまわり注意ポイント • SPAで画面切り替え • class="page”がタブの中身 • public/_redirectsで /profileにindex.htmlを返すよう設定
9.
9 API • ポイント • 投稿をDynamoDBに保存、画像をS3に保存 •
JWT AuthorizerでAuth0のトークンを検証 • userinfo APIでログインユーザーの情報を取得 • Serverless Frameworkで必要リソースを管理 • DynamoDBテーブル • S3バケット
10.
10 DynamoDB • スケーラブルな分散データベース • ドキュメント指向の キーバリューストア(KVS) •
必須のパーティションキー を指定してデータを取得 • 追加でソートキーも 指定可能 https://d1.awsstatic.com/events/jp/2017/summit/slide/D3T3-4.pdf https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt- online-seminar-2018-amazon-dynamodb-advanced-design-pattern
11.
11 DynamoDB • 読み込み/書き込みそれぞれ「CapacityUnits」で 「確保する性能」を設定 • 読み込み:1秒あたりの読み込み項目数
x 項目のサイズ • 書き込み:1秒あたりの書き込み項目数 x 項目のサイズ • 設定より多く利用されたらエラーが返る • サンプルアプリでは読み書きどちらも1(最小値) • 追加のインデックス • LSI:規定のソートキーに加えて別のキーのインデックス • GSI:パーティションを跨いだインデックス • 詳しくはAWSの資料を参照 • https://www.slideshare.net/AmazonWebServicesJapan/20170809-black-belt- dynamodb • https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar- 2018-amazon-dynamodb-advanced-design-pattern • https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentCli ent.html (API) たとえば、フォローして いる全員の新着投稿を 一気に取得したいなら、 どのようにデータモデル を設計すれば良いでしょ うか。 GSIなど追加インデック スは便利ですが、使い方 によっては費用が2倍に なってしまったりします。 仕様とコストをどのよう にうまく設計するのが 腕の見せ所です。
12.
12 DynamoDB • サンプルアプリでは以下のように使用 • パーティショニングキー:username(文字列) •
ソートキー:created_at(数値) ※unixtimeを格納 • パーティショニングキー(username)を指定してアクセス • LSI/GSIは使用せず • 読み込み時にScanIndexForward: falseでソートキー逆順 サンプルアプリではPut とQueryを投げていま す。ソートキーまで指定 すればGetができます。
13.
13 S3 • 投稿された画像を保存 • Lambdaから記録、表示はS3から直接提供 •
username_timestamp • 保存時にACL: 'public-read’を指定することで 認証無しでの読み込み可能に • 保存後に画像URLをDynamoDBに保存 Lambda経由のアップ ロードには、その仕様に よってファイルサイズの 制限などの制限が発生 します。 たとえばブラウザから S3に直接アップロード するように作る事もで きます。
14.
14 Auth0 • 認証(auth0-spa-js) • OpenID
Connectで認証 • Auth0 SDKがローカルストレージに状態格納 • API認可 • auth0.getTokenSilently()でアクセストークン取得 • アクセストークンをヘッダに入れてAPIリクエスト • API側はJWT Authorizerでアクセストークンを検証 • ログインユーザー情報取得 • アクセストークンを使ってAuth0のuserinfo API呼び出し ログイン周りはapp.js の8行目以降、API呼び 出しは79行目以降にあ ります。 細かい面倒な部分は auth0-spa-jsがやっ てくれるので、自前で実 装するのはアクセストー クンを使ってAPIを投げ る部分くらいです。
15.
15 モブプログラミング • チーム「全員」で 「同じ作業」に立ち向かう • 分担では無く共同作業 https://speakerdeck.com/takaking22/mob-programming-startup-manual-number-mobprogramming-number-mobupuro
16.
16 モブプログラミング • 15~20分くらいでドライバー(操作担当)を交代 ⇒いつでも作業を共有できる状態を保つことが重要 • 作業内容はどんどんGitHubに上げていく •
議論や結論もその場でドキュメントに書いて共有 • JamboardやGoogle Documentを活用 • 苦手な作業はチーム内で手助けしあう(暗黙知の共有)
17.
17 ⏱おしながき 08:30~09:30 講義(1) //
Azaraさん担当回 09:30~10:00 ハッカソン説明 10:00~12:30 ハッカソン 12:30~13:30 おひるやすみ 13:30~14:30 講義(2) // 仲山担当回 14:30~16:20 ハッカソンのつづき 16:30~17:15 発表×3チーム 17:15~17:30 まとめ
Download