本記事では、クラウドエンジニアの概要・仕事内容・必要スキル・需要や将来性などについて解説します。
ここ数年で、"クラウド" という言葉は私達の生活にもすっかり身近なものとなりました。
個人でもオンラインストレージなどのクラウドサービス利用が浸透し、特に企業におけるクラウド化は増加の一途をたどっています。
そしてこの急増する "クラウド化" に対応するクラウドエンジニアの需要が高まってきており、エンジニアのキャリアとしても注目されています。
それでは具体的にクラウドエンジニアについて見ていきましょう。
1. クラウドエンジニアとは
1.1 クラウド時代に伴うインフラ環境の変化によりうまれた
クラウドエンジニアとは、クラウド環境で、サーバーやネットワークなどのインフラまわりの設計・構築・運用・保守などを行うエンジニアを指します。
クラウド(CloudComputing)とは「インターネットを通じネットワークでつながった先で必要な機能を利用する形態」のこと。
このクラウドを利用する "クラウド化" により、導入スピードの向上、コストの削減、運用負荷の軽減などのメリットがうまれ、従来はインフラエンジニアやネットワークエンジニアが手間をかけていたネットワークやサーバーの設置や管理などの作業負担も軽くなります。
クラウドエンジニアは、クラウド化に携わることが多く、インフラまわりの知識や経験をベースにもち、クラウドにも精通している必要があります。
このような流れから、インフラエンジニアも、クラウドの知識や技術を身に着けて「インフラ+クラウド」に強いクラウドエンジニアになることが求められている傾向があるようです。
クラウドエンジニアはまさに、クラウド時代に伴うインフラ環境の変化によりうまれたと言えるでしょう。
2. クラウドエンジニアの仕事内容
クラウドエンジニアは、次のようなクラウド環境*で業務に携わり、仕事内容も環境によって多少異なる部分もあります。
クラウド環境の種類*
パブリッククラウド:システム運用に必要なインフラ環境をレンタルできるクラウドサービス
プライベートクラウド:自社専用で構築・運用するクラウド
ハイブリッドクラウド:パブリッククラウドとプライベートクラウドを併用したクラウド環境
2.1 クラウド上でのインフラ設計
クラウドエンジニアの大事な仕事がクラウド上での設計業務。
パブリッククラウドでは自社のデータセンターの物理設計などは不要ですが、利用するクラウドサービスの特徴とサービスを活かした設計を行います。
なお、ハイブリッドクラウドではデータセンターとクラウドをつなぐ連結部分の設計なども必要となり、ルーターやスイッチに対して設計情報を追加したり、ルーターの設置作業が発生するためネットワークの知識があると役立つでしょう。
オンプレミスからクラウドへの移行作業や、クラウド上での新規システムの立ち上げなど様々なケースがありますが、いずれの場合にも、クラウドの特徴である高可用性*と拡張性*を考慮した設計が重要になります。
また、各クラウドサービスでは設計をサポートするための学習リソースやツールが提供されています。
例えばAWSでは、AWS Well-Architected Toolにより、最適なAWSの活用に沿った設計になっているかをチェックすることができます。
高可用性(High Availability)*
システムを障害などで停止することなく稼働し続けることでより高い信頼性を得ること
拡張性*
処理を分散することでより高い処理性能を得ること
2.2 クラウドの構築
クラウドサービスの提供する様々な機能を利用してクラウド上でのシステム環境の構築を行います。
仮想サーバーの作成では、サーバーのロケーションやネットワーク設定、冗長化や負荷分散のためのロードバランサー、バックアップなどを設定します。
その他、データの共有や保存のためのクラウドのストレージ設定、仮想ネットワークの構築、最適なデータベースサービスの選定を行います。
また、インフラ管理の簡略化や変更管理、インフラ構築の自動化による効率化のために、インフラのコード化を行うこともあります。
2.3 クラウドの運用・保守
オンプレミスと同様、構築後の運用・保守もクラウドエンジニアの仕事です。
各種サービスを安定稼働させるためのチューニング、運用コストの管理、OS・ミドルウェア・アプリケーションのバージョンアップやパッチの適応、権限管理、システム監視などの業務があります。
3. クラウドエンジニアに求められるスキルとは?
3.1 パブリッククラウドサービスの知識
クラウド業務に関わるエンジニアは、クラウドの基礎知識はもちろんのことAWSを代表とする、パブリッククラウドサービスに関する知識とスキルが必要です。
各種クラウドサービスではレベル別・専門分野別での認定資格や豊富なトレーニングや学習りソースを提供しています。
資格は普段使わないサービスやアーキテクチャなども体系的に学習する事ができるので、挑戦してみるのもよいでしょう。
最近のクラウドエンジニア向けの案件では特に、AWS(Amazon Web Services)、Azure(Microsoft Azure)、GCP(Google Cloud Platform)といった代表的なパブリッククラウドサービスを扱う業務が急増しているようです。
このような案件に対し、業務未経験であっても、認定資格を保持していることで知識やスキルの証明となり役立つでしょう。
3.2 最新のクラウド関連技術の知識とスキル
企業の「クラウドファースト」化の流れが加速する中で、クラウドのトレンドは絶えず変化しています。
コンテナ技術、サーバーレスコンピューティング、セキュリティなどに関する最新のトレンドを掴み理解することも必要なスキルのひとつです。
3.3 クラウド技術に関する知識と経験
3.3.1 サーバーの仮想化
クラウド環境の最も基本となる仮想サーバー
クラウド上で仮想サーバーを利用する手順やオプションの機能、サーバー仮想化の技術に関する知識やサーバー仮想化のメリット・デメリットなどを把握しておきます。
3.3.2 ネットワークの仮想化
以下のようなネットワークの仮想化技術に関する知識とスキルを身につけておくとよいでしょう。
・VLAN(Virtual LAN)
限定したデータのやりとりを可能にするためにネットワークを分割する技術
・VPN(Virtual Private Network)
セキュリティレベルの高いネットワーク接続方法を実現するために専用回線のようなプライベート接続を行う技術
・NFV(Network Functions Virtualization)
ネットワーク機器の構成変更に柔軟に対応するために仮想サーバー上にアプリケーションソフトとしてネットワーク機能を実装する技術
また主要クラウドサービスが提供するVPNサービスには
などがあります。
3.3.3 データーベース技術
各クラウドサービスでは、様々なデータベースサービスを提供しています。
- MySQLやPostgreなどの無料RDBMS
- Oracle、Microsoft SQLServerなどの有料RDBMS
- 各クラウドサービスが提供するデーターベースサービス(Amazon RDS、Azure SQL Database、Google Cloud SQLなど)
- NoSQL(リレーショナルデータベースではないデータベース)
最もよく使われるのはRDBMSですが、ビッグデータ分析やIoTなどには、NoSQLのように大量のデータを分散させて高速処理を行う分散データベースを利用します。
各データベースの特徴を理解し知識を身に着け、利用目的に応じたデーターベースを選択することで、より高速で拡張性に優れたクラウド環境を構築できます。
4. クラウドエンジニアの需要と将来性
■ クラウドサービスの国内市場規模は1.9兆円にまで成長(2018年度)
■ 企業の既存システムをパブリッククラウドに移行する動きが本格化
■ AWS、Azure、GCP(Google)のグローバルベンダーの寡占化が進展
MM総研が発表した【クラウドサービスの市場規模・実績・予測】のレポートによると、企業のインフラ基盤をクラウド化する動きが加速し、23年度には4兆4754億円に達する見込みで、今後ますますクラウド関連の事業・業務も増加するとなればクラウドエンジニアの需要も増えていくことが予測できます。
パブリッククラウドサービス業界では、AWSの利用が半数を上回り、Azure や GCPを導入する企業も増加しています。
今後も各クラウドサービス企業が競って、新サービスの提供や、インフラだけにとどまらない機械学習やIoTといった最新技術で利用するパーツの提供など、クラウド技術を進化させていくでしょう。
また、米ガートナー社は2025年には8割の企業がデータセンターを閉鎖すると予測しており、クラウドサービスやIoTなどの技術が生まれたことで、従来のオンプレミスのデータセンターの利点が少なくなっていくと指摘しています。
※ 参照元:The Data Center is Dead(Gartner Blog Network))
上記のことからも、クラウドエンジニアの需要は伸びることが予測でき、将来性もあると考えてよいでしょう。
5. まとめ
クラウド時代と呼ばれる現在、多くのクラウドエンジニアが必要とされ需要は高まる一方、まだまだクラウドに特化したエンジニアは不足しています。
今までオンプレミスの経験しかないインフラエンジニアも、これまでのインフラの知識や経験はクラウドで応用が利き、さらに知見を広げていくことが可能です。
これまで培ってきた経験をベースに、クラウドの知識や理解を広め経験を積みましょう。
またインフラの経験がないアプリケーションエンジニアであっても、コードを理解できればインフラのキャッチアップもしやすいことから、クラウドの理解も深めていけるでしょう。
クラウドエンジニアはインフラの知識・経験にプラス、クラウドの知識や各種パブリックサービスへの知見など求められるスキルも高いですが、需要や将来性からみても目指す価値のあるキャリアだと言えます。
本記事の内容を参考にクラウドエンジニアを目指してみてはいかがでしょうか。