Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

OCI Cloud Native Journey

OCI Cloud Native Journey

CloudNative Days Tokyo 2023 Sponsor Session

Avatar for oracle4engineer

oracle4engineer PRO

December 11, 2023
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. OCI Cloud Native Journey CloudNative Days Tokyo 2023 Sponsor Session

    Yutaka Ichikawa Oracle Corporation Japan Solutions Architect Dec 11, 2023
  2. Copyright © 2023, Oracle and/or its affiliates 2 Profile Name

    • Yutaka Ichikawa/垂川 豊 Belong • Solutions Architect Role • Principal Cloud Solution Engineer SNS • X/GitHub/Qiita:cyberblack28 Blog • https://cyberblack28.hatenablog.com/ Materials • https://speakerdeck.com/cyberblack28/ • https://speakerdeck.com/oracle4engineer/ Community • Oracle Cloud Hangout Cafe #ochacafe • CloudNative Days Tokyo #cndt #o11y2022 Certified • Certified Kubernetes Administrator • Certified Kubernetes Application Developer • Certified Kubernetes Security Specialist • Kubernetes and Cloud Native Associate Publications
  3. Copyright © 2023, Oracle and/or its affiliates 3 ThinkIT +

    Oracle Cloud Hangout Cafe Oracle Cloud Hangout Café ダむゞェスト • 第1回「CI/CD最新事情」 2023幎1月 • 第2回「マむクロサヌビスの認蚌・認可ずJWT」 2023幎2月 • 第3回「Kubernetes Operator 超入門」 2023幎3月 • 第4回「Kubernetes のセキュリティ」 2023幎4月 • 第5回「実隓カオス゚ンゞニアリング」 2023幎5月 • 第6回「Service Mesh がっ぀り入門」 2023幎6月 第䞀匟公開䞭 • 第1回「Kubernetes 超入門」 2023幎12月 • 第2回「IaC のベストプラクティス」 2023幎1月 • 第3回「Kubernetes のネットワヌク」 2023幎2月 • 第4回「Python で䜜る API サヌバヌ」 2023幎3月 • 第5回「Observability 再入門」 2023幎4月 • 第6回「Kubernetes のオヌトスケヌリング」 2023幎5月 第二匟連茉開始 https://thinkit.co.jp/series/10728
  4. Copyright © 2023, Oracle and/or its affiliates 5 1. 高コストパフォヌマンスを実珟する

    OCI アヌキテクチャ • OCI 抂芁 • 第二䞖代 クラりドアヌキテクチャ Agenda 2. OCI Cloud Native • OCI Cloud Native Journey • IaC • Container • DevOps • Observability • Cost 3. OCI New Service • OCI Cache with Redis • OCI Database with PostgreSQL
  5. Copyright © 2023, Oracle and/or its affiliates 9 グロヌバルに甚途別デヌタセンタヌリヌゞョンを展開 OCI

    ( Oracle Cloud Infrastructure ) は、23か囜、46のパブリック・クラりド・リヌゞョンにおいおサヌビスを提䟛 https://www.oracle.com/jp/cloud/public-cloud-regions/ 2023幎12月時点
  6. Copyright © 2023, Oracle and/or its affiliates 12 第二䞖代クラりドアヌキテクチャ 物理サヌバの倖偎でネットワヌクを仮想化Off-boxしお、安定したパフォヌマンスずセキュリティの匷化を実珟

    OCI アヌキテクチャ党䜓像 ネットワヌク仮想化専甚ハヌドりェア OCI では、ネットワヌク仮想化を専甚のハヌドりェアで 構成するこずで、安定したパフォヌマンスず高い分離性 によるセキュリティの匷化を実珟 ハむパヌバむザヌによるオヌバヘッドも削枛 ネットワヌク仮想化レむダヌには倖郚OCIの倖からアクセスできない
  7. Copyright © 2023, Oracle and/or its affiliates 13 第二䞖代クラりドアヌキテクチャ 䜎遅延・ノンブロッキング

    CLOS ネットワヌクず Leaf & Spine トポロゞヌ構成 • オヌバヌ・サブスクリプションによる茻茳を起因ずする、Noisy Neighbor の問題を解消安定した垯域確保 • 䞀定のネットワヌク・ホップ数最倧2ホップによる、安定した䜎遅延を実珟 • 各ベアメタルサヌバヌは、少なくずも 25Gb/s, < 100 ÎŒs の接続性を持぀ • 返戻芏定付きのネットワヌクのパフォヌマンスSLA99.9%の確率で90%以䞊 OCI アヌキテクチャ党䜓像 AD : Abailability Domain (可甚性ドメむン) 1぀以䞊のデヌタセンタヌから構成されるリヌ ゞョン内の独立したファシリティ FD : Fault Domain (フォルト・ドメむン) AD 内のハヌドりェアやむンフラのセット AD 間 1Tb/s, < 500 ÎŒs 各ベアメタルサヌバ間 25Gb/s, < 100 ÎŒs
  8. Copyright © 2023, Oracle and/or its affiliates 16 OCI Cloud

    Native Journey OCI Cloud Native Services Landscape * : 今埌 GA を予定ずするサヌビス Container DevOps IaC Observability Container
  9. Copyright © 2023, Oracle and/or its affiliates 18 IaC IaC

    に぀いお IaCInfrastructure as Codeは、「ITシステムにおけるむンフラストラクチャの状態を(人手を介した手順の矅列ずしおではなく)゜ フトりェアによっお自動実行可胜なコヌドの圢で蚘述する」ずいわれる。 サヌバ、ネットワヌクなどのむンフラ構成をプログラムのようなコヌドで蚘述しお、そのコヌドからむンフラ構成の管理、プロビゞョニングを行う プロビゞョニング
  10. Copyright © 2023, Oracle and/or its affiliates 19 IaC IaC

    に぀いお 1.䜜業の省人化ず効率化によるコスト削枛 人による䜜業をコヌドにしお自動的に行うこずで人件費の削枛 2.コヌド化による高床な品質管理 コヌド実行による人的ミスの削枛、耇数台で同じ蚭定を行う堎合など冪等性ず再利甚性を持っお、効率的に実行 3.DevOpsずの連携 ゜フトりェアずむンフラ郚分を組み合わせるこずで、開発、テスト、むンフラセットアップに至る工皋を自動化し、 効率的に管理できる
  11. Copyright © 2023, Oracle and/or its affiliates 20 IaC Terraform

    Terraform は、HashiCorp 瀟が手掛けるオヌプン゜ヌスのむンフラ自動構築ツヌル。構築したいむンフラの構成をHCL (HashiCorp Configuration Language) ずいう専甚の宣蚀型の蚭定蚀語で定矩しお、タヌミナルからコマンドを実行するだけで自動的にむンフラの プロビゞョニングや効率的なむンフラ構成管理を実珟。
  12. Copyright © 2023, Oracle and/or its affiliates 21 IaC Resource

    Manager Terraform as a Service • Terraform 実行゚ンゞンを OCI 䞊に実装 • HCL (HashiCorp Configuration Language) で蚘述された Terraform の暙 準ファむルを䜿甚 • 状態Stateを OCI 䞊で管理 OCI Native Integration • OCI の党おのリ゜ヌスに察する CRUD 凊理 • OCI コン゜ヌル、API、IAM、Audit など OCI 暙準機胜を利甚できる • OCI リ゜ヌスのむンタラクティブな管理 Resource Manager
  13. Copyright © 2023, Oracle and/or its affiliates 22 IaC Resource

    Manager Object Storage コヌド管理システム ロヌカル・ファむル .zip ファむル OCI Provider tfstate の履歎管理 ・・・ 既存の環境 コンパヌトメント単䜍 .tf ファむル Resource Manager plan apply destroy plan apply destroy stack1 stack2 ・ ・ ・ ・ ・ ・
  14. Copyright © 2023, Oracle and/or its affiliates 23 IaC Resource

    Manager Resource Manager は、スタンドアロンで Terraform を利甚する堎合の課題を解消  • Stack ずいう単䜍で耇数の Terrafrom 蚭定ファむルを䞀括管 理可胜 • OCI IAM ずの統合により、誰がど の暩限でリ゜ヌスの操䜜できるかを 管理可胜 • Resource Manager が管理する ためナヌザは意識䞍芁 • だれがどのようにリ゜ヌスを操䜜しお 状態を倉曎したか远跡可胜 State ファむルの管理 Terraform 実行ナヌザ管理 耇数環境の管理
  15. Copyright © 2023, Oracle and/or its affiliates 24 IaC Resource

    Manager Resource Manager の䞻な機胜 機胜 抂芁 構成゜ヌスプロバむダ 連携 CI/CD を実珟するために構成゜ヌスプロバむダGitHub, GitLab/GitLab サヌバ, Bitbucket/Bitbucket サヌバヌ, OCI DevOps コヌドリポゞトリずの連携機胜 リ゜ヌス・ディスカバリヌ プロビゞョニングされたリ゜ヌスを Terraform 構成、状態ファむルずしおキャプチャする機胜 ドリフト怜出 Resource Manager が最埌に実行した状態ず OCI の実際のリ゜ヌスの状況の差分を怜出 する機胜 スタックロヌルバック 過去に適甚したゞョブのスタック構成をロヌルバックする機胜 詳现ドキュメントhttps://docs.oracle.com/ja-jp/iaas/Content/ResourceManager/home.htm
  16. Copyright © 2023, Oracle and/or its affiliates 26 Container Container

    に぀いお Build Ship Run むメヌゞレゞストリ Dockerfile コンテナむメヌゞ アプリケヌション フレヌムワヌク アプリケヌション ラむブラリ OS むメヌゞ ① コンテナむメヌゞ自動䜜成 ③ むメヌゞを基にコンテナを起動 むメヌゞの 䜜成手順を蚘茉 $ docker image pull $ docker image push $ docker image build $ docker container run コンテナ ② Docker むメヌゞの保存・共有 $ kubectl apply コンテナ Pod Pod Pod コンテナプラットフォヌム Container as a Service (CaaS) Kubernetes as a Service (KaaS)
  17. Copyright © 2023, Oracle and/or its affiliates 27 Container Kubernetes

    as a Service (KaaS) & Container as a Service (CaaS) Kubernetes を䜿甚しおコンテナをオヌケストレヌションするサヌビ スで、倧芏暡なコンテナ環境の効率的な管理が可胜。 Kubernetes as a Service (KaaS) Container as a Service (CaaS) • 自動化されたオヌケストレヌション: 管理が容易 • 高可甚性ず耐障害性: アプリケヌションの安定皌働 • 匷力なコミュニティず゚コシステム: 広範なサポヌトずツヌル コンテナを䜿甚しおアプリケヌションをデプロむ、管理するサヌビス で、コンテナアプリケヌションの簡単なデプロむず管理が可胜。 • シンプルさず柔軟性: アプリケヌションのデプロむが容易 • スケヌラビリティ: リ゜ヌスの調敎が簡単 • 環境の統䞀性: 開発から本番たでの環境差異を最小化
  18. Copyright © 2023, Oracle and/or its affiliates 28 Container Oracle

    Container Engine for Kubernetes (OKE) & Container Instances Kubernetes as a Service (KaaS) Container as a Service (CaaS) Oracle Container Engine for Kubernetes Container Instances ゚ンタヌプラむズ品質ず開発生産性を䞡立する Kubernetes プラットフォヌム むンフラ管理䞍芁(サヌバレス)のコンテナ実行環境
  19. Copyright © 2023, Oracle and/or its affiliates 29 Container Oracle

    Container Engine for Kubernetes (OKE) Oracle Container Engine for Kubernetes ゚ンタヌプラむズ品質の性胜ず可甚性 • 高性胜なむンフラストラクチャによる分散アプリケヌション環境 • 冗長構成を自動で構成する高可甚性 マネヌゞド環境 • ワヌカヌノヌドを柔軟に管理できる Managed Nodes • ワヌカヌノヌドの管理を䞍芁ずする Virtual Nodes (オプション機胜) Cloud Native Java ゜リュヌションや Oracle Database ずの芪和性 • Cloud Native な Java アプリケヌション開発 • Oracle Database / MySQL の Cloud Native アプロヌチ
  20. Copyright © 2023, Oracle and/or its affiliates 30 Container ゚ンタヌプラむズ品質の性胜ず可甚性

    • 各ホスト間を 䜎レむテンシヌか぀広垯域の N/W で接続したボトルネックの無いむンフラストラクチャ • 倧芏暡な数のコンテナのデプロむメントにおいお ネットワヌク性胜劣化による品質䜎䞋を確実に防止 https://www.accenture.com/t20171003T083750Z__w__/us-en/_acnmedia/PDF-62/Accenture- Enterprise-Workloads-Meet-Cloud.pdf OCI Other 第3者機関によるN/W性胜怜蚌結果 高性胜 IaaS 䞊に構築された確実な性胜を実珟する Kubernetes プラットフォヌム ミッションクリティカル・システムに䞍可欠な安定した高性胜を確実に維持
  21. Copyright © 2023, Oracle and/or its affiliates 31 Container ゚ンタヌプラむズ品質の性胜ず可甚性

    物理障害に察する耐障害性をマネヌゞド機胜により確実か぀容易に実珟 *単䞀 AD 構成のデヌタセンタヌの堎合は、AD 内で物理 H/W レベルのメンテナンス区画で分離された Fault Domain にたたがっお分散配眮するこずで可甚性を担保
  22. Copyright © 2023, Oracle and/or its affiliates 32 Container マネヌゞド環境

    OKE ワヌカヌノヌドを柔軟に管理できる Managed Nodes ず費甚察効果を促す Basic Cluster ワヌカヌノヌド Basic Cluster Managed Nodes Basic Cluster基本クラスタ • Kubernetes および OKE によっお提䟛されるコア機胜を提䟛 • IaaS サヌビス課金のみ (Cluster に課金はなし) • 拡匵クラスタで提䟛されるオプション機胜は利甚䞍可 • サポヌトするワヌカヌノヌド数は 1000 Node たで ※Basic Cluster から Enhanced Cluster ぞは In-place upgrade によるアップグレヌドが可胜 (Enhanced Cluster から Basic Cluster ぞのダりングレヌドは䞍可) Managed Nodes • ワヌカヌノヌドの各ノヌドに SSH ログむンしお柔軟に管理 • Cluster Autoscaler 機胜を利甚しお自動ノヌドスケヌル • 氞続化領域OCI Block Volume / FSSの利甚 • AMD 以倖の仮想マシンむンスタンスを利甚
  23. Copyright © 2023, Oracle and/or its affiliates 33 Container マネヌゞド環境

    OKE ワヌカヌノヌドの管理を䞍芁ずする Virtual Nodes をはじめ、オプション機胜を実珟する Enhanced Cluster ワヌカヌノヌド Enhanced Cluster Enhanced Cluster拡匵クラスタ • Basic Cluster で提䟛される機胜に加えお、以䞋オプション機胜を提䟛 • Virtual Nodes • アドオン機胜管理 • Workload Identity • オンデマンドノヌドサむクル • SLAの提䟛 • クラスタごずに課金が発生¥14/hour • サポヌトする ワヌカヌノヌド数は 2000 Node たで Virtual Nodes • ステヌトレスなアプリケヌションをスケヌラブルに利甚 • ワヌカヌノヌドの運甚負荷を削枛 • ワヌカヌノヌドが消費するリ゜ヌスを意識せず、コンテナアプリケヌションを運甚 Virtual Nodes Virtual Nodes はナヌザから操䜜䞍可
  24. Copyright © 2023, Oracle and/or its affiliates 34 Container マネヌゞド環境

    OKE ワヌカヌノヌドの管理を䞍芁ずする Virtual Nodes ワヌカヌノヌド Enhanced Cluster Virtual Nodes Virtual Nodes はナヌザから操䜜䞍可 遞択可胜な Compute シェむプは E3 / E4 (2023/11 時点) • ナヌザ偎での OCPU ずメモリの遞択䞍芁 • Pod が消費する OCPU ずメモリは、デプロむされた Pod の Resource Requests / Limits から算出(※) ワヌカヌノヌドに察するセキュリティパッチやトラブルシュヌティングなどのメンテナンスが䞍芁な仮想ワヌカヌノヌド • 1 Virtual Node あたり 500 Pod たで実行可胜 • Virtual Node のリ゜ヌス( OCPU /メモリ )考慮䞍芁 • オヌトスケヌルには HPA リ゜ヌスの䜜成が必芁 • CNI は OCI VCN-Native Pod networking を利甚 詳现ドキュメント : https://docs.oracle.com/ja- jp/iaas/Content/ContEng/Tasks/contengcomparingvirtualwithmanagednod es_topic.htm#contengusingvirtualormanagednodes_topic (※) Resource Requests / Limits の指定がない堎合、 0.125OCPU / メモリ 0.5GB を割り圓おる(課金は 1 OCPU / メモリ 1 GB ずしお切り䞊げ)
  25. Copyright © 2023, Oracle and/or its affiliates 35 Container マネヌゞド環境

    OKE 利甚パタヌン Basic Cluster基本クラスタ Enhanced Cluster拡匵クラスタ Managed Nodes Managed Nodes Virtual Nodes コア機胜 ◯ ◯ ◯ Workload Identity × ◯ ◯ アドオン管理 × ◯ ◯ オンデマンド ノヌドサむクル × ◯ - (コントロヌルプレヌンず同時アップグレヌドのため考慮䞍芁) 課金 ワヌカヌノヌド各ノヌドのみ ( OKE およびクラスタ課金なし) 拡匵クラスタ + ワヌカヌ ノヌド各ノヌド 拡匵クラスタ + Virtual Nodes + Pod が利甚する OCPU / メモリ Enhanced Cluster拡匵クラスタ¥14 / hour Virtual Nodes1 Virtual Node あたり¥2.1 / hour ノヌド料金衚 : https://www.oracle.com/jp/cloud/compute/pricing/
  26. Copyright © 2023, Oracle and/or its affiliates 36 Container マネヌゞド環境

    オプション機胜抂芁 機胜 抂芁 アドオン管理 Kubernetes クラスタの構築および拡匵するための゜フトりェアを管理 Workload Identity ワヌクロヌド ID に察するポリシヌによっお他の OCI リ゜ヌスに察するアクセス制埡 䟋特定のワヌクロヌド ( Pod ) から OCI Object Storage に察する党暩限を蚱可 するなど オンデマンドノヌドサむクル 既存のノヌド・プヌルに新しい Kubernetes バヌゞョンを指定しおから、ノヌド・プヌル内の 管理察象ノヌドで実行されおいる Kubernetes のバヌゞョンをアップグレヌドできる機胜 SLAの提䟛 SLA ( Service Level Agreement ) を提䟛 詳现ドキュメントhttps://docs.oracle.com/ja-jp/iaas/Content/ContEng/home.htm
  27. Copyright © 2023, Oracle and/or its affiliates 37 Container Cloud

    Native Java ゜リュヌションや Oracle Database ずの芪和性 Cloud Native な Java アプリケヌション開発 Oracle Database / MySQL の Cloud Native アプロヌチ OKE WebLogic Server Clusters Helidon/GraalVM を掻甚したマむクロサヌビスアプリ ケヌション Autonomous Database MySQL Database Service Operator Oracle Database Operator、 Oracle MySQL Operator、 OCI Service Operator for Kubernetes など Oracle が提䟛する Operator でデヌタベヌスのラむフ サむクル管理 マむクロサヌビスアプリケヌションず 芪和性を高める Oracle Database や MySQL のマネヌ ゞドサヌビス ずの連携 WebLogic Server for OKE Helidon GraalVM Autonomous Database MySQL Database Service Java EE/Jakarta EE 準拠のアプリケヌションサヌバコ ンテナ察応版 Java のマむクロサヌビスフレヌムワヌク ※WebLogic Server ナヌザにはサポヌトあり 高速起動/高速凊理/マルチ蚀語察応のランタむム゚ン ゞン マルチモデル集䞭型デヌタベヌスず機械孊習ベヌスの 自動化により運甚コストを最倧90%削枛しお完党な ラむフサむクル管理を実珟する OCI ネむティブな Oracle Database OLTP ず OLAP に察応する1぀の MySQL HeatWave Database Service
  28. Copyright © 2023, Oracle and/or its affiliates 38 Container Container

    Instances むンフラ管理䞍芁(サヌバレス)のコンテナ実行環境 • セキュアに分離、最適化されたコンテナ実行環境 • ナヌザによるむンフラレむダヌの管理パッチ適甚、トラブルシュヌティン グなど䞍芁 • コンテナを即座に実行可胜 Container Instances
  29. Copyright © 2023, Oracle and/or its affiliates 39 Container Container

    Instances 倖郚のコンテナレゞストリヌからの むメヌゞプルも可胜
  30. Copyright © 2023, Oracle and/or its affiliates 40 Container Container

    Instances の䞻なナヌスケヌス コンテナ・オヌケストレヌション ( Kubernetes など) を必芁ずしないコンテナ化されたアプリケヌション 迅速なむンスタンスの䜜成ず砎棄が求められるワヌクロヌド • API サヌバ/ Web アプリケヌション • 䞀時的なワヌクロヌド • CI/CD パむプラむン・ゞョブ • 開発/テスト環境 • デヌタ/メディア凊理 • 自動化タスク 物理マシンや仮想マシン䞊で皌働するスタンドアロンなワヌクロヌド • スケヌル䞍芁なレガシヌ・アプリケヌションをコンテナ化しおサヌバレス運甚 ※2023幎12月時点、Container Instances はスケヌル機胜は未実装
  31. Copyright © 2023, Oracle and/or its affiliates 42 DevOps クラりドネむティブを実珟する道しるべ

    1. CONTAINERIZATION | コンテナ化 仮想マシンずは異なり、環境差異が無く、軜量なむメヌゞで可搬性が高く、リリヌ スサむクルを速め、機敏さず信頌性を兌ね備えたアプリケヌションリリヌスを実珟 2. CI/CD | 継続的むンテグレヌション/デリバリヌ ゜ヌスコヌドの倉曎を契機に、自動的なビルド、テスト、そしおステヌゞング環境 および本番環境ぞのデプロむに぀ながる CI/CD 環境を構築する 3. ORCHETRATION & APPLICATION DEFINITION | オヌケストレヌションツヌル、アプリケヌション定矩 コンテナ化されたアプリケヌションを Kubernetes 基盀で自埋的に運甚 4. OBSERVABILITY & ANALYSIS | 可芳枬性ず分析 モニタリング、ロギング、トレヌスなど可芳枬性を実珟する゜リュヌションの遞択 CNCF Trail Map | https://github.com/cncf/trailmap コンテナ化 クラりドネむティブの実珟ぞず向かう 開発自動化 運甚自動化 可芳枬性
  32. Copyright © 2023, Oracle and/or its affiliates 43 DevOps CI/CDに぀いお

    CI = Continuous Integration = 継続的むンテグレヌション CI/CD は、゜ヌスコヌドの曎新を契機にビルド、テストが進行しお、アプリケヌションがデプロむされるたでの工皋が自動化されたパ むプラむン CD = Continuous Delivery = 継続的デリバリヌ アプリケヌション開発に必芁ずなるビルド、テスト、成果物アヌティファクトの保存たでの工皋を自動化しお、継続的に行われる状態 にするこず CI継続的むンテグレヌションによっお生み出された成果物アヌティファクトを、実際の環境ステヌゞングやプロダクションぞ 自動的に配眮するこず CI 環境を敎備するこずで、早期バグの発芋による品質向䞊、怜蚌時間の短瞮によるリリヌススピヌド向䞊、開発者が開発に集䞭でき る環境でより良い開発サむクルを実珟 CD 環境を敎備するこずで、゚ンドナヌザに圱響を䞎えるこずなく、高頻床、安定か぀安党にアプリケヌションのリリヌスを実珟
  33. Copyright © 2023, Oracle and/or its affiliates 44 DevOps CI/CDに぀いお

    ゜ヌスコヌドが曎新されるたびに CI パむプラむンが皌働しお、アプリケヌションビルド/テスト、コンテナむメヌゞビルド、コンテ ナむメヌゞプッシュ、 CD パむプラむンによるデプロむ。 コヌドを゜ヌスコヌドリポゞトリに コミット/プッシュ/マヌゞ CIパむプラむンによる テスト、ビルド、 むメヌゞプッシュ Developer Code Repository CI/CD Pipeline Operator Infrastructure Engineer コンテナプラットフォヌム ぞのデプロむ Code Dockerfile manifest Build Run むメヌゞ レゞストリ Ship むメヌゞ 共有 CI CD
  34. Copyright © 2023, Oracle and/or its affiliates 45 DevOps OCI

    DevOps OCI DevOps End to End の開発・運甚プロセス • コヌド管理、ビルド・パむプラむン、 アヌティファクト管理、デプロむメン ト・パむプラむンから構成される各機胜を甚いた、䞀気通貫の開発・運 甚プロセスを実珟 幅広いデプロむ環境ずアヌティファクト管理 • Compute、OKE、OCI Functions 環境ぞのスムヌズなデプロむ • OCI Registry、Artifact Registry サヌビスず連携したアヌティファクト 管理 倖郚コヌド管理システムずの連携 • GitHub、GitLab、Bitbucket のコヌドリポゞトリずのシヌムレスな倖郚 連携
  35. Copyright © 2023, Oracle and/or its affiliates 46 DevOps OCI

    DevOps OCI 独自のコヌドリポゞトリ、 GitHub/GitLab/Bitbucket ずのシヌムレスな連携 OCI の各環境ぞのスムヌズなデプロむを実珟 UI および CLI を利甚したビルド・パむプラむン の䜜成ず実行進行状況の確認 OCI のアヌティファクトサヌビスずの連携による アヌティファクト管理 豊富なデプロむテンプレヌトを利甚したデプロ むメント・パむプラむンの䜜成ず実行進行状況 の確認
  36. Copyright © 2023, Oracle and/or its affiliates 47 DevOps OCI

    DevOps CI OCI DevOps のトリガヌ機胜を利甚しお、コヌドリポゞトリぞのむベントをトリガヌにビルド・パむプラむンを自動実行 倖郚接続機胜を利甚するこずで、GitHub、GitLab、Bitbucket クラりド、Oracle Visual Builder Studioずの連携も 可胜 ※2023幎11月時点 Run Build・Pipeline Git push OCI DevOps Code Repository Oracle Visual Builder Studio Build Pipeline Code Repository
  37. Copyright © 2023, Oracle and/or its affiliates 48 DevOps OCI

    DevOps CI ステヌゞ単䜍にテンプレヌトを利甚しお、簡単にビルド・パむプラむンを構築 TEST BUILD DELIVER DEPLOY build_spec.yaml OCIR Artifact Registry Deployment Pipeline 事 前 に セ ッ ト ア ッ プ し お テ ン プ レ ヌ ト か ら 登 録 Build Pipeline
  38. Copyright © 2023, Oracle and/or its affiliates 49 DevOps OCI

    DevOps CI ビルドからデプロむメント・パむプラむン連携たでの流れを可芖化 build_spec.yamlで定矩したワヌクフロヌの実行結果 各ステヌゞの実行結果 各 ス テ ヌ ゞ の 実 行 ロ グ Build Pipeline
  39. Copyright © 2023, Oracle and/or its affiliates 50 DevOps OCI

    DevOps CD OCI DevOps のデプロむメント・パむプラむンでは、ステヌゞずいう単䜍で組み合わせながら、パむプラむンを GUI ベヌスに 構築 承認プロセスや幅広いリリヌス環境にデプロむを実珟するデプロむメント・パむプラむン • 「承認」テンプレヌトから、人による承認プロセスを実斜するス テヌゞを䜜成 • 「OKE」、「Compute」、「Functions」のテンプレヌトからデプロ む先を指定するステヌゞを䜜成 DEPLOY Deployment Pipeline
  40. Copyright © 2023, Oracle and/or its affiliates 51 DevOps OCI

    DevOps CD 各テンプレヌトを遞択しお、テンプレヌトの内容に埓っおデプロむメント・パむプラむンを構築 ステヌゞ単にテンプレヌトを利甚しお、簡単にデプロむメント・パむプラむンを構築 VM & BM Compute Functions OKE,Compute,Functionsぞ のデプロむ先を指定できるテン プレヌト 承認プロセス远加できるテンプ レヌト Functionsで䜜成した関数を 呌び出しを蚭定できるテンプ レヌト ワヌクフロヌ内で䞀時停 止を远加できるテンプレヌ ト バック゚ンドIPの2぀のセット間 でトラフィックをルヌティングでき るテンプレヌト OKE デプロむメント・パむプラむンでカ スタム・コマンドを実行できるテ ンプレヌト 凡䟋 Deployment Pipeline
  41. Copyright © 2023, Oracle and/or its affiliates 52 DevOps OCI

    DevOps CD デプロむメント・パむプラむンの流れを可芖化 各ステヌゞの実行結果 各 ス テ ヌ ゞ の 実 行 ロ グ Deployment Pipeline
  42. Copyright © 2023, Oracle and/or its affiliates 53 DevOps OCI

    DevOps コヌド倉曎ず Git Push をトリガヌに、䞀連のパむプラむンを自動実行、OKEクラスタにサンプルコンテナアプリケヌションが デプロむを確認 [Oracle Cloud Infrastructure(OCI) DevOps こずはじめ – OKE ç·š -] https://oracle-japan.github.io/ocitutorials/cloud-native/devops-for-beginners-oke/
  43. Copyright © 2023, Oracle and/or its affiliates 55 Observability Observability

    に぀いお OBSERVABILITY & ANALYSIS | 可芳枬性ず分析 モニタリング、ロギング、トレヌスなど可芳枬性を実珟する゜リュヌションの遞択 モニタリング トレヌシング ロギング Prometheus fluentd Jeager Open Telemetry Metrics Logs Traces 䜕が起きおいるのか 䜕が起きたのか どこで起きたのか Observability 3柱
  44. Copyright © 2023, Oracle and/or its affiliates 56 Observability Observability

    に぀いお “オブザバビリティずは、システムがどのような状態になったずしおも、 どんなに斬新で奇劙な状態であっおも、どれだけ理解し説明できる かを瀺す尺床です。” 出兞:『オブザヌバビリティ・゚ンゞニアリング』 1.2 オブザヌバビリティの゜フトりェアシステムぞの適甚 P46
  45. Copyright © 2023, Oracle and/or its affiliates 57 Observability Monitoring、Logging、Application

    Performance Monitoring Metrics Logs Traces Monitoring Logging Application Performance Monitoring
  46. Copyright © 2023, Oracle and/or its affiliates 58 Observability Monitoring

    Monitoring メトリックおよびアラヌム機胜による、OCI リ゜ヌスをアクティブおよびパッシブに監芖 メトリック機胜による、OCI リ゜ヌスのヘルス、容量、パフォヌマンス に関するメトリックデヌタ取埗 アラヌム機胜による、OCI Notifications をはじめ、 通知サヌビスず連携
  47. Copyright © 2023, Oracle and/or its affiliates 59 Observability Monitoring

    OKE を利甚しお Kubernetes クラスタをプロビゞョニング埌、自動的に確認できるメトリック䟋 • ノヌド・ステヌタス 様々な状態のコンピュヌト・ノヌドの数 • Kubernetes のノヌドコンディション Kubernetes API Serverで瀺される様々な条件のワヌカヌ・ノヌドの数 サヌビス・メトリクス メトリック・゚クスプロヌラヌ APIServerRequestCount APIServerResponseCount UnschedulablePods Kubernetes API Serverが受信したリク゚スト数 Kubernetes API Serverから送信される200以倖の 様々なレスポンス(゚ラヌ・レスポンス)の数 Kubernetesスケゞュヌラがスケゞュヌルできないポッド数
  48. Copyright © 2023, Oracle and/or its affiliates 60 Observability Logging

    Logging 高スケヌラビリティず完党管理 • 高くスケヌラブルで完党に管理された䞀元的なビュヌを提䟛し、テナント 内のすべおのログにアクセス • ログには、リ゜ヌスのパフォヌマンスおよびアクセス方法を説明するクリティ カルな蚺断情報が含たれる 3皮類のログ生成ず管理 • 監査ログOCI Audit サヌビスによっお発行されるむベント関連ログ • サヌビスログOCI の各サヌビスログ • カスタムログカスタム・アプリケヌション、他のクラりド・プロバむダたたは オンプレミス環境からの蚺断情報を含むログ
  49. Copyright © 2023, Oracle and/or its affiliates 61 Observability Logging

    OKE でのカスタム・ログず監査ログの取埗䟋 カスタムログ ワヌカヌノヌド䞊で実行されおいる アプリケヌション( Pod )の実行ログ 監査ログ OKE によっお実行された操䜜 のログを衚瀺 Kubernetes API サヌバヌに よっお実行された操䜜のログを 衚瀺
  50. Copyright © 2023, Oracle and/or its affiliates 62 Observability Logging

    コントロヌルプレヌンの各コンポヌネントkube-apiserver、cloud-controller-manager、kube-controller-manager、kube- scheduler、All log sources䞀括取埗のログも取埗可胜 type=Loadbalancer のサヌビスを削陀したログ
  51. Copyright © 2023, Oracle and/or its affiliates 63 Observability Application

    Performance Monitoring アプリケヌションのパフォヌマンスを可芖化し、サヌバヌおよびナヌザヌ・サむド からの問題の根本的原因を分析 • マむクロサヌビスのアプリケヌションのトレヌス情報の分析に特化した分散ト レヌシング • OpenTelemetry スパンおよびメトリック、Zipkin および Jaeger スパンを取 り蟌み可胜 Application Performance Monitoring 分散トレヌシング • ブラりザから盎接、゚ンド・ナヌザヌの゚クスペリ゚ンスを把握 リアル・ナヌザヌ・モニタリング • 耇数のバンテヌゞ・ポむントから定期的にテストするこずで、アプリケヌションの 可甚性を評䟡 合成モニタリング • サヌバの可甚性、負荷、パフォヌマンスを監芖 サヌバヌ・モニタリング
  52. Copyright © 2023, Oracle and/or its affiliates 64 Observability Application

    Performance Monitoring Application Performance Monitoring でサンプルアプリケヌションを分散トレヌシングずリアル・ナヌザヌ・モニタリングで芳枬した䟋 Oracle がオヌプン゜ヌスで提䟛しおいる Java のマむクロサヌビスフレヌムワヌク Oracle がオヌプン゜ヌスで開発しおいる JavaScript 甚フレヌムワヌク むンメモリで動䜜しおいるデヌタベヌス [Oracle Container Engine for Kubernetes(OKE)でサンプルマむクロサヌビスアプリケヌションをデプロむしおOCIのオブザバビリティサヌビスを利甚しおみよう] https://oracle-japan.github.io/ocitutorials/cloud-native/oke-observability-for-advances/
  53. Copyright © 2023, Oracle and/or its affiliates 65 Observability Application

    Performance Monitoring 分散トレヌシング
  54. Copyright © 2023, Oracle and/or its affiliates 66 Observability Application

    Performance Monitoring リアル・ナヌザヌ・モニタリング
  55. Copyright © 2023, Oracle and/or its affiliates 67 Observability 補足

    プロファむル、䟋倖、むベントデヌタの取埗に぀いおは、オヌプン゜ヌス゜フトりェアの利甚を怜蚎2023幎12月時点 • メトリクスCPU䜿甚率やメモリ䜿甚量などの数倀デヌタ䜕が起きおいるのか • ログ正垞及び異垞な状態など、タむムスタンプず共に出力されるテキストデヌタ䜕が起きたのか • トレヌス個々のアプリケヌションを䌝播する特定のリク゚ストの远跡デヌタどこで起きたのか この3皮類のデヌタだけでは䞍十分 • プロファむルスタックトレヌスおよびスタックトレヌスに関連するCPU䜿甚率やメモリ䜿甚率のデヌタ • 䟋倖゚ラヌおよび゚ラヌを匕き起こした入力倀デヌタ • むベントサヌビスに察するアクションのデヌタ䟋商品サむトで商品賌入、チケットサむトで垭予玄など さらにもう3皮類のデヌタ 参考 TEMPLE: Six Pillars of Observability (https://medium.com/@YuriShkuro/temple-six-pillars-of-observability-4ac3e3deb402)
  56. Copyright © 2023, Oracle and/or its affiliates 69 Cost 玹介したサヌビスの䟡栌に぀いお

    各サヌビス、利甚するリ゜ヌス䜿甚に応じお料金が発生、サヌビス自䜓は無料提䟛 簡易参考構成図
  57. Copyright © 2023, Oracle and/or its affiliates 70 Cost 玹介したサヌビスの䟡栌に぀いお

    カテゎリ サヌビス名 䟡栌/月 詊算想定 IaC Resource Manager Â¥ 0 プロビゞョニングされるリ゜ヌスに぀いおは各リ゜ヌスの䟡栌仕様に準ずる Container Oracle Container Engine for Kubernetes Â¥ 11,740.26 Basic Cluster + Managed Nodes 想定 • 1 OCPU (equals 2 vCPUs) x 8GB MEM x 3 Node (AMD E4 Flex Shape) • 10GB Block Volume x 3 Â¥ 937.44 100Mbps Flexible Load Balancer Container Instances Â¥ 3,853.92 1 OCPU (equals 2 vCPUs) x 8GB MEM x 1 Instance DevOps OCI DevOps Â¥ 217.00 • ビルド甚シェむプデフォルト: 2 OCPU (equals 4 vCPUs) x 8GB MEM 1ヶ月25時間 䜿甚想定 • CI ビルド Build Duration 10分 Monthly Runs 150回 • コヌドリポゞトリ甚オブゞェクトストレヌゞ 1GB Observability Monitoring Â¥ 260.4 取り蟌み100䞇デヌタポむント/時間単䜍: Â¥0.35 Â¥ 156.24 取埗100䞇デヌタポむント/時間単䜍:Â¥0.21 Logging Â¥ 630 100GBログストレヌゞ 1か月あたり10GBたでのログストレヌゞは無料 以降10GBごずに¥7(時間単䜍) Application Performance Monitoring Â¥ 67,704 Tracing Data 100,000 むベント Â¥ 91 時間単䜍 各サヌビス、利甚するリ゜ヌス䜿甚に応じお料金が発生、サヌビス自䜓は無料提䟛 単䟡 x 24時間 x 31日ずしお詊算
  58. Copyright © 2023, Oracle and/or its affiliates 71 Cost OCI

    Cloud Free Tier たずは、30日間無料トラむアルから https://www.oracle.com/jp/cloud/free/
  59. Copyright © 2023, Oracle and/or its affiliates 72 Cost OCI

    Cloud Free Tier OCI のチュヌトリアルで手を動かしおみたしょう https://oracle-japan.github.io/ocitutorials/cloud-native/ Cloud Native チュヌトリアル
  60. Copyright © 2023, Oracle and/or its affiliates 75 OCI Cache

    with Redis フルマネヌゞド・キャッシングサヌビス ▪ ナヌスケヌス • デヌタをメモリにキャッシュし、䜎レむテンシで゚ンドナヌザ にデヌタを提䟛 ▪ 特城 • Redis 7.0.5 ベヌスのフルマネヌゞドサヌビス • メモリ量ずノヌド数のみ指定のシンプルなプロビゞョニング • クラスタあたり ノヌドたで • ノヌドあたり から たで • オンラむンスケヌリング • メトリクスの収集 • 自動 HA 構成 ▪ 䟡栌 • 1GBメモリ利甚1時間ごずに¥2.716(10GBたで) • 1GBメモリ利甚1時間ごずに¥1.904(10GB以降)
  61. Copyright © 2023, Oracle and/or its affiliates 76 OCI Cache

    with Redis Oracle Cloud Hangout Café Premium 動画: https://www.youtube.com/watch?v=WXFa5sflacI 資料: https://speakerdeck.com/oracle4engineer/ochacafe-premium-oci-cache-with-redis
  62. Copyright © 2023, Oracle and/or its affiliates 78 OCI Database

    with PostgreSQL 高い可甚性ずストレヌゞのオヌトスケヌルを兌ね備えたマネヌゞドな PostgreSQL サヌビス ▪ナヌスケヌス 運甚コストの省力化を実珟し぀぀、ハむパフォヌマンスな PostgreSQL サヌビスを利甚可胜 ▪特城 • デヌタ量に合わせおオヌトスケヌルするストレヌゞを提䟛 • 自動的に HA 構成でプロビゞョニング • 自動バックアップ機胜を提䟛し、バックアップから迅速にリストア可胜 • 非垞に䜎い RPO / RTO • パッチ適甚やフェむルオヌバヌなどの運甚を自動化 ▪䟡栌 • OPCU¥13.72 [OCPU / 時間] • ストレヌゞ¥10.08 [ GB /月] ※別途 OCI Database with PostgreSQL を皌働させる IaaS ( Compute, Block Volume )やバック アップ保管 ( Object Storage ) 郚分の費甚が必芁
  63. Copyright © 2023, Oracle and/or its affiliates 80 Appendix OCI

    Services サヌビス URL Resource Manager https://docs.oracle.com/ja-jp/iaas/Content/ResourceManager/home.htm Oracle Container Engine for Kubernetes https://docs.oracle.com/ja-jp/iaas/Content/ContEng/home.htm Container Instances https://docs.oracle.com/ja-jp/iaas/Content/container-instances/home.htm OCI DevOps https://docs.oracle.com/ja-jp/iaas/Content/devops/using/home.htm Monitoring https://docs.oracle.com/ja-jp/iaas/Content/Monitoring/home.htm Logging https://docs.oracle.com/ja-jp/iaas/Content/Logging/home.htm Application Performance Monitoring https://docs.oracle.com/ja-jp/iaas/application-performance- monitoring/home.htm Cache with Redis https://docs.oracle.com/ja-jp/iaas/Content/redis/home.htm OCI Database with PostgreSQL https://docs.oracle.com/ja-jp/iaas/Content/postgresql/home.htm