【イベントレポート】JAWS-UG 上越妙高支部 第3回勉強会(サーバーレス勉強会)に参加しました

どうも、イソップです。

1/20(土)、地元開催のJAWS-UGの勉強会に参加してきました。
しかも、サーバーレス。
開発中のアプリがFirebaseで良いのか不安だっただけに、個人的にはタイムリーじゃないかこれ。

結論としては、AWSやサーバーレスに関してはっきり言ってよくわからないぼくにとって、
とても参考になる内容でした。

サーバーレスってなに?(植木さん)

サーバーレスとは?

  • 管理不要
  • スケーラビリティ
  • 使った分だけ課金

→ LambdaはAWSのスケールできるサービス

  • EC2 -> VM(マシン)が拡張される
  • ECS -> プロセスが拡張される
  • Lambda -> function単位で拡張される、同時実行1000

LambdaはAWSの他のサービスと連携できる

  • Lambda -> API Gateway (例: レスポンスを返すなど)
  • storage -> DtnamoDB, S3
  • Step Functions (ワークフロー作成)
  • Xray
  • Kinesis -> Lambda
  • SQS -> queue
  • SNS -> message manage
  • Code Build -> コードのコンパイルなんかをまとめて管理・ビルドしてくれる etc..
  • Code Pipeline -> パイプラインの管理?
  • cognito -> authentication 認証周りを請け負う
  • cron ->

Lambdaでの処理は cloudWatch logs にログが残る

サーバーレスの周辺知識

Docker

コンテナ -> わかりやすく言うと、OSのchange root
1コンテナ、1プロセス(mysql用のコンテナ、 nginx用のコンテナなどを用意するのがお作法)

Dockerで本番環境は作らないほうが良い

Framework

  • デプロイ
  • 環境(environments)の切り替え
  • ロールバック
  • 権限管理したい
  • 呼び出し元も管理したい

serverless framework

Kubernetes

コンテナ管理の仕組み、監視なども。
GKE(Google Kubernetes Engine)使うのが良い。

SPA(シングルページアプリケーション)

S3 + Lambda + API Gateway + SPAで、従来のWAFが不要に。

SPAについてはこちらもあわせて読まれたし。

【イベントレポート】第1回上越TechMeetupを開催しました!

試してみる

  1. ブラウザからLambdaを動かしてみる
  2. デプロイ + お気に入りのエディタ
  3. AWSのサービスと連携する
  4. 導入事例を見てみる

Lambda+Serverless実演(植木さん)

過去の自分のはてブのデータを取得する工程を、
Lambda + Serverlessでpythonを動かして実演して頂きました。

手軽に短時間で動かせるのはすごい。

サーバーレスフレームワーク Zappaを使用した話(中澤さん)

pythonistaはNode製sls(serverless framework)じゃなくて、Zappaを使いたいよね、というお話。

→ WSGIアプリにいい

Web Server Gateway Interface (WSGI; ウィズギー) は、プログラミング言語Pythonにおいて、WebサーバとWebアプリケーション(もしくはWebアプリケーションフレームワーク)を接続するための、標準化されたインタフェース定義である。

Web Server Gateway Interface – Wikipedia

いわゆる従来のサーバーからHTML返すようなアプリのこと。
WAFがルーティングを設計する設計。

利点: slsよりも手順が少なくなる。
ミソは、AWS Gatewayの設定はスルーさせる。

API作る用にはちと辛い?

個人的な疑問

Amazon API Gatewayはどう使うのが良いの?

↑API作るときに使えばいいってこと?

AWS IoTで証明書を自動登録してデータをアップするまでのお話(知野さん)

AWS IoTを使って証明書を登録するフロー解説。

1台ずつ証明書登録するのめんどいよね。
AWS IoT + Lambdaを使えば、1台1台設定しなくても自動化できるよ。

ということで、設定方法の解説。

Lambdaの他にもDynamoDB、S3(Storage)にも接続可能。

IoTめっちゃおもろそうやんけ。

まとめ

フロントエンドばっかりのぼくにとって、とても参考になる話ばかりでとても楽しかったです。
でもサーバーのコード書きたくないんだよな。

ということで、もう少しFirebaseを触る期間がありそうです。。
Firebaseの次のステップとしてLambdaを選択しても良さそうだと思いました。

更新情報はTwitterでも配信しています