IoT 検定を独学で合格する方法 (6. プラットフォーム)
プラットフォーム編はこれからどんどん成長し、もっと面白いことができると期待しています。 IoT の以前に、仮想化やクラウドの知識が必要となっていますが、がんばりましょう。皆様の身近なところで知らぬ間に IoT プラットフォームが実現しています。アマゾンダッシュボタンはそのいい例ですね。身近な例と関連付けができれば、理解しやすくなります。
クラウド
仮想環境 : 物理的な環境に囚われずリソースを論理的に分割・統合した環境
KVM : Kernel-based Virtual Machineです。ハイパーバイザ型仮想化ソフトです。他 に、VMware ESXiや、Windows Hyper-V、Xenがあります。 非常に便利ですね。
ロードバランサ: 外部から送られてくるデータや処理要求を、同等に機能する複数の装置に振り分けて一台あたりの負荷を抑える装置
SaaS | Software as a Service の略 |
アプリケーション(ソフトウエア)をサービスとして提供する | |
具体例: Google Apps Mai, Dropbox。 | |
PaaS | Platform as a Service の略 |
アプリケーションを稼働させるための基盤(プラットフォーム)をサービスとして提供する | |
具体例: Google App Engine, Windows Azure | |
IaaS | Infrastructure as a Service の略 |
サーバー、CPU、ストレージなどのインフラをサービスとして提供する | |
具体例: Amazon EC2 |
分散処理
分散処理とは、ひとつの計算処理をネットワークで接続した複数のコンピュータで同時並列で処理することです。Hadoopは、分散ファイルシステムである HDFS(Hadoop分散ファイルシステム) と 分散処理フレームワークである Hadoop MapReduce の2つから構成されています。 そして、オープンソースになったのが、Apache Hadoopです。この Hadoop は、MapReduce と呼ばれるデータを効率的に処理するための仕組みがあります。MapReduceシステムはデータを分割し、必要な数のコンピュータを使って並列にmapとreduceを実行し、処理結果を返します。 大規模なデータ処理を行いたいプログラマは、mapとreduceの処理内容を定義すればよく、分散処理環境で簡単に実行できるメリットがあります。 Map, Shuffle, Reduce の3つの処理がポイントです。
参考 URL: https://www.tutorialspoint.com/map_reduce/map_reduce_introduction.htm
データ処理
REST は Representational State Transfer の略で、インターネット(Web)上でいろいろな情報や機能を結びつける方法、あるいは考え方のひとつ。ただし、一般的には、インターネット上にあるさまざまな情報や機能に対して HTTP という方法(プロトコル=通信上の約束)でアクセスし、XML形式のデータとして受け取るといった意味合いで使われることが多いです。RESTで用いられるHTTPメソッドは下記のようにCRUD操作と対応付けられます。
処理 | HTTPメソッド | CRUD操作 |
登録 | POST | CREATE |
取得 | GET | READ |
更新 | PUT | UPDATE |
削除 | DELETE | DELETE |
参考URL: http://qiita.com/TakahiRoyte/items/949f4e88caecb02119aa
REST の有名どころは、アマゾンダッシュボタンでしょうか? 将来的には、イエスウィゴーダッシュボタンや、中小企業のための補助金申請ダッシュボタン等を作りたいですね。
JSON : JavaScript Object Notationの略で、XMLなどと同様のテキストベースのデータフォーマット。
Python : 現在最も注目されているプログラミング言語。非常に分かりやすく言語で、Raspberry PI 上でも動作できます。
JavaScript : プログラミング言語であり、ユーザー側のWebブラウザと、Webサイトまたはウェブサービスの相互間のやりとりを、円滑にするために使われています。
nodejs : JavaScriptはユーザーのブラウザで動作するのに対し、Node.jsはサーバー側で
動作するJavaScriptです。
XML : eXtensible Markup Language の略。テキストファイルで、「情報の意味」と「情報の内容」で構成されています。
RPC : Remote Procedure Call の略。ネットワークによって接続された他のコンピュータ上でプログラムを呼び出し、実行させるための手法のことです。
メモリデータベース : データを全てメインメモリ上に格納する方式で構築されたデータベースのことです。一方、HDDなどのディスクストレージにデータを格納する(従来型の)データベースは「オンディスクデータベース」などと呼ばれています。
IoT 検定に興味がある方は、「 IoT 検定」 一覧へ