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
TakeshiNickOsanai
September 27, 2019
Technology
72
0
Share
サーバーレスフレームワークを触って考えた私的まとめ
2019年9月27日「fun-tech meetup #13 みんなのサーバレストーク!」の発表資料です。
TakeshiNickOsanai
September 27, 2019
More Decks by TakeshiNickOsanai
See All by TakeshiNickOsanai
プラットフォーム事業を推進するための開発者マーケティング
takeshinickosanai
0
90
会計freeeのご紹介
takeshinickosanai
0
100
freeeの DevRel 立ち上げから半年を振り返る
takeshinickosanai
0
180
エンジニアの新しいキャリア「DevRel」とは
takeshinickosanai
0
1.1k
20190927プレゼン_API_FY20Q1_.pdf
takeshinickosanai
0
61
freeeで勉強会を開催してみませんか.pdf
takeshinickosanai
0
81
freee API用アカウントとデータを爆速で準備する
takeshinickosanai
0
85
Other Decks in Technology
See All in Technology
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
4
490
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
280
テストコードのないプロジェクトにテストを根付かせる
tttol
0
160
CARTA HOLDINGS エンジニア向け 採用ピッチ資料 / CARTA-GUIDE-for-Engineers
carta_engineering
0
47k
Generative UI × A2UI で AI エージェントを作った話 AI-DLC も使ってみた!
kmiya84377
1
170
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
0
210
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
1
570
自称宇宙最速で不合格となったAIP-C01にリベンジを果たすべくAIで問題集アプリを作ってみた。
yama3133
0
150
AIAgentと取り組むKaggle
508shuto
2
560
The Making of AI Chips
pfn
PRO
0
770
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
1
140
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
210
Featured
See All Featured
A Soul's Torment
seathinner
6
2.8k
Believing is Seeing
oripsolob
1
130
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Side Projects
sachag
455
43k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.5k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
310
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
920
So, you think you're a good person
axbom
PRO
2
2k
Faster Mobile Websites
deanohume
310
31k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
540
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
260
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
300
Transcript
freee 株式会社 サーバーレスフレームワークを触って 考えた私的まとめ サーバーレスフレームワークを触って 考えた私的まとめ 2019.09.27 Takeshi Nick Osanai
早稲田大学卒業後、アスキーでゲームビジネス従事。シックス ・アパート株式会社でディベロッパーリレーションを担当後、 2019年8月にfreeeへjoin。 • AWS認定ソリューションアーキテクト(SAA) • Qiita Microsoft Azure Anntena賞(2018)
• TOEIC 875 好きなこと: ジョギング、ダンス、野球観戦 (埼玉西武ライオンズと横浜DeNAベイスターズファン) ゲーム (スプラトゥーン、ドラクエ) 家族と過ごす時間 Takeshi “Nick” Osanai 長内 毅志 freee株式会社 ディベロッパーリレーション 2 @Nick_smallworld
前置き 3 • 今回の発表は、個人の体験・見解に基づくものとなり、所属する 企業とは関係がありません。 • 誤記が含まれる場合があるため、詳細は各事業者の公式ド キュメントをご参照ください。
4 • サーバーレスとは • サーバーレスのメリット • 主要クラウド事業者のサーバーレス • 開発の実際 •
APIゲートウェイ • まとめ アジェンダ
5 会社の紹介
6 アイデアやパッションやスキルがあればだれでも、 ビジネスを強くスマートに育てられるプラットフォーム スモールビジネスを、世界の主役に。 161億603万円 (資本準備金等含む) 従業員数 事業内容 クラウド型バックオフィスサービスの開発・販売 資本金
設立年月日 2012年7月 505名(2019年1月末時点)
7 会計・給与共に法人シェアNo.1 * BCN調べ * MM総研調べ * 2017年8月より、クラウド給与計算ソフト freeeは、機能を強化し、新たに 「人事労務
freee」というサービス名に変更しました。 クラウド給与ソフト 市場 40% クラウド会計ソフト 市場 35.2%
8 利用事業所数累計 100万 2014.3 2015.3 2016.3 2017.3
2018.3 800,000 600,000 300,000 65,000 1,000,000 1,000,000
9 IPO準備・成長企業への導入が加速 41% 資金調達Top100社の freee 導入率 ※ 出典:entrepedia ベンチャーリスト
※ 資金調達額TOP100社:直近1年で1億円以上の資金調達をした企業を対象に調査
10 サーバーレスとは
11 サーバーレスとは • 必要なときにサーバーリソースを利用して処理を実行するサー ビス • 常時サーバーを立ち上げる必要がない • (ユーザーから見ると) サーバーの保守運用を行う必要がない
12 通常のサーバー=自家用車 自分で車を所有。自由に使えるが保守運用は自分たちが行う 必要あり サーバーレス=レンタカー 必要なときに必要な時間だけ利用。 サーバーレスのイメージ
13 サーバーレスのメリット • コストメリット ◦ 稼働時間分だけ課金 • 保守運用の手間がない • 定型的な処理を不定期に実行する場合は利用価値が高い
14 通常のサーバー サーバーを常時立ち上げ。課金は24時間365日分 サーバーレス 稼働した分だけ課金 例:課金イメージ
15 サーバーレスのデメリット • 設定難易度 ◦ 各クラウド事業者のサーバーレス設定手順を理解する必要が ある • ランタイムの制限 ◦
初期状態では言語や利用できるミドルウェア・モジュールに制 限がある
16 16 AWS Lambda 主要クラウド事業者のサーバーレス Azure Functions
Cloud Fucntions
17 開発の実際
個人的なサンプル実装から 18
19 個人的なサンプル実装から ※一年以上前の開発のため、現在はだいぶ仕様が変わっています • https://qiita.com/TakeshiNickOsanai/items/46888a059fa8bae9eae0 • https://qiita.com/TakeshiNickOsanai/items/adef863fe6b50d38b4fe • https://qiita.com/TakeshiNickOsanai/items/c572f585bd134d31e4f6 •
https://qiita.com/TakeshiNickOsanai/items/4b8d4445acae71100876 今回は「AWS Lambda」に絞って話します。
20 AWS Lambdaメモ
21 AWS Lambdaのサポート言語 • 初期状態のサポート言語環境は以下の通り(2019/09) ◦ .NET ◦ Go ◦
Java ◦ Python ◦ Node.js ◦ Ruby (2018はJava, Python, Node.js の3言語)
22 カスタムランタイムとは? • Lambdaがサポートする言語以外を利用したい場合「カスタムランタイム」を使う。 ◦ php、Perl、COBOL、BASH、etc… ◦ 言語の実行環境を自前で作る必要があるため、一手間かかる ◦ WordPressのようなフルパッケージシステムを動かすには不向き
(というか不可能) ◦ シンプルなプログラムの動作などには向いている
23 カスタムランタイムの設定について • https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/runtimes-walkthrough.html
24 Lambdaで使える関数・モジュール • 初期状態ではデフォルトの関数しかサポートしていない ◦ 例:Node.js で、Ajax通信によく使われる「Express」や「axios」は、AWS Lambdaの デフォルト環境では使えない ▪
「http」のような、Node,jsのデフォルト関数はLambdaでも利用可能 ◦ Expressなどのモジュールを利用する場合、ローカルでNode.jsの実行環境を構 築後、Zipで圧縮してLambdaへアップロード→展開する必要がある
25 Lambdaでデータ保存したい場合 • Lambdaにデータストアは存在しない ◦ 一時的なファイルはテンポラリに保存できるが、関数実行後、揮発する • 保存したいデータがある場合、別途保存場所を確保して書き込む必要がある ◦ 例:フォームメールの受付をLambdaで処理し、リストに保存したい場合、受付
データをS3やEC2、RDSなどに保存する必要がある
26 Lambdaを利用した開発の実際 • IAM、CloudWatchを始め、AWSの各機能とそれぞれの概念、役割を覚えないと、実 際の開発は行えない ◦ AWSに関する広範囲の知識が必要 • 便利だが、要求される知識量は多い
27 Lambda+API Gateway • 外部からのデータ入力→Lambdaで処理する場合「AWS Gateway」を同時に使う • APIの独自エンドポイントを定義し、Lamdbaと連携 • 外部との入出力がない場合は設定不要
28 まとめ
サーバーレス 29 • サーバーレスは、定型的な処理をオンデマンドで実行するアーキテクチャ • ユースケースによっては仮想サーバーよりもコストメリットが高くなる • サーバーレスを利用した開発は、クラウドサービスの各機能を組み合わせて開発 する必要がある •
データ保存場所は別途準備する必要がある
30 AWS Lambdaの勉強にお勧めできる本 • 全体像+サンプルシナリオでわかりやすい • 1からLambdaを覚えたい場合お勧め
31 Azure Functions の勉強にお勧めリソース Microsoft Learn • Functionsだけでなく、Azureを網羅的にカバーしている • 文章はある程度わかっている前提のため、やや難しめ
• とりあえず眺めてみると発見があるかも
32 ちょっとだけ宣伝
33 freee API ご存知ですか?
STEP1 freeeアカウントを作成 STEP2 テストデータの設定 STEP3 認証テスト 34
爆速で freee API のテストデータを作る
35 「freee の API を利用した開発を行うた めのアカウントとテストデータを、無料 で設定する」 詳細手順 Qiitaの記事にまとめました!
スモールビジネスを、 世界の主役に。