目次
クラウドもオンプレミスも開発に必要な”技術”は変わらない。必要なのは”広い視点”。
「開発予算も通る見込みはついたから、早速、クラウドサービスのシステム開発技術者を集めよう!」っと考えても、どんなスキルの技術者が必要なのかは具体的には出てこないと思います。なぜなら、技術者のスキルには開発経験言語や開発経験フレームワーク、技術資格など専門的な内容が多く、非常に分かりにくいと思います。今回は、細かい技術内容に入らずに、オンプレミスとの技術や考え方の違いについて、Amazon社の「Amazon Web Services(通称:AWS)」、Microsoft社の「Azure」、Google社の「Google Cloud Platform」を中心に説明したいと思います。
クラウドを意識しないでもプログラムは書ける
「クラウドサービスのシステム開発 = 高いスキルの技術者」と思っている方も多いと思いますが、過半数以上の開発案件はクラウドサービス上で動くサービスであることを意識しないで開発作業が行えることを経験しています。
ブラウザ上で動くECサイトのシステム開発を例にして説明します。このシステムをオンプレミスで開発しようとした時、アプリケーションサーバーとデータベースサーバー、そして、ストレージサーバーなどの物理的なサーバーが必要です。それがクラウドサービスになった場合、サーバーサービスとデータベースサービス、そして、ストレージサービスになるだけで基本的なサーバー構成は変わりません。変わる部分は、最初のクラウドサービスのサービスの設定方法と各サービスとのインターフェース命令が若干変わるだけです。
そのため、オンプレミスで開発経験は、クラウドサービスでも十分活かすことが可能です。例えば、オンプレミスでECサイトのプログラミングスキルは、同一の動作環境をクラウドサービス上に構築してしまえば、技術をそのまま流用可能です。クラウドサービスの開発言語や開発手法は、オンプレミスと非常に似ているため、特にクラウドサービスだからと言って特殊な開発言語が必要になることはありません。
インフラ技術者は必要か?
前回、オンプレミスで物理的で必要だった各サーバーは、クラウドサービスではブラウザベースの専用の管理画面から設定情報を入力するだけで、高品質のサーバー環境をクラウドサービス上に構築することができます。更にルーターによるアクセス制限や複雑なネットワーク構成も、クラウドサービスの管理画面からの設定だけで構築することが可能です。
そのため、オンプレミスでのシステム構築の際にインフラ技術者に依頼していたサーバーやルーター、ネットワークの専門的な技術について、同一の環境をクラウドサービスで構築しようとした場合、ある程度の知識があれば専門のインフラ技術者でなくてもサーバー構築が可能です。
ここまで説明するとクラウドサービスに専門のインフラ技術者は必要ないと判断されると思います。しかし、小規模システムならシステム開発者が兼任でインフラ作業を行うことができますが、それなりの規模のシステム開発スタート時にはインフラ技術者のスキルが必要になります。なぜなら、無数にあるクラウドサービスのサービス同士の組み合わせから最適な組み合わせと設定方法を出せるのは、経験を積んだインフラ技術者が必要不可欠になってきます。また、運用時には、日々、変わっていくシステム負荷やDoS攻撃などのネットワークの脅威を監視し、的確に対応するためにもインフラ技術者の経験が必要です。
そのため、クラウドサービスに必要なインフラ技術者は、個々のサーバーやネットワーク機器の設定する技術者ではなく、システム全体を把握して提案できる視野の広さと、システムの状況によってクラウドサービスの構成を変えることを考えられる柔軟性が必要になると思います。
クラウドサービスのシステム開発に必要なのは技術的な視点は”拡張性”と”コスト”
クラウドサービスのサービスは非常に多くあり、高い頻度で新しいサービスがリリースされています。そのため、システムの規格車も設計者も全量を把握することは困難です。しかし、実際にプログラミングを行っている開発者は違います。プログラミングの技術的な調査のためにクラウドサービスのコンテンツに触れる機会も多いと思いますし、興味があれば最新のサービスについてもアンテナを張っていると思います。
そのため、開発者は、クラウドサービス特有の機能を導入した場合の効果を設計者などにフィードバックする事が重要になってきます。今までオンプレミスでは、決められたサーバー環境下でのシステム開発だったため、設計者が把握できる範囲の機能に限られていました。しかし、クラウドサービス環境下のシステム開発では、設計者が把握できる範囲の機能を超えています。そのため、開発者は、設計者が気付かなかったクラウドサービスの”拡張性”や”最適な開発手法”などをフィードバックし、また、企画者が気付かなかった”コスト削減方法”をフィードバックする必要があると思っています。
また、この開発者からのフィードバック受けて、システムをより良いものに変えていく開発組織作りが、経営者の皆さんの課題になってくると思っています。
次回からは、クラウドサービスの主要サービスであるストレージサービス、サーバーサービス、データベースサービスの中からストレージサービスについて説明したいと思います。
連載:経営者のためのクラウド講座
- クラウドを使えない大企業は、ベンチャー企業と戦えるのか
- クラウドサービスの課金体系・支払方法は複雑
- クラウドサービスのシステムリリースの早さと安さの秘密
- クラウドサービスのシステム開発に求められる技術者とは (本編)
- クラウドストレージによって安く・安全にデータを保存する
- クラウドサーバーはアイディア次第で使用用途は無限大
- クラウドデータベースは高ければ良いって物ではない! 特徴を見極める必要がある
- AWS × Azure × Google Cloud Platform を様々な角度から評価 ~AWSは絶対王者なのか?~
- クラウドサービスのサーバーレスは銀の弾ではない
- クラウドサービスの機械学習サービスの整理