おもしろ 学び 技術・科学 日々

サーバを立てるのがえらく楽になっているのね

投稿日:

著者になりたい人をITの基本からサポートする読書と編集のにゃおです。

久しぶりにIT系の勉強をしはじめたことを書いてみます。

人工知能の勉強をする

とあるきっかけで最近の人工知能技術について実際に手を動かして学んでみることにした。今は人工知能と言ったらPythonを使うのが主流だ。pythonを動かすだけならMacは最初から対応している。でもそれだけじゃ面白くない。

どうせなら学びのためのサーバを立ててしまおうという気になった。Jupyterというwebノートアプリを見つけたからだ。これの何が面白いかと言うと、ノートの中にPython(じゃなくてもいいけど)のコードを書いて実行すると、その結果をノートに書き出してくれるのだ。

今の人工知能技術はすごく単純化して言うと、行列演算をすばやく大量にやるということで、Pythonにはそのためのライブラリがたくさんあるから重宝されているのである。で、それらを勉強するときに、ノートを取りながらコードを書いてさらに実行できるというのはなかなかナイスな体験なのである。

Webのサーバを立てること

Webサーバを立てるというのはちょっと前なら結構面倒だった。サーバ用のマシンを用意して、OSをインストールして、httpサーバを立ち上げて、更にアプリケーションを設定して載せる。という感じ。

今でもやることは変わらないんだけど、簡素化のための仕組みがいろいろあって、ぐんと楽になっている。

どんな感じかと言うと、

  • サーバマシンを用意する(Windows10 Proか、Mac、公開するならAmazon EC2とか、Google Cloud Platformでインスタンスを用意する)
  • Dockerをインストール(コマンドを1つか2つ打つ)
  • Docker Hubから作りたいアプリケーションサービスのコンテナを選んで引っ張ってくる
  • Docker上でアプリケーションサービスを実行する

まあ、手順で見るとあまり変わっていないように見えるかもしれないけど、公開用のサーバを作るのもAWSとかGCPのコンソールからこのマシンと選んで起動するだけだし、そのマシンにコマンドラインコンソールを接続したら、あとはコマンドを数行打つだけ。それもググった結果をコピペすればよい。という程度。

Jupyterノートを使いたかったら、その設定がなされたDockerコンテナがあるから、それをDocker上にもってきて動かすだけだ。コンテナは誰かが設定してくれたサービスイメージを固めたもので、とにかく実行するだけなのである。

Dockerから先はWindowsでもMacでも他のLinux系OSでも同じである。僕は一時間ほどでWindowsとMacとAWSのEC2の3つでJupyterノートを立ち上げて動かしてみた。わからない人にはピンとこないだろうけど、前はサービスを立ち上げるのは一日がかりだったから、どんなに簡単になったのか想像して欲しい。

お勉強開始

しかしサーバを立てるのが目的ではない。人工知能の勉強をするのが目的。

本を読みながらコードをポチポチ打って実行してみるというのはプログラミングの勉強の常道だ。しかし、今までは実行した結果を確認するだけで、エディタを起動し、プログラムを打ち込み、実行するというのが普通だった。その時わかったこととか、ポイントとかは別にノートを取らなければならなかった。しかしJupyterノートはそれらを一緒に記録することができる。ちょっとコードを書き換えて実験するなんてこともとても簡単。素晴らしい。

というわけで、これを仲間と一緒に使える状態にもっていくのをサブ目標としてJupyterをいろいろいじっている。

サーバの設定を丸ごととっておくことができて、それをいつでも切り替えて実行できる。素敵な時代がやってきたなと思うのであった。







書いた人

nyao

nyao

本を読むのが大好きです。積読本が多数。システムエンジニア経験あり。プログラミング言語はRubyが好きだけどPHPとJavaばかり書いている。最近はJavaScriptも好きになってきた。クラウド使ったお仕事募集中。

プロフィールを表示 →

-おもしろ, 学び, 技術・科学, 日々
-,

Copyright© NyaoPress 読書と日常 , 2018 All Rights Reserved.