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
近頃若者のサーバー離れが深刻化しています
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Mitsuzono Hiroto
November 28, 2018
Technology
1.1k
0
Share
近頃若者のサーバー離れが深刻化しています
2018/11/28 Alternative Architecture DOJO Offline #1
Mitsuzono Hiroto
November 28, 2018
More Decks by Mitsuzono Hiroto
See All by Mitsuzono Hiroto
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
810
ここらでGPSマルチユニットが如何に使いやすいか本気で説明するから聞きなさい
mitsuzono
0
1.6k
Application insightsを用いてAzure AD B2Cをより使いこなす
mitsuzono
0
660
Application Insights と KQL
mitsuzono
0
640
LINE Messaging API メッセージ送受信とアカウント連携まわり
mitsuzono
0
130
Application Insights と Cosmos DB ―たかがTips、そう思ってないですか?―
mitsuzono
0
88
新卒、ヘルキャンプとデスマーチへの挑戦
mitsuzono
0
510
Other Decks in Technology
See All in Technology
Terragrunt x Snowflake + dbt で作るマルチテナントなデータ基盤構築プラットフォーム
gak_t12
0
170
データモデリング通り #5オンライン勉強会: AIに『ビジネスの文脈』を教え込むデータモデリング
datayokocho
0
280
"スキルファースト"で作る、AIの自走環境
subroh0508
0
510
(きっとたぶん)人材育成や教育のような何かの話
sejima
0
750
20260516_SecJAWS_Days
takuyay0ne
2
430
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.6k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
100k
Fラン学生が考える、AI時代のデザインに執着した突破口
husengs7
1
100
おいらのAWSアップデートの追い方〜Slack×AgentCore〜
yakumo
1
110
20260515 ID管理は会社を守る大切な砦!〜🔰情シス向け〜
oidfj
0
570
freeeで運用しているAIQAについて
qatonchan
1
630
The Bag-of-Documents Model for Query Understanding and Retrieval
dtunkelang
0
130
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
140
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
How to make the Groovebox
asonas
2
2.2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
190
Building Flexible Design Systems
yeseniaperezcruz
330
40k
The SEO identity crisis: Don't let AI make you average
varn
0
460
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Transcript
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 近頃若者のサーバー離れが深刻化しています 株式会社オルターブース
満園 裕人 古野 新悟
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • 株式会社オルターブース
エンジニア • C#とPHPを使ったWebアプリケーションの開発 • 自社サービスの開発もメインで携わる • 今年のISUCONダメだったので来年に向けて修行中… 自己紹介 満園 裕人
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • 株式会社オルターブース
エンジニア • 主にC#とPHPを使った開発を行う • KOSMISCHをなどの自社サービスの開発に携わる • 機械学習やディープラーニングに興味あり • 1児の父。娘ラブ! 自己紹介 古野 新悟
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • クラウドネイティブなアーキテクチャを組む際の考慮ポイント
• 開発してて思ったこと • 開発する際に気をつけているポイント • ローカル開発について • 実感した良いところ・気をつけるところ • デモ(Durable Functions) 今日話す内容
クラウドネイティブな アーキテクチャを組む際の 考慮ポイント
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • 基本的にPaaS,FaaS中心で組んでる
• ポータルからポチポチ作ればいきなりアプリをデプロイして動かせる • 環境構築が楽 • 設定回りも楽 • ログ • 環境変数 • アクセスキー • 監視・管理が楽 全体的なアーキテクチャの組み方
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 例:MVCのWebアプリと月次処理 ASP.NET
MVC タイマートリガーで 集計処理を実行
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • 機能的に切り出しできる部分を切り出す
• メール送信、ファイルアップロードなど Serverlessを活用したアーキテクチャの組み方 REST REST フロントJS
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • 1Functionあたりで行う処理は細かくしていく
• 例えばこのAPI叩いてあのAPI叩いて…ということを一つの Functionで行おうとしている場合、必要に応じて切り分ける Serverlessを活用したアーキテクチャの組み方 REST REST REST REST
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • 入口は一つにする
• 「複数の入力形式を受け付けて、内部で判別する」は× • 複数Functionに分けて、内部の処理フローはシンプルにする Serverlessを活用したアーキテクチャの組み方 {JSON} {JSON} {JSON} {JSON}
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 例:DurableFunctionsで月次処理 Blob
CosmosDB Durable Functions REST 月次データ生成 DB格納処理 Blob格納処理 通知処理 結果画面 結果ファイル取得 WebApp WebApp
開発時のTipsなど
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • Functionの入出力データの形式は明確に
• ドキュメントを残す • リクエストやレスポンスのサンプルなど • 環境変数の設定値 • バリデーションの実装 • 問題の切り分けがしやすいよう • リクエストパラメータの不備など • ログの出力により、発生場所を明確に • 複数のリソースを使用するため、どの部分で発生したかを区別す るために細かく出力する 実際の開発におけるポイント
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • これがあると便利
• Postman • ngrok • ローカル上のネットワークサービスを外部公開できる • 使用するツールのバージョンには気をつけましょう • 更新が早いのでツールのバージョンの違いで動かなくなることも 多々 • 各種エミュレータなど • リモートデバッグ実行 • 実際にクラウド上で動いているものを確認できた方が良い ローカル開発環境のポイント
実際に開発して感じたこと
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • サーバー構築・監視の手間を省くことができる
• 機能単位での開発に完全分割できる • 1機能の開発に集中できる • Durable Functionsには数種類の実行パターンがあり、シーンに合わ せて利用できる 良いところ
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • 全体構成は複雑化する
• ひっくり返すと、問題の切り分けはしやすいと言える • 開発チーム内でのドキュメント共有などは、土台を作っておかな いとしぬ • レイテンシ問題 • 速度を重視する場合、ネットワークがネックになる可能性がある 気をつけるポイント
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • アーキテクチャを考えていくうえで、サービス自体を簡素化できる
• 承認フローbotを作ると、承認フローそのものの改善に繋がる • 新しい技術だとブログとかなかなか見つからない • ドキュメント、実装、Issueを見る • 但しドキュメントはローカライズで情報違ったりするので注意 • サポートに問い合わせた方が早い場合もある その他
デモ
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • ローカルデバック中のWebAppからローカルデバック中のFunctions
を実行する • Functionsの動作テストをPostmanなどでしている。 • でも実際に開発中の画面で動作確認をしたい。 • でもAzure Functions の準備は今すぐできない。。。 • でも実装した画面でテストしたい!!! と、思ったことがある方は是非試してみてください。 • Durable Functionsのアンチパターンに触れてみた デモ
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. デモ(ローカルデバック)
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. デモ(アンチパターン)
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Durable Functions
について、もっと知りたいという方は、 弊社松村が発表した資料がありますので、こちらをご覧ください。 【サーバーレスの常識を覆す Azure Durable Functionsを使い倒す】 https://www.slideshare.net/YutaMatsumura/azure-durable- functions-111003205
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • アーキテクチャを組む際は一つ一つをシンプルにしていく
• 新しい技術を扱う場合、公式ドキュメントやその技術の実装内容を追 う力が必要になる • 開発チーム内での情報共有やログ・エラーハンドリングの実装をしっ かり行うことが大事 • PaaSやServerlessをフル活用し開発効率UPと品質向上に繋げる まとめ
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • 触ったことない方はまずHTTPで実行できるFunctionから
• 既に実践してる方は情報交換しましょう まずは実践してみましょう
ご清聴ありがとうございました。