clock2015.11.25 08:21
SERVICE
home

クラウド時代の技術者はコストを意識しなくてはいけない

AUTHOR :   ギックス

システムの動作環境はオンプレミスからクライドにシフトした。技術者の意識もシフトする必要がある

近年、Amazon Web Services(AWS)やMicrosoft、Googleなどが優れたクラウドサービスを提供することで、企業では自社でサーバーを保有するオンプレミスからクラウドサービスへの移行が進んでいます。そのため、システム開発現場でもクラウドサービスの開発案件が多くなっています。しかし、システム開発者の中にクラウドサービスの”コスト”について意識して開発している技術者はどれだけいるのでしょうか? 今回は、オンプレミスとクラウドサービスの違いについいて述べながら、”クラウドサービスのコストを意識する”とはどういう事かについて記載したいと思います。

オンプレミス時代のコストの考え

新規のオンプレミスのシステム開発は、自社でサーバーなどを見積もり(用意)すると事から始まります。サーバーは、システム開発前の要件定義・外部設計などの早い段階で「どれだけのスペックのサーバーが何台必要か」を見積もります。そこで固定費となるサーバーの導入費用が決まるため、それ以降に掛かるコストはシステム開発・保守で発生する人件費がメインとなります。

また、システム開発段階では、サーバーやネットワーク、記憶容量などのハードウェアの上限が決まっているため、システム開発者はハードウェアの枠の中でシステムが動作するようにチューニングをする必要がありました。なぜならオンプレミスで導入するハードウェアは非常に高価なため、毎年のように買い替える事が出来ないからです。cloud_se1

クラウドサービス時代のコストの考え

クラウドサービスのシステム開発では、自社サーバーなどを用意する必要がないため、初期費用は0円から始めることができます。クラウドサービスでは、サービスの使用量に合わせた課金体系を導入しているため、使用しているクラウドサービスの性能、記憶容量、通信料などによって毎月請求されます。そのため、オンプレミスでは、毎月掛かるシステム開発・保守のコストが人件費のメインだったのに対して、クラウドサービスでは人件費に加えてクラウドサービスの使用料も意識する必要があります。

さらに、オンプレミスではハードウェア性能の上限を意識してシステム開発をしていたのに対して、クラウドサービスでは上限のない記憶容量、ネットワーク通信量、そして、簡単にサーバーやDBの性能を上げることは出来ます。オンプレミスではハードウェア性能の上限に苦しめられてきた技術者にとって、クラウドサービスの拡張性は非常に魅力的な環境になっています。cloud_se2

技術者が考えるコストとは

クラウドサービスは、初期費用が掛からず、クラウドサービス自体の使用料もオンプレミスでサーバーを用意するのに比べて短期間で考えればクラウドサービスはコストを抑えることは可能です。また、システムの性能に問題が出たのなら、クラウドサービスを増やせばいいので予想外の事態にも対応できます。

しかし、クラウドサービスを簡単に増やせる、または自動的に増えることは、システム開発技術者によってサービス使用料が左右されることになります。オンプレミスでは、ハードウェアが固定されているため、それ以上の人件費以外のコストは掛かりません。しかし、クラウドサービスは、サービス使用量による課金であるため、システムの処理内容によってサービス使用料が大きく変わります。例えば、1回数円のクラウドサービスのアクセス料金でも本番運用では1時間に何千回、何万回になる事もあるため大きなコストとなります。そのため、長期的に考えればクラウドサービスは運用コストをひっ迫する可能性もあるのです。

クラウドサービスでのシステム開発は「設計・開発・試験・コスト見直し・保守」の5つの工程に分けてみよう

多くのシステム開発では、設計(要件定義含む)・開発・試験・保守の大きく4つの工程に分けることができます。つまり、システムリリース後の運用は、次のシステムがリリースされるまで保守工程のみになります。しかし、クラウドサービスでは、保守工程の期間中にどんどんユーザーが増えていく可能性があり、それに比例してクラウドサービスの使用料金が増えていきます。そのため、保守期間が長くなる場合は、コスト見直し工程を設け、クラウドサービスに掛かる月々のコストを見直し、またはシステム改修する体制を整えては如何でしょうか?

確かに大規模なシステムでは、システムの変更は大変な作業ですが、部分的でもクラウドサービスのコスト削減は可能です。例えば、AWSのクラウドストレージの場合、メインとなる「Amazon S3」の他にバックアップ用途の安価な「Amazon Glacier」があります。システムでIotデバイスからの大量のログなどをAmazon S3に保存している場合、定期的にAmazon Glacierにデータを移動することで記憶容量ごとのサービス使用料金を抑えることができます。また、この定期的にAmazon Glacierにデータを移動するバッチは、稼働中のシステムと分けて開発が行えますので、システム稼働中でも導入は行えます。

上記のような稼働中のシステムに影響がない改修以外には、余程のコスト削減効果がない限り、コスト見直し工程では改修が入ることは無いと思います。しかし、次のシステムリリースに改修出来るようにコスト削減ポイントを明確にすることは可能です。そのために定期的に各種クラウドサービスの使用量を収集しておくことが重要です。cloud_se3

最先端のクラウドサービスについて、システムの開発費用を経営層を含むシステムの上流工程の担当者が把握していない可能性があります。クラウドサービスのシステム開発者は、新しいサービスにチャレンジする事だけでなく、月々のクラウドサービスの利用料金に気を配り、上流工程の担当者と協力して、クラウドサービスのコスト削減の考えることが重要になっていくのではないでしょうか。

SERVICE