Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Alibabaのサーバーレスサービスと kintoneを連携してみた ~AWSのサーバーレスサービスとの違い~

150 views

Published on

2018/10/26 AliEaters Sapporo #1の登壇資料です

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Alibabaのサーバーレスサービスと kintoneを連携してみた ~AWSのサーバーレスサービスとの違い~

  1. 1. AliEaters Sapporo #1 2018/10/26 Alibabaのサーバーレスサービスと kintoneを連携してみた ~AWSのサーバーレスサービスとの違い~ ラジカルブリッジ 代表 リトルヘルプ合同会社 CTO 兼 宴会部長 斎藤 栄
  2. 2. 1 自己紹介 • kintoneぷらぐ委員会メンバー • kintone Café 創始者/運営事務局/札幌支部メンバー • TwilioJP-UG 札幌コアメンバー • JP_Stripes 札幌(お手伝い) 代表 / Mr. Cloud(クラウドおじさん) サイボウズ公認kintoneエバンジェリスト 斎藤 栄(さいとう さかえ)
  3. 3. 2 自己紹介 リトルヘルプ合同会社 CTO 兼 宴会部長 kintoneエバンジェリスト2人います! お教室マネージャー 『テトコ』tetoco.jp powered by
  4. 4. 3 裏・自己紹介 80’s昭和歌謡を楽しむ会 at 札幌 会場:すすきの『ザ☆ベストテン』 ビール宇宙関係 ・毎月第一火曜日(=歌謡日) ・累計73回開催 次回74回目は 11月13日(火) ラーメン
  5. 5. 4 kintone Caféの創始者ラジカルブリッジ斎藤氏が実践する「俺流」 http://ascii.jp/elem/000/001/498/1498638/ [俺流 斎藤]で検索! 2017年6月20日 ascii.jp - kintone三昧《kintoneな人》 • 大衆居酒屋「俺流」で俺流の生き方を語る • kintoneの仕事をするようになった経緯 • kintone Café への思い • 個人事業を続けることのこだわり
  6. 6. 5 やっていること つくってます アプリ 札幌で
  7. 7. 6 ベストチーム365 チームワークを強化するオリジナル業務アプリ構築サービス ベストチーム365 対面開発 定額制 ¥89,890~ お客様の目の前で kintoneアプリをお作りするサービスです
  8. 8. 7 ベストチーム365 【わくわくプラン】 ¥89,890 【にこにこプラン】 ¥252,500 ✓ 訪問改修1回 ✓ 訪問改修3回 ✓ 60日間の利用サポート 初回訪問・試作無料 遠方の場合はSkypeで対応 見積なし 仕様書なし 分業なし
  9. 9. 8 kintoneプラグイン《カレンダーPlus》 サクサク動くからストレスフリー! に素敵なカレンダー機能をプラスする 全世界対応の定番プラグイン カレンダーPlus ◉ マウスドラッグで予定変更が楽チン! ◉ 様々な予定をみんなで共有! ◉ 自分だけの予定も登録できる! ◉ 色分けできるからわかりやすい! ◉ お使いのアプリにそのままプラグイン! ◉ あらゆるタイムゾーンに対応! ◉ 日本語・English・中文(簡体)対応! ◉ ゲストスペース内アプリにも対応!
  10. 10. 9 カレンダーPlus Pro Proは、Basicの機能に加えて、担当者別・会議室別・車両別など 任意の軸でスケジュールを管理できる機能を搭載 会議室別 担当者別
  11. 11. 10 どこでもコールセンター kintoneでコールセンター ・着信・発信、CTI機能、クリックトゥコール機能 ・さっと立ち上げて・さっとやめられる オールクラウドだから場所を選ばない ・在宅でもコールセンターのオペレーターができる(テレワーク) ・地域間格差のない仕事を実現、転勤しても続けられる ✓ 専用機材不要 ✓ 短期の導入に最適 どこでもコールセンター
  12. 12. 11 個人教室向け顧客管理アプリ お教室マネージャー『テトコ』 tetoco.jp
  13. 13. 12 kintoneのクラウド連携 こんなことやってます
  14. 14. 13 kintoneプラグイン《カレンダーPlus》 カレンダーPlus利用者 AWS Lambda Amazon API Gateway ラジカルブリッジ ライセンス管理用 OK NG 有償ライセンスのアクティベーションチェック アクティベーション キー アクティベーション チェック
  15. 15. 14 お教室マネージャー「テトコ」 テトコ利用者の環境 (教室カレンダーアプリ) Webカレンダー表示&予約申込み テトコ利用者の Webサイト IFRAME Amazon CloudFront AWS Certificate Manager Amazon S3 AWS Lambda Amazon API Gateway HTML/CSS/JS IFRAME リクエスト カレンダーデータ リクエスト カレンダーデータ 1. Webカレンダー表示 カレンダーデータ 検索
  16. 16. 15 お教室マネージャー「テトコ」 テトコ利用者の環境 (Web予約申込アプリ) Webカレンダー表示&予約申込み テトコ利用者の Webサイト IFRAME AWS Lambda Amazon API Gateway フォームデータ送信 処理結果 2. 予約申込み フォームデータ登録
  17. 17. 16 AWS <---> Alibaba AWS Alibaba Amazon CloudFront Alibaba Cloud CDN AWS Certificate Manager SSL Certificates Service Amazon S3 Object Storage Service (OSS) Amazon API Gateway API Gateway AWS Lambda Function Compute
  18. 18. 17 初めてのAlibaba ~ アカウント登録 Alibaba Cloud無料トライアルサービス 30,000円分のクラウド利用ができます https://jp.alibabacloud.com/campaign/coupon-freetrial 1. 無料トライアル対象者は新規アカウント登録のお客様限定です。 • 参加条件:新規アカウント登録から60日以内のお客様がご利用いただけます。 • トライアル利用可能金額:30,000円 • 有効期間:無料トライアル参加日より365日間 • 利用対象サービス:全てのプロダクト(一部の機能に制限があります) ※2017年12月19日以降に新規登録いただいた方が対象です。 2. 各種サービスの購入時に無料トライアルクーポンを選択していない場合、もしくは無料 トライアルクーポン金額以上ご利用の場合は、全額または差額について請求させていた だきますのでご注意ください。 3. サブスクリプション購入時は購入画面で無料トライアルクーポン利用を選択ください。 4. 従量課金ご利用の場合は無料トライアルクーポン選択不要です。自動的に無料トライア ルクーポンが適用されます。
  19. 19. 18 初めてのAlibaba ~ アカウント登録 料金プラン・特徴 https://jp.alibabacloud.com/pricing ◼ サブスクリプション ※AWSで言うところのリザーブドインスタンス • 月/年単位のお支払でお得にご利用いただけます。 • 月/年単位のお支払でお得になる料金体系をご用意しています。 • サーバーを購入する期間が長いほど割安になります。 ◼ 従量課金 • 利用時間に応じたお支払で無駄なくご利用いただけます。 • 利用時間に応じて柔軟にご利用いただける料金体系をご用意しています。 • 購入終了時の手数料や事前コストも発生しないため、プロダクトをいつでもお試し いだけます。 • すべてのプロダクトが従量課金でご利用いただけます。 ➡ 仮想サーバーやデータベース等で選択可
  20. 20. 19 初めてのAlibaba ~ アカウント登録 アカウント登録の流れ 1. アカウント登録(メアド、パスワードなどを登録) 2. プロファイル管理(氏名、住所など登録) 3. クレジットカード登録 • 100円前後の少額課金が行われる。 • クレジットカードの有効化のために、サポート宛てにチケット起票が必要。 (本人確認のため、個人の場合はマイナンバーカード or 運転免許証 or パスポート の写真添付が必要) • 10分程でサポートセンターから返答が来て、有効化が完了する。 →チケットをクローズ ※手作業で確認しているように思われるが、0時頃にチケット起票して10分程で完 了しました。
  21. 21. 20 Function Compute
  22. 22. 21 Function Compute 関数の作成手順 1. サービスの作成 2. 関数の作成 I. 関数テンプレートの選択 II. トリガーの設定 A) トリガータイプの選択 (トリガーなし、OSS、Log Service、タイムトリガー、HTTPトリガー、CDNイベントトリガー) B) 選択したトリガータイプに応じた追加設定 III. 関数の設定 A) 関数基本情報 B) ランタイムの選択(Node.js v6.x, Node.js v8.x, Python2.7, Python3, Java8, PHP7.2) C) コード設定(インライン編集、OSSからインポート、Zipファイルのアップロード、フォルダーのアップロード) D) 環境変数の設定 E) ランタイム環境の設定(関数ハンドラ、メモリ、タイムアウト) IV. アクセス許可の設定(ロールに付与するシステムポリシーの設定) 3. デバッグ/実行
  23. 23. 22 Function Compute HTTPトリガー vs API Gatewayトリガー ◼ HTTPトリガー • Function Compute内で完結するのでシンプル • HTTPトリガーとなるURLが自動発行されるので楽 • 但し、関数シグネチャがイベントオブジェクトではなく、リクエストとレスポンス のオブジェクト ◼ API Gatewayトリガー • API Gateway側の「API バックエンドサービスの定義」で、作成済みのFunction Compute関数を選択 • デプロイとか認証とかをマジメにやらないといけないのでお手軽に試しづらい • 関数シグネチャは通常のイベントオブジェクト module.exports.handler = function(req, resp, context) { }; module.exports.handler = function(event, context, callback) { };
  24. 24. 23 Function Compute Alibaba AWS メモリ 128M~3072MB 128M~3008MB タイムアウト 最大10分(600秒) 最大15分(900秒) ※最近まで5分(300秒)だった トリガー イベント駆動型サービスで作成されるトリガー Table Store、API Gateway、DataHub、IoT Function Computeで作成されるトリガー HTTP、OSS、Log Store、Timer、CDNイベント API Gateway、AWS IoT、Alexa Skills Kit、 Alexa Smart Home、CloudWatch Events、 CloudWatch Logs、CodeCommit、Cognito Sync Trigger、DynamoDB、Kinesis、S3、 SNS、SQS ランタイム Node.js v6, Node.js v8, Python2.7, Python3, Java8, PHP7.2 Node.js v4.3, Node.js v6.10, Node.js v8.10, Python2.7, Python3.6, Java8, Go 1.x, .NET Core 1.0(C#), .NET Core 2.0(C#), .NET Core 2.1(C#/PowerShell) コード登録 インライン編集 OSSからインポート Zipファイルのアップロード フォルダーのアップロード コードをインライン編集 .zipファイルをアップロード Amazon S3からのファイルアップロード
  25. 25. 24 Object Storage Service (OSS)
  26. 26. 25 Object Storage Service(OSS) あまり触れてないので雑感だけ。。 • ぱっと見、Amazon S3と同じ雰囲気なので特に迷うところ無し。 • 静的Webサイトホスティングもある。というか、ACLを「公開読み取り」にするだけでホ ストされるので、デフォルトで静的Webサイトホスティング機能が有効というイメージ。 • 「イメージ処理」が面白そう。 (フォーマット変換、リサイズ、画像編集など)
  27. 27. 26 Alibaba Cloud CDN & SSL Certificates Service
  28. 28. 27 Alibaba Cloud CDN & SSL Certificates Service あまり触れてないので雑感だけ。。 • CDN:独自ドメインのHTTPS化 ➡ 証明書の持ち込み または SSL Certificates Serviceで証明書を購入 • SSL Certificates Service ➡ 証明書は有料(年単位)・・・一般的なSSL証明書と同等の費用感 ※ AWS Certificate Managerはパブリック SSL/TLS 証明書が無料
  29. 29. 28 kintoneと連携
  30. 30. 29 kintoneと連携 予定の追加・更新 何かする Webhook HTTPトリガー (POST)
  31. 31. 30 kintoneと連携 予定の追加・更新 メール通知? SMS通知? Googleカレンダー同期? Webhook HTTPトリガー (POST)
  32. 32. 31 kintoneと連携 Webhook 予定の追加・更新 時間が無かったので 予定のタイトル・日時と 操作種別を ログ出力しますw HTTPトリガー (POST)
  33. 33. 32 kintoneと連携 ~ Function Computeのコード画面
  34. 34. 33 kintoneと連携 ~ Function Computeのコード画面 const getRawBody = require('raw-body’); module.exports.handler = function(req, resp, context) { getRawBody(req, function(err, body) { var bodyData = JSON.parse(body.toString()); var type = bodyData.type; var record = bodyData.record; console.log(type + ': ' + record['タイトル']['value'] + ': ' + record[' 開始日時']['value'] + '~' + record['終了日時']['value']); resp.send('done.’); }); }
  35. 35. 34 kintoneと連携 ~ kintoneのWebhook設定画面
  36. 36. 35 kintoneと連携 デモンストレーション
  37. 37. 36 参考にした記事
  38. 38. 37 その他の感想
  39. 39. 38 その他の感想 • 総じて、コンソールがシンプルかつ直感的でわかりやすいと思いました。 • 中国国内からのAWS利用は様々な制約があるようなので、中国国内からの利用が想定さ れる場合はAlibabaの採用を検討する価値あり。 • Alibaba Cloudでは、そのサービスを初めて使う時に「サービスの有効化」を行う必要が ある。その度に「発注は完了しました」という画面が出るのでちょっと怖いw (慣れの問題かな) • あるサービスを有効化した後、「コンソールへ」ボタンを押すと別タブでコンソールトッ プが表示される。有効化したサービスのトップに戻って欲しい。 (サービスによっては正しくそのサービスのトップに戻る模様) • コンソール内のリンクやボタンをクリックするとやたらとタブが増えがちw
  40. 40. 39 お疲れ様でした

×