Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
サーバーレスフレームワークを触って考えた私的まとめ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
TakeshiNickOsanai
September 27, 2019
Technology
81
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーバーレスフレームワークを触って考えた私的まとめ
2019年9月27日「fun-tech meetup #13 みんなのサーバレストーク!」の発表資料です。
TakeshiNickOsanai
September 27, 2019
More Decks by TakeshiNickOsanai
See All by TakeshiNickOsanai
プラットフォーム事業を推進するための開発者マーケティング
takeshinickosanai
0
95
会計freeeのご紹介
takeshinickosanai
0
110
freeeの DevRel 立ち上げから半年を振り返る
takeshinickosanai
0
200
エンジニアの新しいキャリア「DevRel」とは
takeshinickosanai
0
1.1k
20190927プレゼン_API_FY20Q1_.pdf
takeshinickosanai
0
64
freeeで勉強会を開催してみませんか.pdf
takeshinickosanai
0
88
freee API用アカウントとデータを爆速で準備する
takeshinickosanai
0
93
Other Decks in Technology
See All in Technology
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
230
Jetson Orin Nanoとk3sとローカルLLMで音声文字起こしシステム作ってみた
y_sera15
0
120
DGX Spark でどこまでハッキングができるのか?
kash1064
0
820
USB PDを使ってスマホを労わりたい
raspython3
0
160
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.7k
自主式軟體工廠
philipz
0
260
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
270
OR学会2026年秋期大会_機械学習と数理最適化の融合による、配合レシピ最適化システム開発事例
brainpadpr
0
130
SREでアラート疲れを 解決しよう!
kairim0
1
230
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
130
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
170
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
420
Featured
See All Featured
Building an army of robots
kneath
307
47k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Exploring anti-patterns in Rails
aemeredith
4
530
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
Building the Perfect Custom Keyboard
takai
2
900
Docker and Python
trallard
47
4.2k
Building Adaptive Systems
keathley
44
3.2k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
Documentation Writing (for coders)
carmenintech
77
5.6k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
880
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
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の記事にまとめました!
スモールビジネスを、 世界の主役に。