301 Views
October 06, 21
スライド概要
https://www.acquia.com/jp/events/webinars/acquia-devchannel-vol28
FPT ジャパン エグゼクティブエバンジェリスト 独立行政法人 国立印刷局 デジタル統括アドバイザー兼最高情報セキュリティアドバイザー Microsoft で13年間、テクニカルエバンジェリストとして .NET、C#、Visual Studio、Windows、iOS、Android、Microsoft Azure 等の開発者向け技術啓発活動 (DevRel) 。Dell、Accenture、Elastic、VMware 等での DevRel 後、2024年11月1日より現職で DevRel 活動を開始。NVIDIA との戦略的協業 AI GPU クラウド、Azure/AWS/GC 上の AI &データ関連サービスのマーケティング、プリセールス、教育、関連新規サービス開発。元内閣官房 IT 総合戦略室 政府 CIO 補佐官(兼務)、元デジタル庁 ソリューションアーキテクト(兼務)。
Elastic 概要 鈴⽊ 章太郎 Elastic テクニカルプロダクトマーケティングマネージャー/エバンジェリスト デジタル庁 プロジェクトマネージャー
Shotaro Suzuki Twitter : @shosuz Elastic Technical Product Marketing Manager/Evangelist デジタル庁 プロジェクトマネージャー 元 Microsoft Technical Evangelist
About Elastic Elastic 会社概要 Distributed by design 2012 年設⽴ IPO 2018, NYSE: “ESTC” 40 カ国以上で 2,000 ⼈の従業員 3 億 5,000 万以上のダウンロード、 12,000 以上の企業での採⽤ 世界の #1 データベース検索エンジン (DB-Engines)
3 Solutions, 1 Stack, Deploy Anywhere 3 つのソリューション Elastic エンタープライズサーチ Elastic オブザーバビリティ Elastic セキュリティ 可視化 & 管理 Kibana Elastic Stack Beats 豊富なデプロイ選択肢 蓄積、検索、分析 Elasticsearch Logstash Elastic Cloud Elastic Cloud Enterprise SaaS (AWS/Azure/GCP) IaaS (クラウド & オンプレ) Elastic Cloud on Kubernetes Kubernetes (クラウド & オンプレ) 収集
ELASTIC ENTERPRISE SEARCH どこでも、すべてを検索 Web サイト、アプリ、ワークプレース全体 で、強⼒で最新の検索エクスペリエンスを 簡単に実装できます。簡単にそれらを すべて検索できます。 Workplace Search App Search Site Search
⽇本語のサジェスト機能を実装する際の課題と Elasticsearch を使⽤してこれらの課題を克服する⽅法 https://www.elastic.co/jp/blog/implementing-japanese-autocomplete-suggestions-in-elasticsearch … ⽇本語のサジェストの例 詳細な説明に⼊る前に、⽇本語のサジェスト機能の実装例を⾒ てみましょう。 主な要件 •ユーザーが検索キーワードを⼊⼒すると、関連する候 補が表⽰される。例︓「⽇本」と⼊⼒すると、「⽇本」、 「⽇本 地図」、「⽇本 ⼈⼝」などが提案される。 •不完全な検索キーワードを⼊⼒した場合でも、関連 する候補が表⽰される。例︓「にほn」と⼊⼒すると、 「⽇本」、「⽇本 地図」、「⽇本の⼈⼝」などが提案さ れる。 •タイプミスした場合でも、意味の通る候補が提案され る。例︓「にhん」、「にっほん」、「⽇本ん」と⼊⼒すると、 「⽇本」、「⽇本 地図」、「⽇本の⼈⼝」などが表⽰さ れる。 •候補となる単語が、キーワードが検索された回数が多 い順に⼀覧表⽰される。 ...
EC サイトを例にした検索のエクスペリエンス フリーワード検索 絞り込み ソート 集計 ハイライト サジェスト ページング
ELASTIC OBSERVABILITY エコシステム全体で 統⼀された可観測性 ログ、メトリック、トレースを、1つの スタックに纏めると、イベントを監視、 検出、および処理できます。 Logs Metrics APM Uptime
無料かつオープンな アプリケーションパフォーマンス監視 https://www.elastic.co/jp/apm https://www.elastic.co/guide/en/apm/agent/rum-js/5.x/react-integration.html
ELASTIC SECURITY セキュリティを確保する ためのプラットフォーム Elastic Security は、エンドポイント セキュリティと SIEM を統合して、 インフラ ストラクチャ全体での保護を ⼀元化するための予防、収集、検出、 および応答機能を提供します。 Endpoint SIEM
幅広い展開⽅法 お客様のニーズに合わせて最適なサービスを選択する セルフマネージド スタンドアロン 単⼀のパッケージを インストールする Elastic Cloud SaaS AWS、Azure、GCP に 即座にデプロイ Elastic Cloud Enterprise Elastic Cloud on Kubernetes オーケストレーション インフラ上で複数の展開を⼀元管理
Elastic Cloud デプロイ (Elastic & 各 Marketplace) Elastic https://www.elastic.co/jp/ AWS https://aws.amazon.com/marketplace/ Azure https://portal.azure.com/#create/hub GCP https://console.cloud.google.com/marketplace
なぜ Elasticsearch なのか︖ 企業では主にリレーショナル データベースを使⽤して データを格納 • • • • テーブルを簡単に結合し必要なデータベースからこのデータを取得できる しかし、時間の経過とともに、データベースとテーブルが肥⼤化して、数百万のデータセットを 含む⼤規模なデータベースになると、操作を実⾏できなくなる ⼀⽅、Elasticsearch は、数百万のドキュメントを数秒で簡単に検索できる Elasticsearch は柔軟で強⼒、オープンでフリーな 分散型リアルタイム検索及び分析エンジン • • • • Elasticsearch はドキュメントベースのデータベースでデータを JSON 形式で保存(⾮正 規化) Elasticsearch は、アプリケーションの強⼒な検索ツールとして使⽤できる インデックス、ドキュメント、フィールド等を作成し、データを Elasticsearch にプッシュで、検 索の準備が整う Elasticsearch の 2 つのユニークで重要な機能 • • • ⽔平スケール ⾼可⽤性 Elasticsearch
⾃動的にデータを分散 インデックスをシャードと呼ばれる複数の部分に分割する機能を提供 シャーディングが重要な理由 • • • • • • コンテンツボリュームを⽔平に分割/スケーリング可能 シャード間(場合によっては複数のノード上)で操作を分散および並列化できるためパフォーマンス/スループットが向上 インデックスを作成するときは、必要なシャードの数を簡単に定義できる 各シャードは、それ⾃体が完全に機能する独⽴した「インデックス」であり、クラスター内の任意のノードでホストできる https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
Elasticsearch の概念 - インデックス・ドキュメント・フィールド Elasticsearch 具体例 の概念 • • • • • • Elasticsearch は分散ドキュメント ストア 保存されるデータの最⼩単位が ドキュメント ドキュメントは、フィールドと呼ばれる 複数の属性を持つ インデックスはドキュメントの集合 SQL Server, MySQL, postgreSQL 等 インデックス 書籍データが格納 される場所 テーブル ドキュメント 書籍データ レコード フィールド 書籍タイトル、著者、 カラム ISBN、出版⽇、等 RESTful Web サービスの設計原則に従って設計 HTTP メソッドを使って CRUD による⼀通りのドキュメント操作が可能 https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
CQRS(コマンドクエリー責任分離)との関係 • • 「コマンド クエリ責務分離 (CQRS)パターンは、データ ストアの読み取り操作と更新操作を分離します。 アプリケーション内に CQRS を実装すると、そのパフォーマンス、スケーラビリティ、セキュリティが最⼤化される場合があります。 CQRS への移⾏によって⽣ まれる柔軟性により、システムは時間の経過と共にさらに進化し、更新コマンドでドメインレベルのマージ競合が発⽣することを防ぐこと ができます。」 Elasticsearch はこのアーキテクチャに極めて整合性⾼い https://docs.microsoft.com/ja-jp/azure/architecture/patterns/cqrs 例︓ Cloud Functions
デモアプリアーキテクチャ例1 プロジェクト iOS/Android Mobile App データ保存 React Native Elastic APM Agent Cloud Function で同期 全⽂検索クエリ https://google-cloud-daydigital-2021.es.asianortheast1.gcp.cloud.es.io: 9243 検索結果 VSCode Cloud Function Firebase Firestore northeast1-b リージョン マスターノード x 1 データノード x 2 ML ノード x 1 Elastic Cloud
デモアプリアーキテクチャ例2 iOS/Android Mobile App Azure App Service React Native Elastic APM Agent ASP.NET 5 Web App, Blazor App Azure Functions Azure Cosmos DB データ保存 Change Feed Azure Functions で同期 検索・更新 UI APM .NET Agent 東⽇本リージョン マスターノード x 1 データノード x 2 ML ノード x 1 Elastic エンタープライズサーチ VSCode APM SPA Agent https://f79...c67.japaneast .azure.elasticcloud.com:9243/ 全⽂検索クエリ Reactive Search 検索専⽤ UI 検索結果 Azure Static Web Apps Elastic Cloud Azure サブスクリプション
Elastic Observability サンプルアプリ on Kubernetes Azure Kubernetes Services 東⽇本リージョン マスターノード x 1 データノード x 2 ML ノード x 1 Filebeat Logstash Metricbeat MySQL React / Node.js VSCode APM SPA Agent Elastic Cloud Azure VM (Linux) https://f79...c67.japaneast.azure.elasticcloud.com:9243/ Azure サブスクリプション https://github.com/michaelhyatt/k8s-o11y-workshop
ElasticON Global 10/5-10/7 https://www.elastic.co/elasticon/global
Microsoft Japan Digital Days (10/12-14) https://www.microsoft.com/ja-jp/events/top/digital-days.aspx https://www.microsoft.com/ja-jp/events/top/digital-days/session/
Thank you for your attention!