ここ2週間ほど、AWSをお試しで使ってみました。その感想を書いてみます。
ちなみに私はさくらのクラウドで3サイトほど立ち上げた経験があり、クラウドに関しては全くの素人では無いのですがAWSは未経験。
まずどうやって勉強したら良いのか?ですが、開発者用の無料利用アカウントが提供されているので、まずはアカウントを作るのが良いと思います。
実は、最初にいくつか本を買って学習を開始したのですが、この手の本は言葉の解説とか概念の説明には向いているのですが、肌感覚で理解するには向いていなかったです。
プログラミングと一緒で、とりあえず作ってみないとなんとなく理解できない。
しかも、AWSのコンソールにログインすると結構チュートリアルも豊富なので、まずこれを手当たり次第実験してみることをお勧めします。
その後に本を買ってもいいと思います。通常のサービスで使うサーバ、ネットワーク構成というのは限られているので、足りない知識を本で補足する感じです。
ではでは、個別のサービスに関しての感想を書いていきます。ちなみに使い方とかはチュートリアルを見てください。
EC2:
コンソール上からサーバを構築できてしまうサービスです。これってすごいことだと思いませんか?物理的なサーバを用意することもなく、OSもコンソール上から選ぶだけでサーバを用意できてしまうのです。
ただ、残念ながら私はさくらのクラウドでこの操作は経験済みで、新鮮味はありませんでした。
でも、昔ならばサーバを用意するのに手配から納品まで数週間、データセンター行ったり、セットアップしたりネットワークケーブルつなげたりしていたのに、それが10分くらいでとりあえず箱は用意できてしまいます。
RDS:
コンソールからデータベースを用意できるサービスです。データベースはMYSQL,ORACLE,SQLサーバ等から選べます。これは優れものです。
データベースを立ち上げるにはサーバを立ち上げた後に、さらにデータベースのソフトウェアをインストールする必要があります。
パッチが出たら当てないといけないし、結構手がかかるのです。
でもRDSならめんどくさいことはAWS側がやってくれます。立ち上げだけならコンソール上から10分くらいで終わります。
ユーザはSQLクライアントからのみ通信が可能なので、サービスの構築に専念できる。ちなみにコンフィグ周りはコンソール画面で設定です。
LAMDA:
これもなかなか素敵なサービスです。RDSではデータベースをサクッと立ち上げましたが、これはWEBのミドルアプリをサクッと立ち上げられます。
例えばJAVAで言えばTOMCATとかですね。要はWEBのミドル部分はLAMDAにお任せで、プログラマはコードを書くことに専念できるわけです。
ただし、現在は言語の制約があって、私がメインで書いているPHPには未対応。PythonとJavaには対応しているので、思い出しながら書く感じになりそうです。
また、コンソールから簡単なプログラムを書くのはいいのですが、複雑なプログラムはLAMDAで動くんでしょうか?コンソールのエディタ自体も貧弱なので開発環境としては不向きです。フレームワークも多分無理でしょう。
もうちょっと深掘りする必要がありますが、触った感じではサイトをLAMDAで全部作るというよりは外部向けのAPIを作ったりするのに向いていそうです。
S3とかネットワーク設定:
S3というのは、いわゆるファイルサーバ、FTPサーバのようなもので取り立てて目新しい感じではありませんでした。
ただS3にファイルを置けば、そのまま静的なWEBサーバーとして世間に公開できるのは結構便利かと思います。
ただ、なんかアクセス権とかセキュリティとかの設定がややこしくて、使いづらさを感じました。
また、ネットワーク設定もさくらのクラウドでやっていたので、特に目新しさはありません。
AWSではWAFがあるんですが、それとは別にACLでネットワークベースのアクセス権限を行います。さらにセキュリティグループという別の制約システムがあったり、認証周りはIAMで設定とか、なんか機能がてんこ盛り。
AWSを利用する上で、権限、役割、アクセス権を何のサービスを使ってどう管理するかがキモな気がしますが、ここがスッキリ理解できてないと使いこなすのは難しそうです。
総論
個別の印象はいろいろでしたが、全体の印象としては今までインフラ屋さんがやっていたことをAWSが全部肩代わりしましょうという意思が感じられました。
インフラ屋さんは失業するかネットワーク屋に鞍替えするしかないかもです。というかAWS屋さんという新しい職種が生まれるかもしれません。
一方、プログラマにとってはAWSをマスターしているかいないかで、その価値が変動する気がします。
正直、プログラミングができてAWSが大体使えれば、ほとんどのサイトは自分一人で作れてしまいます。そうゆう人は増えれば、お客さんはそうゆうもんだと思ってしまいます。
となると、プログラミングだけで頑張っている人は、使えない人扱いされる危険があったりなかったり。
ちなみに、いろんなサービスがありすぎて密林状態になっているのは、良い評価をしていいのか悪い評価をすべきか悩むところです。
とはいえ、これだけ便利なツールが提供されている以上、今後のサービスのほとんどはAWS(もしくは他のクラウド)上で運用されるようになるのでしょう。
ただ、ITサービスのうち80%くらいはクラウドで置き換わると思いますが、残りの20%は絶対に置き換わりません。
例えば銀行のATMや電車の運行システムがAWSになることは無いと思います。社会の基盤をアマゾンなどのクラウド業者に委託することは考えずらい。
オンプレでSIerがサイトを構築する案件は今後も残ります。
なのでクラウドってのは、ガチのSIerさんというよりはWEB寄りの人たちのための新しいインフラだという理解です。