「ネットワークエンジニアやサーバーエンジニアの将来性が知りたい!」「2021年にチェックすべき技術トレンドを知りたい!」
このような疑問に対し、現在都内のWeb系自社開発企業で、現役インフラエンジニアの筆者が、インフラエンジニアの将来性とチェックすべき技術トレンドをご紹介します。
この記事で分かること
- インフラエンジニアの将来性
- 2021年チェックすべき技術トレンド8選
インフラエンジニアの将来性
結論
将来性はかなり高いと思います。
インフラエンジニアの将来性が高い理由
- クラウド市場の成長が見込まれる
- キャリアチェンジしやすい
クラウド市場の成長が見込まれる
以下の資料をご覧いただければ分かる通り、2020年から2025年にかけて、国内のパブリッククラウドサービスが売り上げ額で、約2倍、成長率も上昇することが予想されています。
図01
>> 【引用元】国内パブリッククラウドサービス市場 売上額予測、2019年~2024年
※パブリッククラウドサービスとは「GCP(Googleが提供)」「AWS(Amazonが提供)」「Azure(Microsoftが提供)」のようなクラウドサービスの事を指します。
キャリアチェンジがし易い
次に、キャリアチェンジのし易さが挙げられます。というのも、背景として、クラウド技術の進歩により、バックエンドエンジニア、サーバーエンジニア、ネットワークエンジニアの垣根が流動化し、キャリアチェンジし易い環境が整っているからです。
筆者の例
若干恐縮ですが、筆者の例をご紹介します。
前職では、携帯電話向けのネットワークの設計、構築や、クラウドサービスのヘルプをしていたネットワーク色強めのエンジニアでしたが、現在はWeb系自社開発企業のインフラ(というかAWSエンジニア)担当にキャリアチェンジしました。
前職は発注元でしたので、自分で実環境を触る機会はほぼなく、ベンダーさんに作業をお願いする立場でしたが、現在は自社のAWS環境を設計、構築、運用、テストする立場です。
転職時にあたり、以下を準備しました。
- AWSソリューションアーキテクト/アソシエイトの学習範囲をある程度学習
- Linux、シェル(Bsh)、Apacheの概要を復習
- 簡単なポートフォリオとして、シンプルなWebページをつくり、AWS上にデプロイ
こんな感じです。
転職した感想では、楽ではないですが、何とか貢献はできるかな・・・という印象です。特に、Web系自社開発企業はイケイケで開発してきているので、構成図や管理表がアバウト(というか整備しきれていない)ところがある印象ですが、SIerやベンダー出身の方なら、ドキュメント作成能力が高いと思います。
筆者自身は超平均的なエンジニアでしたが、なんとかやれていますので、上記のような、現職でバリバリ実績をだされているような方が、AWSのようなパブリッククラウドまわりを学習して、Web系自社開発企業にジョインすれば、年齢問わずに活躍できる可能性が高い気がします。(大企業がすきな方はおススメしないですが。。。)
【関連記事】
>> 仕事がつらい40代エンジニアにおすすめ。未経験職種への転職ロードマップ。
>> 40代からプログラミング学習を始めても遅くない!!未経験からエンジニアになる手順
>> 【第1回】未経験エンジニアが起業の面接時に必ず聞かれる質問8選と回答例
>> 【第2回】未経験エンジニアが起業の面接時に必ず聞かれる質問8選と回答例(本記事)
ベンダーやSIerの方が、Web系自社開発企業にジョインする際の注意点
決して良し悪しではないのですが、ベンダーやSIerとWeb系自社開発企業は雰囲気、スピード感、業務範囲、仕事の進め方、などなどかなり違うと感じています。ですので、変化を楽しめたり、将来フリーランス独立という目標があったりする方にとっては、最高だと思います。
ですが、年収であったり、ホワイトな職場環境、福利厚生だったり、自分の業務範囲がきっちり決まっている方がやりやすい方には合わないかも・・・
このような方は、SIer→SIerへの転職を検討するのも全然ありだと思います!
2021年にインフラ・クラウドエンジニアがチェックすべき技術トレンド8選
次に、前述したパブリッククラウドも含め、2021年にインフラ・ネットワークエンジニアがチェックすべき技術トレンドをご紹介します。現在筆者が働く新興企業でも注目している技術ばかりになりますので、ご参考にしてくださいませ!
参考にさせていただいた書籍
>> 21世紀最強の職業 Web系エンジニアになろう AI/DX時代を生き抜くためのキャリアガイドブック
2021年にインフラ・クラウドエンジニアがチェックすべき技術トレンド8選
- 1 パブリッククラウド
- 2 クラウドサービス
- 3 コンテナ
- 4 マイクロサービス
- 5 CI/CDパイプライン
- 6 サーバーレス
- 7 インフラのコード化
- 8 AI/データサイエンス
それでは、ご紹介していきます。
1 パブリッククラウド
パブリッククラウドの例
- GCP Googleが提供
- AWS Amazonが提供
- Azure Microsoftが提供
筆者が業務で扱うのもこの分野に含まれるAWSです。いままでWebシステムや企業のサーバー・ネットワークは、レンタルサーバーやオンプレミスのサーバーを準備して、そこに構築するのが一般的でした。
しかし現在では、上記のようなパブリッククラウド上でWebシステムや自社のネットワークを設置することが多くなったため、バックエンドエンジニアとインフラエンジニアの境目が曖昧化した/担当範囲が広がったとも言われています。
この傾向は、エンジニアとしては、スキルの幅が広がったので、とても喜ばしいことだと思われます。クラウドエンジニアという呼称が生まれたのもここ数年ですよね。
2 クラウドサービス
クラウドサービスの例
- IaaS
- PaaS
- SaaS
詳しく見ていきましょう。
IaaS
「Infrastracture as a Service」の略で、読み方は「いあーす/あいあーす」です。
有名なものは、前述したGCP, AWS, Azureのようなパブリッククラウドで、サーバーやストレージやネットワークなどのインフラをクラウド上で提供するサービスです。自由度は高いが、インフラに関する十分な知識が必要ともいわれています。
PaaS
「Platform as a Service」の略で、読み方は「ぱーす」です。
アプリケーションを実行するためのプラットフォームをクラウド上で提供するサービスで、OSやミドルウェアなどのセットアップをユーザー自身が行わなくても、アプリケーションをデプロイするだけで、Webサービスを公開可能となるサービスです。代表的な例としては、「Heroku」や「GAE」があります。
「Heroku」は現在ポートフォリオを作成しつつ、ITエンジニアを目指しているかたなら、ご存じのかたが多いでしょう。ローカルで開発した環境をHerokuにアップロードして、コードをネット上で共有可能にできる優れもののサービスです。
SaaS
「Software as a Service」の略で、読み方は「さーす」です。
これは、Gmail, Googleスプレッドシート, Microsoft365, DropBoxに代表されるような、PCにダウンロードせずとも、Web上で完結するサービスですね。
3 コンテナ
コンテナは「Docker」が非常に有名ですね。
Dockerの特徴は以下になります。
- 起動が高速
- 開発環境/本番環境の差異を吸収しやすい
- デプロイ/ロールバックが簡単になる
- 構成管理やオートスケールが簡単になる
数年前まではAWSであれば、EC2に直接アプリをデプロイする方式が主流だったが、現在はDockerと何らかのコンテナ基盤(AWSならECSやEKSなど)を使う方式に移行しているようです。この仕組みと後述するCI/CDの仕組みによって、いままでにはなかったスピードで、Webシステムの開発を進めることが可能になったといわれています。
4 マイクロサービス
筆者が前職でWebシステムの構築にかかわったのは10年以上まえですが、開発陣、運用陣がデータセンターのセキュリティエリアに缶詰めになって、数百人のエンジニアがサクラエディタや秀丸エディタを使って作業していました。
そのような感じでつくるのが「モノシリック(一枚岩)」とよばれるシステム構成の手法です。いわば、巨大エジプトのピラミッド建設のような巨大な公共事業のイメージです。(あくまで筆者のイメージです・・)
特徴としては以下になります。
- 各機能とも互いに結び付きが強い
- 密結合
- 機能追加、コード追加のたびにコードが複雑化/影響範囲が見極めにくい
- 複数チームの同時並行開発、言語やフレームワーク毎の変更がしにくかった
- かつては大規模Webサービスは一つの巨大なWebアプリに様々な機能をつめこんでいた=モノシリック(一枚岩)構成
一方「マイクロサービス」はというと以下の特徴です。
- 各機能をモジュール化して提供
- 各機能の位相性はできるだけ分離
- 疎結合化 APIによって連携する
- 複数チームの同時並行開発、、サービス毎に言語やフレームワークを変更しても問題ない
- マイクロサービスの連携、管理、運用用途で最近注目される Kubernetes(くーべねてぃす)
まさに、現在のテレワークになじみやすい、軽快でスピード感のある構成ですよね。
5 CI/CDパイプライン
- CI Continuous Integration 継続的インテグレーション
- CD Continuous Delivery 継続的デリバリー
筆者がCI/CDの概念を知ったのは、転職活動をすることになった今年(2020年)になってからです。筆者のイメージではあるシステムを作る場合は、まずステージング環境でテストをして、そのあと本番環境に反映する。的なかなり段階的な開発をするイメージでした。
ですので、このような常にソフトウェアの変更をテストして、自動的に本番環境にリリースできるようなしくみを知ったときは、かなり衝撃をうけましたね。。
特徴として、バグ発見が速い、変更を自動でリリース可能というメリットがあります。
6 サーバーレス
インフラにクラウドを使う場合でも、大抵の場合はEC2等 の「 サーバー( 仮想サーバー)」を管理する必要があります。
しかし、管理をクラウドベンダー側 に完全に任せてしまい、ユーザーは従量課金でコストを支払う、「 サーバーレス・アーキテクチャ」 が注目されています。
サーバーレスの意味は、サーバーが存在しないのではなく、開発者がサーバー管理をクラウドベンダーに委託するという意味です。ユーザーにとっては、サーバーを管理する工数を削減できること、および運用コスト面でメリットが大きいことから、AWSのLambda等のサーバ レス のサービスを使用するWeb系自社開発企業が増えている模様です。
7 インフラのコード化
筆者自身、一番注目している技術の一つです。従来は、サーバーやネットワークの構築等の作業は例えばAWSのWeb画面(AWSマネジメントコンソール)から手作業で設定する作業が一般的でしたが、Terraform(テラフォーム)や CloudFormation(クラウドフォーメーション) といった ツールの登場によりアプリケーションと同様にインフラをコードで管理( Infrastructure as Code) すること が 可能 になりました。
これにより、 インフラ構築に関する手順書の作成や更新作業が不要になり、設定の誤りが発見しやすくなり、さらに同様なインフラ環境をワンタッチで簡単に作成できるようになりました。
8 AI/データサイエンス
バックエンドエンジニア や インフラエンジニアがAI(機械学習)モデルを自ら構築したり、あるいはビッグデータを自分で分析したりするようなケースは滅多にないですが、Web 業界で機械学習の機能を組み込んだサービス開発が広まっていることにより、Web系エンジニアが機械学習エンジニアと協業する機会は増えているといわれる。
また、データサイエンティストが分析をおこなうための分析基盤の構築をWeb系エンジニアが担当するケースも増えています。
先日、筆者が上司に「何かバックエンドの言語覚えた方がいいですか?PHPとかRubyとか?」とたずねたところ、「それより機械学習のプロジェクトが立ち上がりそうなので、Pythonの準備しておいたほうがいいかも・・・」と言っていました。AI(機械学習)は現場的にも意識した方がよさげです。。。
まとめ
この記事では、「ネットワークエンジニアやサーバーエンジニアの将来性が知りたい!」「2021年にチェックすべき技術トレンドを知りたい!」という疑問に対し、現在都内のWeb系自社開発企業で、現役インフラエンジニアの筆者が、仕事をする中で、感じる温度感を含め、インフラエンジニアの将来性とチェックすべき技術トレンドをご紹介しました。
この記事でご紹介したトピック
- インフラエンジニアの将来性
- 2021年チェックすべき技術トレンド8選
本記事がエンジニアの皆様のお役に立てれば幸いです。