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

いまからでも遅くない!IBM CloudのCode Engineでサーバーレスを体験してみましょう

HelenXiao
November 18, 2024
78

いまからでも遅くない!IBM CloudのCode Engineでサーバーレスを体験してみましょう

いまからでも遅くない!IBM CloudのCode Engineでサーバーレスを体験してみましょう

HelenXiao

November 18, 2024
Tweet

Transcript

  1. アジェンダ 内容 タイムテーブル オープンニング 14:00-14:05 サーバーレスとは 14:05-14:10 IBM Cloud Code

    Engineのご紹介 14:10-14:20 Code Engineでサーバーレスを体験 14:20-14:50 まとめ&Q&A 14:50-14:55 クロージング 14:55-15:00 https://ibm-developer.connpass.com/event/334885/ Connpass Dojo:
  2. • 開発者がサーバーやバックエンド・インフラストラクチャーのプロビジョニング や管理を行わずに、アプリケーション・コードを構築および実行するモデルです。 • 誤解#1: サーバーレスとは、「サーバーを使わない」という意味? No • クラウド・サービス・プロバイダー(CSP)によって、サーバーを管理します。 •

    開発者はサーバーを確認、管理、または操作する必要がありません。 • 誤解#2: サーバーレスとは、 Functions-as-a-Service (FaaS) とは同じ?Not exactly • FaaS は実際にはサーバーレスのサブセットです。 イベントやリクエストに応じてアプリケーション コードを実行することに重点を置いています。 • サーバーレスでは、 コンピューティング、ストレージ、データベース、メッセージング、API ゲー トウェイなど、あらゆるサービス カテゴリに焦点を当てています。 サーバーレス(Serverless Computing)とは
  3. Code Engine とは Code Engine By IBM コンテナー化されたワークロードを実行する、フルマネージドサーバーレス・プラットフォームです。 Function App

    Source Code Container Image Job (Batch) Code Engine Multi Tenant Kubernetes Cluster 主な特⾧:  複数種類のワークロードに対応  インフラ管理・クラスタ管理が不要  柔軟なスケール  真の意味での従量課金 利用可能な地域: 高可用性 リージョン 地理 MZR 東京 (jp-tok), 大阪 (jp-osa), シドニー (au-syd) アジア太平洋 その他、複数のリージョンでご利用いただけます。 Doc
  4. Code Engine アーキテクチャー マルチテナント Kubernetes (IBM Cloud) Knative Istio 開発者

    (Code Engine ユーザー) エンド・ユーザー 関数 アプリケーション コンテナ IBM Cloud Code Engine バッチ・ジョブ ... スピードと 使いやすさ 制御 マルチゾーン・リージョン (MZR) 仮想マシン・物理マシン * 開発者にはクラスターが 表示されず、責任の範囲外で す。開発者はワークロードを デプロイするだけです。 </> 仮想マシン・物理マシン 仮想マシン・物理マシン
  5. 他社クラウド・ベンダーの類似サービスとの位置付け Functions Batch Jobs ”Push” source code Multi-Tenant Container Service

    AWS Lambda AWS Batch AWS Elastic Beanstalk AWS Fargate Azure Functions Azure Batch Azure App Service Azure Container Instances Google Cloud Functions None Google App Engine Google Cloud Run Google Cloud Run Code Engine Functions Batch Jobs ”Push” source code Multi-Tenant Container Service AWS Lambda AWS Batch AWS Elastic Beanstalk AWS Fargate Azure Functions Azure Batch Azure App Service Azure Container Instances Google Cloud Functions None Google App Engine Google Cloud Run Google Cloud Run Code Engine
  6. “Hello World” Web Serverを作る流れ: 1. Projectを作成 • ワークロードを分離するため 2. Applicationを作成

    • 既存なImageのURLを設定 • Webpageの接続に関する設定 - Hello-world Image URL: docker.io/ibmcom/helloworld
  7. “Hello World” Web Serverに関して: 1. Source Codeからも簡単! Hello-world source code

    URL: https://github.com/IBM/CodeEngine/ 2. Scalabilityも体験できます!
  8. 利用シーン#2_Source CodeからAPPを実行する マルチテナント IKS (IBM Cloud Kubernetes Service) ... App

    Image Build Image Registry (aka “Source-to-Image”) Build Option: - From Dockerfile - Via Buildpacks
  9. 利用シーン#3_ Batch Jobを実行する マルチテナント IKS (IBM Cloud Kubernetes Service) ...

    Batch Jobs Job Definition Image / Source Code: what … Command: … what … Array spec: … scale … CPU / Memory: … resources …
  10. 利用シーン4 _ Functionを実行する “Hello World” created from console 1. Projectを作成

    2. Functionを作成 (phython) #import os def main(params): print("helen-test-functions-123") name = params.get("name", "world") greeting = "Hello " + name + "!" return { "headers": { "Content-Type": "application/json", }, "statusCode": 200, "body": greeting, } https://function-python-demo.18l2hrydeys4.jp-tok.codeengine.appdomain.cloud/?name=helen
  11. Code Engine の料金体系 _ 課金要素 Developer Function App Batch Build

    Image Source End Users App ビルドでの リソース使用量/秒 CPU, Memory / 秒 ランタイムでの リソース使用量/秒 CPU, Memory x 台数 x 秒 アプリへの リクエスト数 Option. コンテナ・レジストリ 利用料 課金要素:CPUとMemoryの使用量、Http(s)のリクエスト数
  12. Code Engine の料金体系 _ 価格 着信要求 100,000 1か月あたりの HTTP 要求

    メモリー 200,000 1か月あたりの GB 秒 CPU 100,000 1か月あたりの vCPU 秒 常に無料 着信要求 $0.538 100 万件の HTTP 要求あたり メモリー $0,00000356 / GB 秒 CPU $0,00003431 / vCPU 秒 無料利用枠を超えて For the most up-to-date prices, see Code Engine pricing
  13. ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報 提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またIBM製品やサービスがお 客様に適用ある特定の法令に適合することを保証するものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努 めておりますが、「現状のまま」提供され、明示または黙示にかかわらず、商業性、特定の目的への適合性、非侵害性を含め、いかなる保証も伴わない ものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わない ものとします。 本講演資料で言及されるIBM製品、プログラム、またはサービスは、IBMがビジネスを行っているすべての国・地域でご提供可能なわけ ではありません。本講演資料で言及される将来の展望(製品リリース日付や製品機能を含む)は、市場機会またはその他の要因に基づいてIBM独自の決 定権をもっていつでも変更できるものとし、将来の製品または機能が使用可能になること、もしくは特定の結果を確約することを意図するものではあり ません。本講演資料は、言及される

    IBM製品またはサービスに適用ある契約条件を変更するものでも、追加の表明または保証を意図するものでもありま せん。 本講演資料に含まれている内容は、参加者の活動によって特定の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果 を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザー が経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、 および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと 同様の結果を得られると確約するものではありません。記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、ま たそれらのお客様が達成した結果の実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 • IBM、IBM ロゴ、ibm.com、IBM Cloudは、 世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名お よびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、 www.ibm.com/legal/copytrade.shtmlをご覧ください。