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

OCI Cloud Native アーキテクチャ from 他社クラウド_移行の秘訣

Shinya Omori
February 21, 2024

OCI Cloud Native アーキテクチャ from 他社クラウド_移行の秘訣

2024年2月21日(水)
Oracle Cloud ウェビナー シリーズ
https://go.oracle.com/LP=140675?elqCampaignId=521708

Shinya Omori

February 21, 2024
Tweet

More Decks by Shinya Omori

Other Decks in Technology

Transcript

  1. Copyright © Atomitech Inc. All rights reserved. 2024年2⽉21⽇ OCI Cloud

    Native アーキテクチャ from 他社クラウド 〜移⾏の秘訣〜 Oracle Cloud ウェビナー シリーズ
  2. Copyright © Atomitech Inc. All rights reserved. 2 ⼤森 信哉

    @shinpy 株式会社アトミテック 福島県会津若松市 在住 (リモート) インフラエンジニア&エバンジェリスト 好きなOCIサービス:ComputeのA1シェイプ (コスパGood!!) インタビュー記事: https://type.jp/et/feature/22711/
  3. 社名 株式会社アトミテック( https://atomitech.jp/ ) Atomitech Inc. 設⽴ 2004年7⽉1⽇ 所在 ⼭⼝本社

    〒759-0134 ⼭⼝県宇部市善和瀬⼾原203-149 東京本社 〒106-0032 東京都港区六本⽊1-4-5 アークヒルズ サウスタワー 3階 福岡営業所 〒812-0016 福岡県福岡市博多区博多駅南1-8-34 博多駅FRビル 3階 その他:徳島、埼⽟オフィス等 3 Copyright © Atomitech Inc. All Rights Reserved.
  4. お客様) 慶應義塾⼤学SFC研究所 様 ukabis(ウカビス) 内閣府「戦略的イノベーションプログラム (SIP)」事業において、 慶應義塾⼤学SFC研究所様を中⼼に構築した スマートフードチェーン・プラットフォーム 6 Copyright

    © Atomitech Inc. All Rights Reserved. 本研究は、戦略的イノベーション創造プログラム(SIP) 「スマートバイオ産業・農業基盤技術」(管理法⼈:⽣研⽀援センター) によって実施されました。
  5. 移⾏ポイント 1..NET6化 コンテナ化することによる Linux OS等にも対応 クラウドネイティブ環境 2.OCI化 コスト/パフォーマンス改善 AutoDBによる統合DB構成 3.OSS化

    誰もが⽤意に活⽤できる基盤へ 4.機能追加 広く活⽤できる基盤へ × 9 Copyright © Atomitech Inc. All Rights Reserved.
  6. 置き換えした サービス 10 Copyright © Atomitech Inc. All Rights Reserved.

    Azure Front Door → WAFv2 + FLB ※CDNは必要になったら検討 Apps Service (Web App) → OKE ※当時Virtual Nodes未リリース Azure DevOps系 → OCI DevOps + OCI Registry(OCIR) Azure Functions → Oracle Functions SQL Server → Autonomous Database Cosmos DB → Autonomous Database Event Hubs → Streaming Service Bus → Streaming + Functions ※当時OCI Queue未リリース Blob Storage → Object Storage Azure Key Vault → OCI Key Vault Azure DNS → Oracle DNS SendGrid → Email Delivery Application Insights → Monitoring系 AAD B2C → OCI IAM Identity Domains
  7. 置き換えできな かった & 不要とした サービス OCI Redisが未リリースのため、 OKEにコンテナ(Pod)として実装 Azure Cache

    for Redis OCIにはIoT周りのサービスが無かったため 必要時に検討とし、今回は未実装 Azure Time Series Insights + IoT Hub OCI Data FlowやData Integratorがあったが、 DB統合したため、不要とした Data Factory + Logic App AzureでのBlockchainサービスは終了していた &開発が始まっていなかったため 必要になるまで不要とした Azure Blockchain Service 11 Copyright © Atomitech Inc. All Rights Reserved.
  8. インフラ:構築ポイント 「 OKE+DevOps」 • OCIでまだ実装されていないサービス→Dockerイメージがある場合、OKEで実装 ※今回の案件だとRedisが対象(Redisの環境をIaaSで構成するより負荷が少ない) ※例:API GatewayやLoad Balancerで満たせない要件がある場合は、Nginx等を⽤いて⾃前で実装する 14

    Copyright © Atomitech Inc. All Rights Reserved. • 2023年10⽉にRedisがリリース!! • Cloudiiブログでも紹介:【Oracle Cloud】OCI Cache with Redisサービスをデプロイ https://cloudii.jp/news/blog/oracle-cloud/oracle-cloudoci-cache-with-redis/
  9. • FLB+OKEを構成する際は、マニフェストファイルでの構成とする(⼿動は運⽤上⾮推奨) ※公式チュートリアルの通り構築する 「Oracle Container Engine for Kubernetes(OKE)でKubernetesを動かしてみよう」 https://oracle-japan.github.io/ocitutorials/cloud-native/oke-for-beginners/ 15

    Copyright © Atomitech Inc. All Rights Reserved. インフラ:構築ポイント 「 OKE+DevOps」 Autonomous Database Container Engine For Kubernetes (OKE) Virtual Machine ※Worker Node Container Registry (OCIR) OCI-DevOps Load Balancer
  10. • LBにWAFv2を実装:マニフェストファイルで構成する時 プロトコル:http/https とする ※マニフェストファイルではデフォルトでTCP/80 or 443 となってしまうので注意 明確にhttp or

    httpsを指定する 16 Copyright © Atomitech Inc. All Rights Reserved. インフラ:構築ポイント 「 OKE+DevOps」 Autonomous Database Container Engine For Kubernetes (OKE) Virtual Machine ※Worker Node Container Registry (OCIR) OCI-DevOps Load Balancer WAF ユーザー
  11. 18 Copyright © Atomitech Inc. All Rights Reserved. インフラ:構築ポイント「おまけ」 1.

    コンパートメント:システム毎に分ける ※ 部署やサービス毎は推奨しない 例: - ルートコンパートメント - 10-Aシステム - 11-Prd - 12-Stg - 20-Bシステム - 21-Prd ...etc 2. ネットワークアドレス:異なる&広いCIDR(*.*.*.*/16)で実装する 例: VCN=10.0.0.0/16 Aシステムのパブリックサブネット=10.0.10.0/24 Aシステムのプライベートサブネット=10.0.11.0/24 Bシステムの ...etc 3. クラウドFW:SL(セキュリティ・リスト)とNSG(ネットワーク・セキュリティ・グループ)は 混在させない ※ 公式ドキュメントでもNSGを推奨 ※ ⼀部MDS(MySQL Database Service)やBastion(要塞)等のSL必須サービスを除く
  12. Q2 A2 苦労したところは? • Azure依存コードをOCIに対応させる作業 ※ 「SQLの⽂法」、データ型、⽂字コード...etc ※ 認証機能:ID DomainsのAPI仕様を調査からだった

    & 仕様に苦しんだ → リリースしたばかりで⽂献が少ない • .NETアプリをAzure⽤からOCI⽤への適応 ※ 対応箇所やテストが多かった ※ 実環境を確認したり、開発者へのヒアリングが多かった → 想定より⼯数が膨らんだ 21 Copyright © Atomitech Inc. All Rights Reserved. 開発チームにQA
  13. 24 Copyright © Atomitech Inc. All Rights Reserved. 『移⾏前』 Azure利⽤コスト

    基準値 『移⾏前:構築時』 OCI利⽤コスト 約50%削減 『本番:運⽤&機能追加』 OCI利⽤コスト 約10~15%削減
  14. • クラウドコストを下げたい場合はOCIを検討 • アプリはコンテナ化 • DBは統合化 • 置き換えられないサービスは諦めも必要 or コンテナで対応

    • OCI IAM Identity Domainsサービスは最初はOCSを検討 秘訣:まとめ 26 Copyright © Atomitech Inc. All Rights Reserved.
  15. • OKEは「Managed Nodes」→「Virtual Nodes」を検討していく ※「Worker Node」の運⽤コストを削減したい ※追加予定の機能に期待 オートスケール、永続化ボリューム利⽤、Simplified Node Upgrades

    ...etc • OCI Cache with Redisの採⽤(Podで稼働中→PaaS) • 必要に応じてOCI Queueの採⽤ • CDNが必要となった場合→Fastlyの採⽤ • IoTが必要となった場合→AzureとCross-Cloud接続して、AzureのIoTサービスを利⽤ ※OCIでIoT関連サービスがリリースされると嬉しい 今後 & 要望 27 Copyright © Atomitech Inc. All Rights Reserved.