はじめに
この分野は「AWS認定クラウドプラクティショナー」という書籍によると、本試験の26%を占めるらしいです。つまりここを覚えるだけで知識0から26点は取れるという訳ですね。
クラウドの概念とメリット
【クラウドとは】
クラウドとは、「インターネット経由で他のコンピュータを使えるよ」ということです。その際に利用した分だけ支払うもの(従量課金制という)であるというのが特徴として1つ挙げられます。
【オンプレミスとは】
自分たちで買うサーバーのことです。(厳密にはそうではありませんが、ここではそういうことにします)。OSのインストールやら、サーバーを保管する場所の管理やらで手間がかかります。
【AWSクラウドを使うメリット】
1.サーバー費用が、固定費ではなく変動費になる
自社でサーバーを買った場合、サーバーを設置する場所や、サーバーそのものは「固定費」として支払わなければなりません。しかし、AWSを使用すれば、厳重に管理されたサーバーを使わせてもらうだけなので、それらの費用がかからないのです。使った分だけお金がかかる、つまり「変動費」になるという訳です。
2.Amazonがデカい会社なので値段が安くできる
参考書には「スケールによる大きなコストメリット」と書かれていました。しかし、この表現は直感的に分かりづらいので変えさせていただきました。Amazonはデカい会社でみんなが使ってくれるから、安くしても儲かるよ、だから安く提供できるよ、ということです。
3.キャパシティ予測が不要
オンプレミス(自社で買う)と、そのサーバーを買う前に、それ自体の性能がどれくらいの物が良いのか検討しなければいけない。しかし、AWSを使うなら後からいくらでも変更ができるので、その必要がなくなる。
4.早い
オンプレミスだとOSのインストールやら、サーバーの設置やらで時間がかかる。しかし、AWSを使用する場合はそれらが必要ないので早い。
また、例えばアメリカにサーバーを設置したいとなれば、オンプレミスであればそこまで出向かなければいけない。しかし、AWSであればWebページからポチポチするだけでアメリカにあるサーバーを使用できる。
5.サーバーを置く場所そのものの管理が不要になる
サーバーを置く場所(以下”データセンタ”)の管理をしなくて済むということ。オンプレミスだとデータセンタのセキュリティや冷房管理などのコストがかかる。しかし、AWSを使用すればAWSの提供するサーバーを借りているだけなので、それらのコストがかからなくなる。
クラウドで設計を行う場合に重要な点
1.故障しないように作る(当たり前)。だが、この故障しないように作るというのをAWSで「Design for failure」というので覚えておいた方がいい。
2.部品分けする
参考書には「システムのコンポーネントを疎結合にする」という眩暈を起こしそうな文章が書かれているので変更。なんらかの原因でシステムの一部が動かなくなっても、他の部分には影響しないように、部品分けしようねということです。全体を一個の部品にすると大変なことになります。
例えば、あなたがこの記事を読んでいる最中にPCが停止したら、あなたはこの記事を読むのをやめるしかなくなります。何らかの原因でPCが動かなくなったことによって、あなたも勉強できなくなりました。あなたが勉強を続行するにはPCをなんとか動く状態にしなければなりません。
システムでもこの状態が発生すると、ある場所が壊れたせいで、他の場所も動かなくなった~ということになります。これでは困るので、あまり互いに影響しないように設計しましょうねという訳です。
3、柔軟性の実装
システムの性能を上げたり下げたりできるようにしようねということです。AWSサーバを借りている訳なので、使った分だけお金が取られて行きます。しかし、本来使わないんだけど無駄にサーバの性能が高かったとなると余計な費用がかかります。なので、その本来使わない場所を使わないようにしようねということです。
4.並列化
並列処理させるようにしましょうということです。同じような処理を1つの場所でやるのではなく、複数の場所で行うことによって高速化を図ることを並列化といいます。
コンビニのレジという同じような処理を1人でやるのではなく、複数人でやりましょうということです。ここでお客さんがじゃあどのレジに並べばいいのかを指示してくれる存在を「ロードバランサー」と呼びます。
5.使う人の近くにデータを置く
参考書では「動的コンテンツデータをコンピュータの近くに、静的コンテンツデータをエンドユーザーの近くに保管する」と書かれています。
静的データ(ユーザーが見る場所としておきます)はユーザーの近くのサーバ―に設置した方がアクセスが早くていいですよね。日本からブラジルサーバーに接続するより、東京サーバーにアクセスする方が早いはずですから。
動的データ(データベースの変更など)は一度一か所に集めて一括で処理した方がいいですよね。いちいち別な場所で処理をしていたら、統一性を持つのが大変ですから。
重要点まとめ
・クラウドはインターネット経由でコンピュータを借りるサービスである。
・オンプレミスとは自分で用意するコンピュータのことである
・AWSにはメリットがたくさんある。全部覚えた方がいい。
・AWSを使用するシステム設計でやるべきこともたくさんある。全部覚えた方がいい。