Upgrade to Pro — share decks privately, control downloads, hide ads and more …

イベント受付をLIFFアプリで!開発・運用してみて分かったAzureの使いどころ

M
November 14, 2020

 イベント受付をLIFFアプリで!開発・運用してみて分かったAzureの使いどころ

M

November 14, 2020
Tweet

More Decks by M

Other Decks in Programming

Transcript

  1. 本日の流れ ❖ CoderDojo とは ➢ 子ども向けのプログラミング道場 ❖ LINE APIでイベントの受付管理をやってみてわかったこと ➢

    公式の管理画面( LINE Official Account Manager)について ➢ LINE APIでできること(初級編。 Bot, LIFF, ミニアプリ, etc...) ❖ Azure を選んだ理由 ➢ 足りない機能、将来的に欲しい機能 ➢ いろいろ検討して、 Azureを使おうと決めた ❖ Azureで開発してみてわかったこと ➢ 開発生産性, 管理の効率, 学習コスト, etc… ➢ LINEとの連携について ➢ LINE APIでできること(中級編) ❖ LINE API を効率よく学ぶ方法(おまけ)
  2. CoderDojo 太宰府でのLINEの使用について ・2019年10月とあるハンズオンで、 LINE PayとLIFFのアプリを体験 ・LIFF(LINE Front-end Framework)とは、 LINEアプリ上でも動くWebアプリで、 LINE

    APIを楽に使って開発できる ・イベントなどの受付のチャンネルが多く、 返信など面倒な作業が多かったので、 LINEに一元化したいと思った ・そして、LIFFめっちゃ簡単と思った (後で講師がよかっただけと気づく)
  3. CoderDojo 太宰府でのLINEの使用について ・当初:LINE API, Vue.js, Node.js, AWS EC2, S3, PostgreSQL,

    Gmailに通知 ・現在:LINE API, Vue.js, Node.js, Heroku, PostgreSQL, Slackに通知 →完全無料
  4. LIFFの仕組み ・LIFFはLINE以外のブラウザでも表示できる (公式には、Microsoft Edge, Google Chrome, Firefox, Safariと記載) ・ログインなしでユーザーデータにアクセスできる実装が見込める ・ユーザーIDが分かればメッセージを送信できるし、ユーザーの友だちやグループから選択してメッ

    セージを送ることもできる( Share Target Picker) ・バックエンドは何でもいい →つまり、Azureでもいい ・公式サイトにスターターアプリ ・QRコードリーダーの使用は要注意 →外部ブラウザ、iOSのLINEはNG
  5. ① Azure Functions ・サーバーレス。すぐにコードを書いて実行できる ・C#, JavaScript, Java, Pythonなど豊富な言語サポート ・http, blob,

    タイマーなど様々なサービスのイベントに反応。結果を様々なサービスに連携 ・柔軟なスケーリング → 公式ドキュメントのホスティングプランとスケールについてを参照 ・ログなど利用状況のモニタリング( Application Insights)→5GB/月まで無料 ・VS Codeに拡張がある ・使った分だけ課金(従量課金プラン)
  6. Visual Studio Code ・Azure サービスの拡張 →VS Code側でポチポチするだけで、 Azure Functionsのプロジェクトが作成でき、 簡単にデプロイできる

    ・Azure CLIを使うこともできる ・(多分初めは)結構な頻度で エラーが発生し、ネット などを調べる時間が掛かる →勉強になっている!
  7. ② Azure Web Apps ・WebアプリやREST APIをホストするサービス ・Windows , Linuxの環境を利用可能 ・豊富なテンプレートから開発を始められる

    ・VS Coderに拡張機能あり →Azure App Service(PREVIEW) ・無料プラン、共有プランあり →通常はBasicプラン以上(時間当たりの価格設定) ・DevOps環境に最適化されている
  8. ③ Azure Static Web Apps (PREVIEW) ( 1/2 ) ・HTML,

    CSS, JavaScript, 画像などの静的コンテンツの Web ホスティング(無償!) →Angular, React, Vueなど様々なフレームワークに対応 ・Azure Functionsによって提供される統合 API ・GitHub Actionsによるビルド&デプロイ(GitHub連携が必須) →高機能のCI/CDでソフトウェアワークフローを簡単に自動化
  9. ③ Azure Static Web Apps (PREVIEW) ( 2/2 ) ・カスタムドメイン対応、自動更新される無料の

    SSL証明書を利用可能 ・ビルトインの認証機構を利用可能(外部認証プロバイダー利用) →Google, Twitter, facebook, GitHub, Azure ADによるログイン ・ほぼVS Code上で開発が完結できる ・まだ、PREVIEW期間中 ・ホスティングできるアプリ数、ファイルサイズ(ファイル数も?)に上限がある
  10. Azure まとめ & その他の利点 ・VS Codeとの親和性。生産性アップ。開発が楽しい ・学習コストが低いとは言いづらいが、環境は整っている ・DBも豊富 →NoSQLのCosmos DBや、オンプレとの連携サービスもあり、選択肢が多い

    運用後、諸々を診断するサービスもある(パフォーマンス、クエリ診断等々) ・主要なサービスにSLAが設定されている →この値を踏まえ、要件と照らし合わせてサービスの利用や冗長化を決定できる
  11. LINE APIの勉強方法 ・まずは、LINE APIのコミュニティのイベントに参加、できれば運営 LINE Developers Community https://linedevelopercommunity.connpass.com/ LINE Developer

    Group Kansai https://ldgk.connpass.com/ LINE Developer Group Q-shu https://linedevkyushu.connpass.com/ ゆるい感じでやって ます。目標は毎日イ ベント