例えば、こんな組み合わせで全体設計が可能です。この全体設計をたたき台にして、個々のアプリケーション要件次第で柔軟にカスタマイズできます。
-
モバイルアプリケーションのサーバーサイド
要件: モバイルアプリから随時データが送信されてくる。その情報を受信し、データの加工・集計をして、タイムリーに可視化したい。
選択パターン: モバイルバックエンド、ログデータ収集処理、シンプルなデータ加工
加えて BI ツールを使って可視化する部分を追加。
-
IoTアプリケーションデザイン
要件: 機器から随時データが送信され、そのデータを収集し、機械学習させる。また、モバイルアプリから機器の遠隔操作を可能にする。一部の機器については Alexa によるボイス操作を可能にしたい。
選択パターン: IoT バックエンド、モバイルバックエンド、Alexa スキル、ログデータ収集処理、機械学習パイプライン
-
データ処理パイプライン
要件: 連続的にデータが流入。それらに対して随時加工・集計などの処理を実施、定期のバッチジョブで最終データを活用。
選択パターン: シンプルなデータ加工、イベント駆動の処理連携、バッチジョブ・ETL フロー処理
-
ログデータ処理 - SIEM
要件: 顧客システム、AWSサービスのログ、IPSログなどを統合監視したい。ログデータの増加に対応できるスケーラビリティを確保しつつ、監視システムとしての運用工数を抑えたい。
選択パターン: シンプルなデータ加工、イベント駆動の処理連携 + 可視化(OpenSearch)
→
これを実装するための全体的な仕組みとして構成されたオープンソースのソリューションがあります。