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

Developer_Webinar_Series_2020_Digest

 Developer_Webinar_Series_2020_Digest

Avatar for kamorisan

kamorisan

July 17, 2020
Tweet

More Decks by kamorisan

Other Decks in Technology

Transcript

  1. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. 1 モノリスなレガシヌアプリケヌションのマむクロ サヌビス化など、クラりドやコンテナず芪和性

    の良いアヌキテクチャぞずモダナむズする方 法論に぀いお、 Red Hatのベストプラクティス などをベヌスにお話したす。 Cloud Nativeを芋据えたアプリケヌ ションアヌキテクチャずレガシヌモダナ むれヌション 束田 絵里奈 Senior Specialist Solution Architect, Red Hat K.K. コンテナベヌスでの DevOpsのプロセスのベ ストプラクティスや、開発環境自䜓のコンテナ 化によっお開発環境の構築や維持にかかる 劎力を削枛できる CodeReady Workspacesを ご玹介したす。 コンテナ時代の開発ツヌルチェむンず 開発プロセスのベストプラクティス 須江 信掋 Associate Manager of Specialist Solution Architect / OpenShift Specialist, Red Hat K.K. マむクロサヌビスやサヌバヌレスの実践にお ける課題や考慮点ず、その察策ずしおのサヌ ビスメッシュや分散トレヌシングに぀いお玹介 したす。たた、メッセヌゞング (むベント)による 分散むンテグレヌションに぀いおも簡単に玹 介したす。 マむクロサヌビス/ サヌバヌレス実践入門 笹川 博幞 Specialist Solution Architect, Red Hat K.K. 新旧アプリケヌションや倚様な SaaS利甚など で進むシステム分散化に察凊するためには、 党おのシステムをセキュアに連携する APIの 蚭蚈、実装、デプロむ、管理を行う基盀が必 芁です。ここではそれらをアゞャむルに実珟す るための手法をお話ししたす。 これからのシステム連携を実珟する デゞタル基盀ずアプロヌチ 杉本 拓 Senior Specialist Solution Architect, Red Hat K.K. JavaEEアプリケヌション・サヌバヌのコンテナ 察応状況、マむクロサヌビスに適した MicroProfileの動向、そしお JavaをCloud Nativeに倉容させる革新的なフレヌムワヌク であるQuarkusに぀いお玹介したす。 クラりド/コンテナを前提ずした時代の アプリケヌション実行環境の遞択 䌊藀 ちひろ Specialist Solution Architect, Red Hat K.K. Cloud Native なアプリケヌションを実珟する 際にボトルネックずなりがちなレガシヌの巚倧 な RDBMS をどのように解䜓しおいけばよい か、どのようにデヌタ連携をすれば良いかを ご玹介したす。 Cloud Nativeなデヌタパむプラむンの 䜜り方ずオヌプンハむブリッドクラりド ぞの展開 小杉 研倪 Specialist Solution Architect, Red Hat K.K. 第回 第回 第回 第回 第回 第回 抂芁 抂芁 抂芁 抂芁 抂芁 抂芁 Developer Webinar Series 2020 Digest
  2. ハッシュタグ #RHdevjp Red Hat Developer Webinar Series 2 レッドハット株匏䌚瀟 ‹

    シニア゜リュヌションアヌキテクト 束田 絵里奈 ‹ Cloud Nativeを芋据えた‚ アプリケヌションアヌキテクチャず‚ レガシヌモダナむれヌション‚
  3. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. 3 本セッションでお話するこず‚ レガシヌアプリケヌションを‚

    クラりドネむティブなアプリケヌションに移行する際の‚ 重芁なポむントずおすすめの移行方法‚
  4. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. 4 立ちはだかる壁‚ •

    モノリシックなアプリケヌションをどう分割するか‚ • 長きにわたるメンテナンスによりコヌドがスパゲティ状態‚ • ドキュメント未敎備のためブラックボックス化‚ • りォヌタヌフォヌル開発から脱华しなければずは思うが、経隓がない‚ ‹ ‹     さお、どうする‚
  5. ハッシュタグ #RHdevjp 第1回質問ず回答ダむゞェスト # 質問 回答 1 デシゞョンサヌビスずしお切り出した 際に、耇数のルヌルがある堎合は、 ルヌルごずに別モゞュヌルに分割し

    たすか 「デシゞョンサヌビス」単䜍で぀のモゞュヌルずしたす。现かくルヌル 単䜍で関数呌び出しのようにしおしたうず、呌び出し元ず呌ばれる ルヌル偎が蜜に盞関しおしたうため、適切ではありたせん。 䞀床のデヌタのやり取りで、関連するルヌルをすべお䞀括実行できる ように蚭定すべきです。 2 珟行コヌドを䞀切芋ずに移行を行う こずが本圓に可胜なのでしょうか 珟行コヌドを最初に芋おしたうず、そこに実装されおいる手続き的な凊 理にずらわれおしたい、本来必芁な芁件を芋倱い、䞍芁な凊理たで移 行しおしたうこずがありたす。珟行コヌドを芋ずに、芁件ヒアリングから はじめお、それでもどうしおも結果が珟行ず䞀臎しない堎合にのみ、ピ ンポむントで珟行コヌドを芋に行くようにするのが効率的です。 3 「幹ずなるルヌル」はどのように決め るのでしょうか 〜回のヒアリングで埗られる、業務担圓者が皆知っおいるような業 務ルヌルを根幹ルヌルずしたす。぀たり、業務担圓者偎にずっおの 「幹」を基準ずしたす。 6 Copyright 2020 Red Hat K.K.
  6. ハッシュタグ #RHdevjp Red Hat Developer Webinar Series 7 レッドハット株匏䌚瀟 Associate

    Manager of Specialist Solution Architect 須江 信掋 ([email protected]) コンテナ時代の開発ツヌルチェむンず 開発プロセスのベストプラクティス
  7. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. 8 本セッションでお話するこず •

    コンテナの適甚によっお開発プロセスがどう倉わるか?‹ • コンテナを䜿いこなすためにはどうすればよいか?‹ • 開発者のワヌクスペヌスをコンテナ化したら?‹
  8. ハッシュタグ #RHdevjp 9 Continuous Integration and Continuous Delivery (CI/CD) Code

    Run Debug Build Int Test Package Deploy Stage GIT COMMIT RELEASE LOCAL DEVELOPMENT CONTINUOUS INTEGRATION CONTINUOUS DELIVERY ... Kubernetes? Kubernetes? Kubernetes? (1)コンテナ化はCI環境から 始めるのがオススメ (2)プロダクション環境では Kubernetesが(ほが)必須 (3)ロヌカル開発環境も Kubernetesで集䞭管理
  9. ハッシュタグ #RHdevjp New Editor: ブラりザの䞭で実行されるVS Code ▞゚ディタヌのコンテナ化: れロむンストヌルず構成の自動化 Eclipse Theia拡匵

    最先端の゚ディタヌ䜓隓を提䟛 ビルトむン: ⌁ Languages Server Protocol ⌁ Debug Adapter Protocol VSCode extensionsずの互換性 NEW EDITOR Copyright 2020 Red Hat K.K. 11
  10. ハッシュタグ #RHdevjp # 質問 回答 1 CI/CDのパむプラむンを䜜る堎合に JenkinsずTektonずどちらがおすすめ ですか どちらも䞀長䞀短がありたすので、ケヌスバむケヌスで䜿い分けおいた

    だくのがよいかず思いたす。 Jenkinsは実瞟や豊富なプラグむンがあり たすが、垞時皌働するサヌバヌが必芁なのでリ゜ヌス利甚の芳点では 䞍利ですし、コンテナ察応はネむティブ機胜ではないのでいろいろ工倫 が必芁です。Tektonはサヌバヌレスアヌキテクチャでリ゜ヌス利甚は 効率的ですが、ただただ発展途䞊であり、゚コシステムも限られおいた す。しかし、コンテナやクラりドネむティブなアプリケヌションの開発には 適しおおり、特にKubernetes/OpenShift䞊でビルドを行う堎合にはむン テグレヌションが容易です。 2 OCPでIoT、AI等の様子(芁玠?)入れ た蚭蚈は可胜でしょうか。 事䟋があれ ば共有いただければず思いたす。 可胜ですし、実際にそのような䜿い方をしおいる事䟋もありたす。 https://www.openshift.com/learn/topics/ai-ml OpenShiftの機胜をうたく掻甚いただくこずで、 AI/MLのワヌクフロヌを DevOps察応/セルフサヌビス化しおいくずいう䜿い方が倚いです。 OpenShift/Kubernetes䞊でAI/MLのワヌクフロヌを実装するための オヌプンなリファレンスアヌキテクチャ (OpenDataHub)も公開しおおり たすのでご参考になさっおください。 https://opendatahub.io/docs.html 12 Copyright 2020 Red Hat K.K. 第2回質問ず回答ダむゞェスト
  11. ハッシュタグ #RHdevjp Red Hat Developer Webinar Series 13 レッドハット株匏䌚瀟 ゜リュヌションアヌキテクト

    䌊藀 ちひろ クラりド/コンテナを前提ずした時代の アプリケヌション実行環境の遞択
  12. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. 14 本セッションでお話するこず •

    ランタむムの遞択には䜕を考慮しないずいけないのか • Red Hat が持぀ランタむム  Jakarta EE  MicroProfile
  13. ハッシュタグ #RHdevjp Fast Monolith 既存、Java EE、 Spring MVC Java EE

    MSA Monolith解䜓、 Enterprise Java MSA Fast Monolith Java EE、 Spring Tomcat Spring Boot / MVC Web Tomcat、 Spring MVC、 SpringBoot 新芏開発 リアクティブJava Java EE – Monolith からマむクロサヌビス ぞ /新芏開発 リアクティ ブ リアクティブ Java /ポリグ ロットMSA リアクティ ブJS リアクティブク ラむアント/ サヌバヌサむ ドJavaScript 新芏開発 ポリモヌフィッ ク JavaScript サヌ バヌレ ス FaaS 既存アプリケヌション Spring MSA Java MSA 新芏開発 Java / Spring MSA ゚ンタヌプラむズアプリケヌションの党景 新芏アプリケヌション 15
  14. ハッシュタグ #RHdevjp Copyright © 2020 Red Hat K.K. All Rights

    Reserved. Red Hat Runtimes ハむブリッドクラりド環境におけるアプリケヌション開発のツヌルずランタむム クラりドネむティブなアプリケヌショ ンの開発に最適化: ✓ すぐに始められる ✓ 簡単にコンテナ化 ✓ DevOpsの自動化 ✓ ツヌルずプロセスの暙準化 ✓ JDKの完党なサポヌト OpenShiftずKubernetesのサヌビスに最適化 Red Hatの開発ツヌル、CI/CDツヌル、セキュリティサヌビスず連携 アプリケヌションマむグレヌションツヌルキット Python, Go, .Net などのRed Hatによるサポヌト (ただしSLAは異なりたす) LAUNCH SERVICE JAVA WEB JBOSS WS JAVA/JAKARTA EE JBOSS EAP, OPEN LIBERTY JAVA SE OPENJDK SERVERLESS CLOUD FUNCTIONS* SPRING SPRING BOOT JAVASCRIPT NODE.JS DISTRIBUTED DATA DATA GRID MESSAGING AMQ BROKER SSO MICROPROFILE THORNTAIL, OPEN LIBERTY REACTIVE VERT.X SECURITY JAVA.NEXT QUARKUS* *Coming Soon 前 回 の 振 り 返 り
  15. ハッシュタグ #RHdevjp 第3回質問ず回答ダむゞェスト # 質問 回答 1 Quarkusを利甚する堎合、Red Hat からサポヌトが提䟛されたすか

    ? 第3回の Webinar ではサポヌトを提䟛しおいないず話したしたが、そ の倜に Red Hat から Quarkus が GA されたした。これによっお Red Hat Runtimesのサブスクリプションを賌入いただくこずで Red Hat の サポヌトを受けられたす。 2 Quarkus をネむティブむメヌゞで実 行するずもの凄く軜量に、高速に起 動するずのこずですが他にはメリット やデメリットはあるのでしょうか Quarkus をネむティブむメヌゞで䜿う時に GraalVM を䜿甚しおいた す。そのため、GraalVM の制玄は Quarkus も同様に制玄ずなりた す。たずえば Java のリフレクションが䜿えないなどが䞊げられたす。 Quarkus は䟝存関係に倖郚ラむブラリを远加するだけで䜿甚できる ようになりたすが、その倖郚ラむブラリがリフレクションを䜿甚しおいる 堎合にはネむティブむメヌゞにするこずができたせん。 3 どのフレヌムワヌクも䞀長䞀短があ るずの話でしたが、Quarkusが苊手 ずしおいる機胜、あるいはマむグレヌ ションのナヌスケヌスに合わないの はなんでしょうか Quarkus でもモノリスのアプリケヌションを䜜り、巚倧なプロセスずし お動かすこずは可胜です。しかし、アプリケヌションサヌバず比べるず Quarkusは想定する圹割がこずなるため巚倧なリ゜ヌスプヌルを効率 よく管理する機胜などは劣るず蚀えたす。この堎合、モノリスのアプリ ケヌションを耇数の小さなプロセスずしお動かすこずなどで補えたす。 17 Copyright 2020 Red Hat K.K.
  16. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. • アプリケヌションアヌキテクチャの倉遷 •

    マむクロサヌビスの課題を解決するサヌビスメッシュ • マむクロサヌビスを可芖化する分散トレヌシング • サヌバヌレスアヌキテクチャずむベントベヌスアプリケヌション • むベントベヌスアヌキテクチャを実珟するメッセヌゞングミドルりェア • むベントベヌスアヌキテクチャを実珟するアプリケヌションランタむム 本セッションでお話するこず 19
  17. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. メリット • 開発者に芁求する運甚䞊の知芋を必芁最小限にずどめる

    • 分散トレヌシングによるサヌビスの詳现情報の確認 • ポリシヌベヌスのセキュリティを透過的に有効化 • むンテリゞェントルヌティングから カオス゚ンゞニアリングたで • 匷力な可芖化ずモニタリング機胜 OpenShift Service Mesh サヌビス間通信に最適化した専甚ネットワヌク局 https://blog.openshift.com/red-hat-openshift-service-mesh-is-now-available-what-you-should-know/ 21
  18. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. OpenTracing プロトコル実装 -

    MicroProfile の仕様にも含たれる • サヌビス間のコンテキスト情報の䌝搬 • サヌビス間トランザクションのモニタリング • 根本原因の分析  なぜリク゚ストがタむムアりトしたのか ?  なぜサヌビスxがfail overしたのか? • サヌビス間の䟝存関係の分析  動的なService Discovery  リスクの発芋ず最小化 • パフォヌマンス/レむテンシ の最適化  䞀番時間のかかっおいるサヌビスは ?  どこから最適化すべきか刀断する情報を提䟛 Jaegerによる分散トレヌシング 22
  19. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. Service Microservice Function

    > 単䞀の目的 > ステヌトレス > 独立しおスケヌリング > 自動化 > 単䞀のアクション > ゚フェメラル > 自埋的 > 疎結合 サヌバヌレスアヌキテクチャぞの進化 f( ) 23
  20. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. Red Hat AMQ

    党䜓像 クラりドや IoT に察応した暙準技術をベヌスずした柔軟な ゚ンタヌプラむズメッセヌゞング AMQ Online (Messaging-as-a-Service) - メッセヌゞング機胜をセルフサヌビス化 - OpenShiftコンテナ基盀をベヌスずし、セルフマネヌゞドず Red Hatマネヌゞドの圢態で利甚 可胜 AMQ Broker - ストア & フォワヌド - 揮発性 & 持続性 - JMS 2.0フルサポヌト - 優れたパフォヌマンス AMQ Interconnect - 高性胜なダむレクトメッセヌ ゞング - 分散メッセヌゞング基盀 AMQ Streams - Apache Kafkaベヌス - ストリヌミングプラット フォヌム - 持続性のあるpub/sub - 再送可胜ストリヌム 暙準 プロトコル 察応 倚蚀語察応 クラむアント 統合管理機胜 メッセヌゞング機胜を提䟛するRed Hat AMQ 25
  21. ハッシュタグ #RHdevjp # 質問 回答 1 マむクロサヌビスずサヌバヌレスの䜿い分け が難しいように感じたした。サヌバヌレスが適 しおいる具䜓的なナヌスケヌスはどんなもの でしょうか?

    サヌバヌレスはむベント駆動のアプリケヌション、実行に時間のかかる凊理等が適しお いるず思われたす。 (䟋えばIOT等でセンサヌからデヌタを吞い䞊げたタむミングで時間のかかる分析凊理を 動かす、等) マむクロサヌビスの構成はすぐにレスポンスを返したい等、垞時起動しおおく必芁のある アプリケヌションが適しおいるず思われたす。 2 Jaeger が Red Hat Runtime に远加されたず のこずですが、OpenShift ではない環境でもサ ポヌトされたすか 今の所OpenShift䞊でのサポヌトに限定されるようです。 3 サヌバヌレスずいえば AWS Lambdaがよく䜿 われおいたすが、 Lambdaずの互換性はありた すか? 各ベンダヌが独自にサヌバヌレスを実装しおきた為、むベントの定矩を統䞀する Cloud Eventsずいうプロゞェクトが発足されたした。 このCloud Eventsの仕様に沿っおアプリケヌションを実装しおいた堎合、 基本的には互換性が保たれるはずです。 4 Redhat Service MeshはOSSのISTIO Envoy ず䜕か違いはありたすか OpenShift Service MeshはIstioにプラスしおJaeger, Kiali, Prometheus, Grafanaずセッ トで提䟛されたす。 これにより、分散トレヌシングやメトリックの可芖化等がより手軜に行えるようになりた す。 たた、Operatorずいう仕組みを䜿っお運甚できる為、むンストヌルや管理等が玠の OSSず 比べおより簡単に行えるようになりたす。 27 Copyright 2020 Red Hat K.K. 第4回質問ず回答ダむゞェスト
  22. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. 29 Developer Webinar

    第5回のテヌマ • カスタマヌゞャヌニヌずAPI • API掻甚のベストプラクティス • APIファヌストのアプロヌチ • APIのトレンド • デゞタル基盀を実珟するRed Hatのミドルりェア補品
  23. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. 30 カスタマヌゞャヌニヌを実珟するデゞタル基盀 顧客接点ずなる

    様々なチャネル バック゚ンドにある 様々な䌁業システム 顧客の行動に応じた ネクストアクション メヌル Fax Web テキスト モバむル 音声 代理店 CMS CRM SAP オンラむン 商談の提案 代理店からの 電話 支払い凊理 の実斜 泚文凊理ず 配送手続き ERP SaaS 顧客の 行動 (むベント) 顧客にずっお関連性の高い情報を 顧客が望むチャネルを通じお提䟛 DB デヌタ収集 API 最適化 自動化
  24. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. ”適切なAPIを䜜る”にはアりトサむドむンの考え方が重芁であり、 APIをプロダクトずしお捉え、デザむン思 考のプロセスを取り入れおAPIを蚭蚈しおいくAPIファヌストのアプロヌチが必芁

    31 APIファヌストのアプロヌチ フィヌドバック APIの蚭蚈に関す るフィヌドバック 実装 蚭蚈に基づいお APIを実装 APIの プロトタむプ APIのモックを䜜成 しおテスト APIの アむデア創造 どのようなAPIが有 効か 問題提起 ナヌザのペむンは 䜕か 共感 朜圚的なナヌザず の䌚話 ナヌザから共感を埗られる問題を再定矩する ナヌザからのフィヌドバックをアむデアに取り蟌む プロトタむピングの過皋で生たれたア むデアをAPIに取り蟌む フィヌドバックを通じお問題を再定矩する フィヌドバックを通じおナヌザに関する理解がより深たる
  25. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. 32 盞互補完的に䜿うこずが重芁 顧客゚ンゲヌゞメントのデゞタル基盀を怜蚎するにあたっおは、䜕か぀の技術芁玠ですべおが

    網矅できる蚳ではなく、たたある技術芁玠が別の技術芁玠を完党に眮き換えるものでもないた め、それぞれの長所・短所を把握した䞊で適材適所で䜿い分けるこずが重芁
  26. ハッシュタグ #RHdevjp Copyright 2020 Red Hat K.K. 33 デゞタル基盀を実珟するRed Hat補品

    OpenShift クラスタ むベントストリヌミング API管理 むンテグレヌション ルヌルによる最適化 GW GW Kafka 甹 ストレヌゞ チャネル SaaS / CRM Web FTP Mobile Partner 他システム SAP DB ERP Other アプリケヌション Red Hat 3scale API Mgmt Red Hat Runtimes Red Hat Fuse Red Hat AMQ Red Hat Decision Manager Red Hat Process Automation Manager Red Hat OpenShift Container Storage Red Hatミドルりェア補品 (Runtimes/Integration/Process Automation)
  27. ハッシュタグ #RHdevjp # 質問 回答 1 APIを提䟛する粒床が悩たしいのですが、どの ようなレベル・単䜍で APIを提䟛するずよいか、 ベストプラクティスはありたすか

    ? APIの粒床ず蚀った時に、 APIサヌビスの実装の粒床の話ず APIのむンタフェヌスずしお の粒床を分けお考える必芁がありたす。 APIずいうのはあくたでむンタフェヌスなので、 バック゚ンドの実装の粒床には瞛られず顧客目線でどういった機胜が必芁なのか、論理 的な単䜍でAPIファヌストのアプロヌチで蚭蚈しおいくべきであり、 APIサヌビスの実装 あるいはマむクロサヌビスの実装の粒床ずしおは、マむクロサヌビス単䜓でデプロむ可胜 な単䜍がマむクロサヌビスずしお適した粒床になりたす。 2 Microcks は API を䜿う偎のためのテストツヌ ルでしょうか。 はい、そうです。 MicrocksはAPIドキュメントからモックを䜜っお、モックサヌバずしお機胜 する補品で、APIを䜿う偎はそのモックサヌバに察しお APIリク゚ストを行うこずができるよ うになるのでテストを行ったり、 APIのプロトタむピングを行うこずができるようになりたす。 ただ、珟時点では Microcksはコミュニティプロゞェクトであり、 Red Hatからの正匏サポヌ トのある補品ずはなっおおりたせん。 3 APIの仕様曞をOpenAPIで蚘述しおいたす が、API Gatewayにむンポヌトするこずで APIを 実装しおいたす。 OpenShiftでこのようなAPI仕 様曞 (yamlファむル)からAPIの゚ンドポむントを 䜜成する補品はありたすでしょうか Red Hat Integrationにも含たれる3scaleずいうAPI管理補品にはAPI Gatewayも含たれ おおり、3scaleにOpenAPIのドキュメントを取り蟌んで APIの゚ンドポむントを API Gatewayに登録し、そのAPIを管理するこずができるようになりたす。なお、 3scaleは OpenShift䞊で動䜜したす。 34 Copyright 2020 Red Hat K.K. 第5回質問ず回答ダむゞェスト
  28. ハッシュタグ #RHdevjp 36 䌁業における兞型的なデヌタパむプラむンず課題 デヌタの生成 RDBMS デヌタの利甚 ETL DWH API

    • RDBMS の性胜向䞊は基本的にスケヌルアップ ◩ 性胜向䞊に䌎い、コストパフォヌマンスが悪化 ◩ スケヌルアップには䞊限がある • RDBMS が苊手なワヌクロヌドが増加 ◩ IoT 機噚の蚈枬デヌタやアプリケヌションが発生させるむベント ◩ リレヌショナルデヌタベヌスでは苊手ずする時系列・構造化デヌタ • Schema Evolution が困難 ◩ 曞き蟌み時にスキヌマを確定する必芁がある - Schema on Write • Command ず Query で効率的な栌玍方匏が異なる ◩ セカンダリむンデックス䜜成により、 Command の性胜が劣化 ◩ むンデックス䜜成により、ストレヌゞ容量圧迫
  29. ハッシュタグ #RHdevjp ステヌト゜ヌシングからむベント゜ヌシングぞ 37 商品 ID 圚庫 1 100 2

    30 3 50 
 
 ID 商品名 補造者 ID 1 商品 A 
 2 商品 B 
 3 商品 C 
 
 
 
 • 圚庫远加機胜 • 圚庫参照機胜 • 圚庫匕圓機胜 最新の状態を管理=トランザクションが必須 1. カヌト䜜成 2. カヌトに商品 A を远加 3. カヌトに商品 B を远加 4. カヌトから商品 A を削陀 むベント゜ヌシング ステヌト゜ヌシング むベントをすべお保存する むベントストア 珟圚の状態を衚珟する デヌタストア むベントリプレむ ドメむンむベントを保存、ドメむンむベントは䞍倉
  30. ハッシュタグ #RHdevjp 巚倧な RDBMS を脱华するパタヌン 38 CQRS CDC Command Query

    Responsibility Segregation コマンド・ク゚リ責務分離 Change Data Capture Event Sourcing むベント・゜ヌシング Data Virtulization デヌタ仮想化
  31. ハッシュタグ #RHdevjp CQRS + ES + Data Virtualization + CDC

    の適甚 39 デヌタの生成 RDBMS デヌタの利甚 Object Storage API 党文怜玢゚ンゞン CDC リアルタむム連携 LBMB むンメモリキャッシュ Command Service 仮想 DB Command Service Connector Query Service SQL on Hadoop / Spark • 曞き蟌みを RDBMS にし、Integrity を保蚌 • RDBMS は怜玢されないため、䞍芁なむンデックスは䞍芁 • 甚途ごずのデヌタ゜ヌスぞデヌタを分離 • レガシヌ分解甚の仮想 DB を䜜成 • むベントを LBMB に曞き蟌み、むベントは䞍倉 • 仮想 DB を䜿甚しお RDBMS 分解の準備
  32. ハッシュタグ #RHdevjp # 質問 回答 1 既存システムぞのワヌクロヌドを分析、再構成するこ ずでボトルネックは移動するず思いたす。埓来は RDBMS などベンダヌにより保蚌されおいた郚分が

    瞮小するず思うのですが、アヌキテクチャ移行に䌎う コストずしお考慮しなければならないのでしょうか。 考慮する必芁があるず思いたす。ボトルネックは移動しお䟋えば LBMB からメッセヌゞを取り出すずこ ろに倉わっおくるず思いたす。そこをうたく調敎しないず LBMB 䞊にメッセヌゞが滞留しおメッセヌゞが 消えるずいうこずもあり埗るので、取り出す偎もスケヌル可胜な仕組みを提䟛するこずが必芁になっお きたす。 2 Red Hatからデヌタ仮想化を行う補品は提䟛されお いたすか? 過去に Red Hat JBoss Data Virtualization を提䟛しおいたした。デヌタ仮想化の OSS Teiid を Upstream ずしおいるのですが珟圚は マむクロサヌビスに適した圢で提䟛されおおり、 Tech Preview 版をお詊しいただくこずが可胜ずなっおいたす。 3 むベントドリノンなアヌキテクチャを考える䞊で途䞭で 凊理が倱敗した堎合はどうしたらいいですか。 SAGA パタヌンなどを考慮しお通垞のむベントの凊理ずは逆にキャンセルのむベントを流すずいうこず をやったり、調敎圹を甚意しお途䞭で凊理が倱敗したらキャンセルむベントを流せるような仕組みを敎 えおおく必芁がありたす。 4 登堎する技術が非垞に増え、今たでの RDBMSの技 術だけでなく、ずおも倚くの技術に習熟する必芁があ るように感じおいたす。どの芁玠技術から孊習しおいく のが効率よく仮想化に぀なげおいけるのでしょうか。 Kubernetes、さらにその䞊で動くマむクロサヌビスの孊習がいいのではないかず思いたす。マむクロ サヌビスパタヌンの曞籍には今回ご玹介した CQRS やむベント゜ヌシングパタヌンも掲茉されおいた す。 あずは Kafka も䞀抌しです。マむクロサヌビスを REST の同期通信だけで実珟するず障害が連鎖す るため、疎結合化するために Apache Kafka を挟むアヌキテクチャをずるこずもできたす。 40 Copyright 2020 Red Hat K.K. 第6回質問ず回答ダむゞェスト