はじめてのクラウドアプリ開発

107436e46b14d6db482c42afba216ecf?s=47 norikokt
September 16, 2020

 はじめてのクラウドアプリ開発

IBM Cloud スターターキットを使用したアプリケーション開発手順

107436e46b14d6db482c42afba216ecf?s=128

norikokt

September 16, 2020
Tweet

Transcript

  1. IBM Dojo はじめてのクラウドアプリ開発(⼊⾨) Noriko Kato Developer Advocate Tokyo City Team

    2020/09/16 #StaySafe #IBMDojo #IBMだ
  2. Sli.doのライブ投票にご参加ください 2 https://app.sli.do/event/achpevan

  3. アカウントの登録 アカウントの登録 登録にはe-Mail アドレスが必要です。 使⽤するアカウントはライトアカウントです。 ハンズオンではこちらを使⽤します。 Cloud Foundry Natural Language

    Understanding Developer Tools 3 こちらのURLからアクセスをお願いします。 https://ibm.biz/BdqAWK
  4. Group Name / DOC ID / Month XX, 2018 /

    © 2018 IBM Corporation 4
  5. クラウドを選ぶメリット 5 いつでも どこにいても インターネットがあれば }ü 開発できる ü リリースできる ü

    試せる
  6. 学習の⽬的とゴール ⽬的 IBM Cloudスターターキットの特徴を知る ゴール スターターキットを利⽤してCloud Foundry アプリが作れる いくつかのWatson APIアプリが作れる

    このコースを学ぶ⽅の想定スキル PCの基本操作が可能な⽅ クラウド開発に関⼼がある⽅ 6
  7. ⽬次 1.IBM Cloud Catalog / Docs 2.Starter Kit 3.Demo &

    Handson 参考資料の紹介 7
  8. 1.IBM Cloud Catalog / Docs スターターキットを表⽰するには、Catalogの検索バーに “Starter Kit”と⼊⼒するか、Docs(資料)から検索します。 8

  9. 1.IBM Cloud Catalog / Docs スターターキットを表⽰するには、Catalogの検索バーに “Starter Kit”と⼊⼒するか、Docs(資料)から検索します。 9

  10. 2.Starter Kit スターターキット 10 その他 原語系 API系

  11. 1.IBM Cloud Catalog / Docs Catalog検索時のキーワード 11 オプション 説明 AI

    / Machine Learning システムが、明⽰的なプログラミングによってではなくデータから学習でき るようにする製品。 Analytics 数学、統計、その他の⼿段を使⽤して、データ (通常は⼤量のビジネス・ データ) の分析を容易にする製品。 Blockchain ビジネス・ネットワーク内のトランザクションの記録および資産の追跡の プロセスを容易にする製品。 コンピュート クラウド内でのアプリ構築の基盤となるインフラストラクチャー・リソース。 コンテナー アプリを異なるコンピューティング環境間で素早く確実に移動して実⾏ できるように、コードとそのすべての依存関係をパッケージするソフト ウェアの標準ユニット。 データベース 物理的なハードウェアをセットアップしたり、ソフトウェアをインストール したり、パフォーマンスを構成したりする必要なく、データベースに何らか の形式でアクセスできるようにする製品。
  12. 1.IBM Cloud Catalog / Docs 12 オプション 説明 開発者⽤ツール ソフトウェアの開発、テスト、およびデバッグをサポートする製品。

    インテグレーション 組織全体でデータ、アプリ、API、およびデバイスの連携を強化して、 効率性、⽣産性、および俊敏性を⾼める製品。 IoT ⼈間の介⼊なしにワイヤレス・ネットワーク上でのデータの送受信を サポートする製品。 ロギング、モニタ リング ログ・データやイベントの保管、検索、分析、およびモニターを サポートする製品。 さらに、操作ワークフローや記録対象プロセスの ⾒直しや管理をサポートする製品。 モバイル モバイル・デバイスで使⽤されるものを作成するユーザーのために、 特定のユーティリティーまたは特別なユーティリティーを提供する製品。 ネットワーキング コンピューターの対話式操作を可能にするためにコンピューターの リンクをサポートまたは拡張する製品。 セキュリティー 保管データを窃盗、漏えい、削除から保護する製品。 ストレージ データの作成、読み取り、更新、削除をサポートする製品。
  13. 1.IBM Cloud Catalog / Docs Docs(資料)の掲載コンテンツ https://cloud.ibm.com/docs?locale=ja 13

  14. 2.Starter Kit スターターキットを使うことで、IBM Cloud上にプロセス管理機能を実装した アプリを簡単に作成することができます。 また、既存のGitHubリポジトリーから コードをとり⼊れることも可能です。 何から始めればよいか迷ってしまう時は、 スターターキットをお試しください。 14

  15. 2.Starter Kit スターターキットで対応している⾔語と開発フレームワーク 15 プログラミング ⾔語 説明 開発フレーム ワーク Go

    Go は Golang とも呼ばれ、⾼速で、静的に型付けされ、コンパイル済みのプログラミング⾔ 語です。構⽂的に C に似ていますが、メモリー安全性、ガーベッジ・コレクション、構造的型 付け、CSP スタイルの並列性を備えています。 Go は表現⼒に富み、簡易なおかつクリーンで、 効率的です。 並⾏性メカニズムによって、マルチコア・マシンやネットワーク接続マシンのメ リットを最⼤限に活⽤したプログラムの作成が容易になります。また、その新しいタイプのシ ステムにより、柔軟性に富んだモジュール式のプログラム構造が可能になります。 Go はマシ ン・コードへ迅速にコンパイルできるためガーベッジ・コレクションに有⽤で、ランタイム・ リフレクションを活⽤できます。 Gin Java™ Java は、エンタープライズ・レベルのアプリをビルドする場合に適しています。 ただし、 Java 8 の新規フィーチャーを、Liberty のようなより軽量のランタイムや Spring Boot のよう なフレームワークと組み合わせることで、Java はマイクロサービスのビルドにも適したものに なります。 Java は、Android アプリによく使⽤されているプログラミング⾔語です。 Spring、 Liberty、 Android Node.js Node.js は、イベント・ドリブンの⾮ブロッキング I/O モデルを使⽤する JavaScript ランタ イムで、軽量かつ効率的です。 Web アプリ、Backend-for-frontend パターン、およびマイ クロサービスのスループットとスケーラビリティーの点で優れています。 Node.js のパッケー ジ・レジストリー (npm) は、⼤規模なコレクションのオープン・ソース・モジュールにアク セスできるようにします。 これは、アプリ開発を加速するための幅広いフィーチャーを提供し ます。 Express
  16. 2.Starter Kit スターターキットで対応している⾔語と開発フレームワーク 16 プログラミング ⾔語 説明 開発フレーム ワーク Python

    Python は、読みやすさに重点が置かれた、汎⽤的なインタープリット型のプログラミング⾔ 語です。 プログラマーは、Python を使⽤すると、他の⾔語で必要なコード⾏よりも少ない コード⾏で機能を実装できます。 ⾔語の機能によって、オブジェクト指向、関数型、命令型の コードを記述できます。 Python は、⼀般的に⾃然⾔語のタスクの処理に使⽤されます。 Flask、 Django Swift Swift は、2014 年に作成された最新のプログラミング⾔語で、Objective C の代わりになるも のとして設計され、2015 年 12 ⽉にオープン・ソースになりました。 今⽇では、x86、ARM 、または z/Architecture を使⽤する Linux™ および macOS のオペレーティング・システム 上で、 iOS、macOS、Web サービス、およびシステム・ソフトウェアをビルドするために使 ⽤されています。 スクリプト⾔語のように記述されますが、コンパイルされると、低いプロ セッサー使⽤率で C のようなハイパフォーマンスを実現できます。 これは、クラウド・ラン タイムに理想的です。 Java に⾒られる強い静的型システムを使⽤しますが、JavaScript に⾒ られる関数型スタイルと⾮同期ルーチンを使⽤します。 これはパフォーマンスが⾼く、ソース は LLVM コンパイラー・ツールチェーンを使⽤するネイティブ・コードにコンパイルされます。 C で記述されたシステム・ライブラリーを他の⾔語から簡単に使⽤できます。 Swift は、クラ イアント・サイド・アプリとサーバー・サイド・アプリのどちらのコーディングにも使⽤でき るため、開発者は、クライアントからサーバーへ、またその逆への機能のマイグレーションを 簡単に⾏う必要がある場合に Swift を使⽤します。 Kitura、 iOS
  17. 2.Starter Kit スターターキットで対応しているデプロイ環境 2020年9⽉現在、3つのデプロイ環境に対応しています。 17 有料アカウントが必要 有料アカウントが必要* ライトアカウント対応** * 無料アカウントで数時間利⽤できるデモ環境もあります。

    ** ライトアカウントで使⽤可能な容量に上限設定があります。 どちらも2020年9⽉時点の情報です。
  18. 2.Starter Kit スターターキット 18

  19. 2.Starter Kit スターターキット 19

  20. 2.Starter Kit スターターキット 20

  21. DEMO

  22. アカウントの登録 アカウントの登録 登録にはe-Mail アドレスが必要です。 使⽤するアカウントはライトアカウントです。 ハンズオンではこちらを使⽤します。 Cloud Foundry Natural Language

    Understanding Developer Tools 22 こちらのURLからアクセスをお願いします。 https://ibm.biz/BdqAWK
  23. 3.Demo & Hands on 23 2019年3⽉現在 Watson Assistant アプリケーションに⾃然⾔語インターフェースを追加して エンドユーザとのやり取りを⾃動化

    Text to Speech テキスト⽂章を⾳声に変換する Speech to Text ⾳声をテキスト⽂章に変換する Visual Recognition 画像コンテンツに含まれる意味を検出する Discovery 先進的な洞察エンジンを利⽤して、デー タの隠れた価値を解明し、回答やトレン ドを発⾒する Discovery News Discovery上に実装され、エンリッチ情報 も付加されたニュースに関する公開デー タセット Personality Insights テキストから筆者の性格を推定する Language Translator テキストを他⾔語へ翻訳を⾏う Natural Language Understanding ⾃然⾔語処理を通じてキーワード抽出、エン ティティー抽出、概念タグ付け、関係抽出な どを⾏う Natural Language Classifier テキスト⽂章の分類を⾏う(質問の意図推定など) Tone Analyzer(⽇本語未対応) テキストから筆者の感情、社交性、⽂体を解析 Knowledge Studio コーディングなしに、業務知識から⽣成した 機械学習モデルで、⾮構造テキストデータか ら洞察を取得(学習⽀援ツール) ⼼理系 ⾔語系 照会応答系 知識探索系 ⾳声系 画像系 https://www.ibm.com/watson/jp-ja/developercloud/services-catalog.html
  24. 3.Demo & Hands on Natural Language Understanding Node.js App 24

    このハンズオンでは、Webブラウザで Natural Language Understandingを試せる アプリケーションを構築します。
  25. 3.Demo & Hands on Natural Language Understanding Node.js App 25

    Get Started をクリックする Region︓Tokyo (推奨) Pricing Plan : Lite (確認) Createをクリックする
  26. 3.Demo & Hands on Natural Language Understanding Node.js App 26

    Get Started をクリックする Region︓Tokyo (推奨) Pricing Plan : Lite (確認) Createをクリックする
  27. 3.Demo & Hands on Natural Language Understanding Node.js App 27

    Cloud Foundryを選択 IBM Cloud API Key で New + をクリックする Deploy your App をクリック する
  28. 3.Demo & Hands on Natural Language Understanding Node.js App 28

    Create a new API Key は 初期値でOKをクリックする Memory 容量を確認し、 Host Nameのチェックが完了 するのを待ち、ボタンが⻘に なったらNextをクリックする
  29. 3.Demo & Hands on Natural Language Understanding Node.js App 29

    Regionを任意で修正し Create Key をクリックする Deploy Statusが進んだら、 クリックして状況を確認する
  30. 3.Demo & Hands on Natural Language Understanding Node.js App 30

    BUILDとDEPLOYどちらも STAGEがGreenに進んだら View Consoleをクリック する View Appl URLをクリック する
  31. 3.Demo & Hands on Natural Language Understanding Node.js App 31

    BUILDとDEPLOYどちらも STAGEがGreenに進んだら View Consoleをクリック する View Appl URLをクリック する
  32. 3.Demo & Hands on Natural Language Understanding Node.js App 32

    Analyze ボタンをクリックし、分析結果を確認する
  33. 3.Demo & Hands on Natural Language Understanding Node.js App 33

    任意のURLや⽂書を⼊⼒し、分析結果を確認する
  34. 作成したアプリケーションの削除⽅法 リソースリスト 現在利⽤しているサービスが確認できます。 各サービス右側の(・・・)から削除ができます。 34 クリックすると、以下の メニューが表⽰され編集 や削除ができます サービスの状況が確認で きます

  35. 免責事項 35 IBM Developer Dojoは開発者の⽅を対象に、IBM Cloudを主とした技術情報をお伝えする⽬的で開催しています。 講師や運営スタッフにより、開催毎に最適と判断した内容でお届けしています。 現在、ハンズオンを伴う講義はお客様の費⽤負担がない環境と⼿順でご案内しています。講義終了後、不要に なりました制作物はお客様ご⾃⾝で削除をお願いいたします。クレジットカードの登録が伴わない場合、費⽤は ⼀切発⽣致しませんが、ご登録いただいたお客様はご注意ください。

    講師陣はみなさまの利⽤状況を個別に確認することはできません。 ご理解とご協⼒をお願いいたします。 利⽤したサービスの削除⽅法については講義の中でご案内します。 ご不明な点がございましたら、当⽇確認をお願いいたします。 講義終了後、 IBM Developer Dojoに関するお問い合わせは「Slack」にお願いします。それ以外のIBM Cloudの お問い合わせにつきましては、弊社サポートセンターまで、次のいづれかの⽅法でお問い合わせください。 IBM Cloudダッシュボードの「サポート」メニューから「Case」を作成し、英語でご記⼊ください IBM Cloudサポートセンター「相談する」ボタンからチャットまたは電話でご連絡ください https://www.ibm.com/jp-ja/cloud/support ご参加ありがとうございました。
  36. おすすめ情報 –開発者向けサイトIBM Developer 36 ibm.biz/IBMDevJP 最新情報やスキルアップに役⽴つ6,000を超える技術記事を提供

  37. おすすめ情報 –IBM CODE Patterns 37 https://ibm.biz/ibmcodejp 解説 + デモ動画 +

    ソースコードが揃ったアプリ開発パターン集
  38. おすすめ情報 –IBM CODE Patterns 38 https://ibm.biz/ibmcodejp 解説 + デモ動画 +

    ソースコードが揃ったアプリ開発パターン集
  39. Sli.doのライブ投票にご参加ください 39 https://app.sli.do/event/achpevan