Share
Embed
いまからでも遅くない!IBM CloudのCode Engineでサーバーレスを体験してみましょう
いまからでも遅くない!IBM CloudのCode Engineでサーバーレスを体験してみましょう
HelenXiao
November 18, 2024
Transcript
36 slides
-
アジェンダ 内容 タイムテーブル オープンニング 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: -
• 開発者がサーバーやバックエンド・インフラストラクチャーのプロビジョニング や管理を行わずに、アプリケーション・コードを構築および実行するモデルです。 • 誤解#1: サーバーレスとは、「サーバーを使わない」という意味? No • クラウド・サービス・プロバイダー(CSP)によって、サーバーを管理します。 •
開発者はサーバーを確認、管理、または操作する必要がありません。 • 誤解#2: サーバーレスとは、 Functions-as-a-Service (FaaS) とは同じ?Not exactly • FaaS は実際にはサーバーレスのサブセットです。 イベントやリクエストに応じてアプリケーション コードを実行することに重点を置いています。 • サーバーレスでは、 コンピューティング、ストレージ、データベース、メッセージング、API ゲー トウェイなど、あらゆるサービス カテゴリに焦点を当てています。 サーバーレス(Serverless Computing)とは -
サーバーレスの独自の特徴とメリットにより、 セッション間でクライアントデータを保存しないステートレスアプリケーション、大量的な データを定期的に分析するバッチ処理、及び、イベント・ストリーム処理を伴うユースケー スに最適です。 サーバーレスのユースケース • 顧客関係管理(CRM) • 高性能コンピューティング(HPC) •
ビッグデータ分析 • ビジネス・プロセスの自動化 • ビデオ・ストリーミング • ゲーム • 遠隔医療 • デジタル・コマース • チャットボット -
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 -
Code Engine アーキテクチャー マルチテナント Kubernetes (IBM Cloud) Knative Istio 開発者
(Code Engine ユーザー) エンド・ユーザー 関数 アプリケーション コンテナ IBM Cloud Code Engine バッチ・ジョブ ... スピードと 使いやすさ 制御 マルチゾーン・リージョン (MZR) 仮想マシン・物理マシン * 開発者にはクラスターが 表示されず、責任の範囲外で す。開発者はワークロードを デプロイするだけです。 </> 仮想マシン・物理マシン 仮想マシン・物理マシン -
Code Engineで実行可能なワークロード Developer (Code Engine User) IBM Cloud Code Engine
Function App Batch Jobs -
他社クラウド・ベンダーの類似サービスとの位置付け 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 -
利用シーン#1_Container ImageからAPPを実行する マルチテナント IKS (IBM Cloud Kubernetes Service) Container Image
... Image Registry Runtime pulls images Push P u s h -
“Hello World” Web Serverを作る流れ: 1. Projectを作成 • ワークロードを分離するため 2. Applicationを作成
• 既存なImageのURLを設定 • Webpageの接続に関する設定 - Hello-world Image URL: docker.io/ibmcom/helloworld -
“Hello World” Web Serverに関して: 1. Source Codeからも簡単! Hello-world source code
URL: https://github.com/IBM/CodeEngine/ 2. Scalabilityも体験できます! -
利用シーン#2_Source CodeからAPPを実行する マルチテナント IKS (IBM Cloud Kubernetes Service) ... App
Image Build Image Registry (aka “Source-to-Image”) Build Option: - From Dockerfile - Via Buildpacks -
利用シーン#3_ Batch Jobを実行する マルチテナント IKS (IBM Cloud Kubernetes Service) ...
Batch Jobs Job Definition Image / Source Code: what … Command: … what … Array spec: … scale … CPU / Memory: … resources … -
利用シーン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 -
Code Engine の料金体系 _ 課金要素 Developer Function App Batch Build
Image Source End Users App ビルドでの リソース使用量/秒 CPU, Memory / 秒 ランタイムでの リソース使用量/秒 CPU, Memory x 台数 x 秒 アプリへの リクエスト数 Option. コンテナ・レジストリ 利用料 課金要素:CPUとMemoryの使用量、Http(s)のリクエスト数 -
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 -
まとめ 料金は本当に利用した分だけのお支払いでご利用いただけます。 しかも を することなく利用できます Cluster Network VM Certificate 構築
設定 管理 Code Engineには を同じ操作感でデプロイできます App Batch Job Function -
ワークショップ、セッション、および資料は、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をご覧ください。