2013年3月27日水曜日

なぜAmazon Web Servicesを使うべきなのか


弊社では、ぼちぼちとAmazon Web Services (AWS)を試用してきておりますが、色々使ってきてみて思うのは、AWSは素晴らしいシステムであり、特別な用途を除けば原則としてこれからのシステムはAWSで構築するのが良いのかなと思いますね。

AWSが優れている理由は、とにかく運用やソフトウェア開発を楽にする機能が豊富に揃っており、運用までをフルサポートしてくれる垂直統合環境であり、APIやソフトウェア、ドキュメントの品質や使いやすさが極めて優れていることです。そのため、システム開発運用のコストが大幅に下がり、システム運用の品質を上げることができます。


まずAmazon EC2 (仮想マシンホスティング)から説明すると、一つにはAmazon LinuxというEC2専用のLinuxがあることは大きなメリットです。

Amazon EC2のインスタンスに最適化されていますので、簡単に安定利用できるだけでなく、OSアップデートもyum updateするだけで安心して行うことができます。そのため、サーバーが陳腐化してシステム移行が必要になることがありません。これにより、システム移行工数(数人日~数人月)が削減できるのは大変なメリットです。より大きいサーバーに変えることも一瞬でできます。

EC2の有用性はEBSという外部ストレージのサービスを使うと、さらに強化されます。インスタンスのスナップショットによるフルバックアップを1クリックで取ることができますし、スナップショットをひな形にして新しいサーバーを立ち上げることも簡単にできます。(自動で定期的にフルバックアップを取得する機能がないのは不可解ですが....)

Amazon Route53は、DNSのホスティングというニッチな領域ですが、非常に便利なサービスです。AWSの持つ信頼性や、グローバルな拠点を活かして、世界中の顧客に高速なDNS解決を提供できます。もう、わざわざ脆弱性だらけのBINDなどをDNS権威サーバとして使う必要はゼロでしょう。

Amazon S3は、システム開発を圧倒的に簡単にするという点で大きな価値があります。これまでは一つのサーバーの容量を超える多数のファイルを格納するためには、極めて高額なストレージ製品を使うか、独自で分散ファイルシステムを構築しなければ行けませんでした。それがS3では、圧倒的に簡単に運用を行うことができます。

Amazon S3とGlacierを利用すれば、ログやバックアップなども簡単かつ安価に保存していくことができます。

DynamoDBのような分散データベース環境は、素人が運用するのは極めて困難ですので、それが管理まで任せられるというのも大きなメリットだと思います。ただし現時点では、1クリックでバックアップを取るような機能がついていませんので、その点では運用性がまだいまいちかなと思います。

Amazon Cloudfrontは、コンテンツ配信システム(CDN)であり、ファイルや画像などを世界中に高速配信することができます。弊社では、一部サービスで海外からの表示を高速にするために使っています。Akamaiのような高額なCDNに比べて、無料みたいな値段で使えるので、ちょーおすすめです。


AWSを使う上で気をつけるべき点としては、EC2は他社レンタルサーバーより割高なことと、メール送信に許可が必要なので非常に面倒くさいことですね。

まずEC2から外部へメールを送るためには、基本的に許可を得ないと送れません。その時点でかなり面倒です。さらに不着率が高かったりすると許可を剥奪されます。

Amazon SES(バルクメール送信サービス)を使ってメールを送信すると30%程度の不着率で数千件メールを送っただけで、許可を剥奪されてしまい、英文で釈明するはめになりましたので、非常に使いにくいかなあという印象です。

メールサーバーは別のサーバーを利用するなり、他社のサービスを利用するなりしたほうが良いかもしれませんね。このあたり改善を期待したいところです・・・

ほかにAWSが不向きなシステムとしては、大量の計算資源を継続的に使い続けるものですね。やはりその場合は、自前で構築する方がずっと安くなります。但し、大企業や官公庁が大手システムインテグレーターに依頼して構築・運用するよりはAWSの方が安いと思いますが。

例えば、動画配信など、継続して大量のストレージや回線を使う場合があるでしょうか。またHPC(スーパーコンピューター)なども継続してずーっと使い続ける場合も同様ですね。この場合は、色々とハードウェアやデータセンターの調達を工夫することで、自社調達すれば、AWSよりもコストを下げることができると思います。

弊社でも動画のストレージは自社で運用してますが、S3よりもストレージコストは大幅に割安です。そのあたりは工夫次第かと思います。

うまくAWSを使いこなしていくことが今後のシステムでは基本となることは間違いないと思います。AWSは他社に比べると機能や技術力で圧倒的に上をいっていますので、しばらくはAWSの圧倒的優位は揺らがないでしょう。

クラウド以外ですと、市販ソフトウェアやオープンソースソフトウェアで、AWSと同じような機能を謳う物はいろいろありますが、あまり信用しないほうが良いかと思います。実際はうまく動かなかったり、操作性や運用性が著しく悪かったりと、品質問題が多発しますので。

0 件のコメント:

コメントを投稿