IoTプラットフォーム・機械学習基盤の構築
携帯ネットワーク、無線インフラなどの進化により、インターネットは私たちにとって身近なものになってきました。それによって、私たちの活動の様々なデータが収集されるようになってきています。さらに、様々な物に通信機能を持たせることにより、データの幅も広くなりつつあります。
デージーネットは、これまでに様々なオープンソースソフトウェアを活用して、インターネットサービスプロバイダやインターネットサービス事業者のシステムを構築してきました。こうしたシステムでは、もともと利用者が多く、膨大なデータを整理して管理し、高速に動作することが求められて来ました。また、データの保全についても非常に重要視されています。
デージーネットでは、こうした経験を活用して、IoTプラットフォームや機械学習基盤の構築を行っています。
IoTプラットフォーム
IoTプラットームには、図のような構成要素があります。
IoTエンドポイントは、携帯ネットワーク、無線インフラなどのIoTインフラを経由して、インターネットに接続されています。IoTエンドポイントで収集したデータは、こうしたネットワークインフラを通して、クラウドインフラに送られます。収集されたデータは膨大です。すなわち、ビッグデータとなります。
従来は、このようなデータを処理するためには、スーパーコンピュータが利用されて来ました。しかし、そのために必要なコストは膨大で、一部の研究者や大企業しか利用することができませんでした。このような問題を解決するために、汎用的なサーバコンピュータを集めたコンピュータクラスタが使われるようになりまじた。
コンピュータクラスタの中では、大量のデータを分散して管理します。また、コンピュータクラスタの計算資源を利用して解析処理を分散して行います。分析は、エンドユーザの解析アプリケーションが行いクライアント機器で可視化されます。
IoTプラットフォーム、機械学習基盤とオープンソースソフトウェア
このようなIoTを構成するシステムのうち、IoTインフラ、インターネットインフラは、これまでのインターネットの技術を発展させたものです。インターネットの通信技術の多くは、オープンソースソフトウェアで実装されています。そのため、IoTネットワークでも、多くのオープンソースソフトウェアが使われています。
また、コンピュータクラスタを実現する技術は世界中で研究されてきました。そうした技術の多くが、オープンソースソフトウェアとして公開されています。そのため、特にビッグデータの分野は、製品ではなくオープンソースソフトウェアが市場を牽引する初めての分野であると言われています。
解析アプリケーションでは、機械学習やAIエンジンなどの技術が使われます。こうした技術の核となる部分も、GoogleなどがオープンソースソフトウェアとしてAIエンジンを公開しています。アプリケーション開発ベンダーは、こうしたオープンソースソフトウェアや製品ソフトウエアを活用して、解析アプリケーションを開発します。
機械学習基盤
機械学習基盤とは、機械学習を行うために必要な様々なリソースを用意し、迅速に機械学習のモデリングや実験を行えるようにするための設備です。機械学習によるシステム開発を円滑に行うためにはコンテナを利用することが多く、機械学習基盤としてコンテナ型仮想化の技術が使われています。
デージーネットの取り組み
デージーネットは、これらの構成要素のうち、主にコンピュータクラスタの分野を手がけています。大容量のデータの保存のためには、オブジェクトストレージ、ソフトウェアデザインドストレージ(SDS)、分散ストレージなどの技術を利用します。こうしたストレージ技術には、デージーネットがもっとも得意とするコンピュータの冗長化の技術や、プライベートクラウドの技術が利用されています。DRBD9、OpenStackのストレージ技術などを利用します。
大容量のデータを高速に解析するためには、データベースの分散が必要です。RDBの分散技術としては、MySQL Galera Clusterなどの技術を利用します。また、NoSQL、KVS(Key Value Store)と呼ばれるRDB以外のデータベースとして、MongoDB、Cassandraなどを利用します。
コンピュータクラスタを構成するには、プライベートクラウドの技術が必要です。デージーネットでは、OpenStack、CloudStack、Nutanixなどのプライベートクラウド技術を利用しています。
機械学習基盤では、コンテナ型仮想化の技術も利用します。デージーネットでは、docker/Kubernetesを利用した機械学習基盤の構築を行っています。
コンピュータクラスタ上で動作する分散プラットフォームとしては、Hadoop、Apache Sparkなどを利用しています。また、分散解析エンジンとしては、Elasticsearch、Apache Solrなども活用します。
IoT・ビッグデータで必要なコンピュータクラスタを構築するためには、このような様々なオープンソースソフトウェアが必要です。デージーネットは、オープンソースソフトウェアの専門家として、先進的なIoT・ビッグデータのインフラ構築、システムの設計・改善などのコンサルティングに取り組んでいます。
IoTプラットフォーム・機械学習基盤の構築
Elasticsearchを使ったログ解析システム構築事例
CATVのインターネットサービスでは、障害の対応や犯罪捜査への協力のために、IPアドレスから利用者を特定しなければならない場合があります。従来は、DHCPサーバ、WWWサーバ、メールサーバ、課金システムなどの膨大なログをgrepコマンドを使って調査し、利用者を特定していました。そのため、調査は大変時間がかかる作業でした。この調査を効率化できないかと相談を受け対応しました。
Apache Solrによるメール全文検索システム事例
デージーネットが以前に構築したインターネットサービスプロバイダのメールシステムについて、メールの検索が遅く、検索をするとシステムの負荷も高くなる状態を改善できないかと相談を受けました。デージーネットからは、IMAPサーバのdovecotに全文検索の機能を付加する提案をし、実際に導入を行いました。
Graylogによるセキュリティログ管理サーバ事例
ISPを運営しているお客様から、セキュリティログの検索やログの管理を効率よくできないかという相談がありました。外部からの問い合わせで、IPアドレスから顧客を特定したい場合や、サーバに攻撃があった場合に、素早くログを解析し対応できるようにするためです。そこで、デージーネットからはGraylogを提案しました。
IoT開発基盤構築でのKubernetes活用事例
IoT開発基盤構築にKubernetesを活用しました。これまで、プロジェクト単位でクラウドを契約していましたが、以前よりも多くの部門がIoTを扱うようになりました。IoT開発基盤では大量のデータを扱います。そのため、クラウドを利用するコストメリットが薄れてしまいました。そこで、オンプレミスで大容量のIoT開発基盤を構築し、一定のコストで継続的に使えるIoT開発基盤を実現しました。
IoTプラットフォーム用HTTPプロキシ構築事例
これまで、各家庭にあるIoTデバイスから送信される大量の情報を、インターネットを経由せずにセンターにあるIoTプラットフォームに送信していました。しかし、今回システムを新しく構築することになり、その際にインターネットを経由してIoTデバイスからのデータをセンターのIoTプラットフォームに送信する構成を検討されていました。そこでOSSを活用したIoTプラットフォームを構築しました。
GridDBとGrafanaを利用したIoTデータ収集システム事例
電子機器の開発を行うお客様から、電源管理システムについてのデータ管理をしたいというご要望がありました。そこでデージーネットではスケールアウト型NoSQLデータベースで、IoTアプリケーションで生成される膨大な量のデータを把握・分析するために、効率よく処理するGridDBとダッシュボードツールのGrafanaを提案しました。
Graylogを利用したログ管理サーバの構築事例
今回は、通信事業者様にログ管理サーバを構築し導入した事例です。お客様からは、ログの管理が煩雑な部分や、ネットワーク機器の障害に素早く対応したいなどの課題を相談されました。従来Syslogサーバを利用していましたが、コマンドでログインしてログを確認するなど運用が難しいという課題もあったため、Graylogを提案し導入しました。
GraylogとLogstashによるログ収集システム構築事例
今回は、通信事業者様にログ収集及び検索システムを構築した事例についての記事です。お客様は、既存のログ収集システムの更改を検討されていました。システムを起動した際に高速に検索でき、過去のデータも検索できるようなものが良いというご要望に対し、GraylogとLogstashを利用したシステムの構築をご提案しました。
GraylogによるLinux/Windowsに対応したログ収集・検索システム構築事例
今回は、医療関係のお客様に統合ログ管理システムを導入した事例です。お客様は、Linux、WindowsそれぞれのOSの仮想マシンを運用しており、それぞれのログをまとめて収集できるシステムを検討していました。
ビジネスチャットシステム構築でのKubernetes活用事例
今回は、ビジネスチャットシステムをKubernetesを活用してコンテナ化し導入した事例です。お客様は、これまで社内でRocket.Chatを利用していましたがユーザ数が多く、複数台の負荷分散が必要なためコンテナ化を検討していました。そこでKubernetesを活用し、Rocket.Chatのコンテナ化とRocket.Chatの会話ログシステムを構築しました。