ともみらです!
今日のテーマは、『賢いクラウドエンジニアになる為の2つの心構え!』
IT業界で仕事がしたいなぁ~って思ってるんですけど、どうしたら良いかわからないんですよね?
IT業界は幅広いんだけど、これからは絶対に クラウドエンジニア になるべきだよ!
クラウドエンジニア? どんな仕事をするの?
それじゃあ!クラウドエンジニアにる為に必要な心構え についてのアドバイスしていこうね!
今回のテーマは、これから IT業界 で仕事をしたいのだけど、一体、何から始めて良いのかに悩まれている若手エンジニア志望の方への有益な情報を提供できればと思います。
エンジニア歴は 20年となり、今では『 板ばさみが似合う笑顔の中間管理職 』になるべく奮闘中です!
ともみらブログを運営しています。『楽しみ』を追求し、お得な情報を共有できるよう『仕事に役立つ情報』、『わかりやすい IT 情報』、『夢の不労所得を目指すFXや仮想通貨の情報』をメインとし、その他にも楽しい情報を発信していきたいと思っています!
この情報が少しでも有益な情報になれれば幸いです!
賢いクラウドエンジニアになる為の2つの心構え!
そもそも クラウドエンジニア って何者?
Cloudは雲を意味する
クラウドエンジニアと言っても、今の時代は クラウド環境 を利用した仕事がたくさんあります。
ともみらは ITインフラエンジニア をしていますので、ここでは、クラウドエンジニアの中でも「インフラエンジニア」の話を中心に進めていきます。
ただし、今回は、どうやったらクラウドエンジニアになれるのかという方法ではなく、クラウドエンジニアを目指す為の入り口としての心構え が中心になります。
難しく考えずに、今はよくわからないけど、クラウドってものを使ったエンジニアになるにはどうしたら良いのかという視点で、気軽に読んでいただくことをおススメします。
まずは、クラウドエンジニアの定義を理解しましょう。
クラウドエンジニアとは?
ここでは、インフラエンジニアの話となります。クラウド上でのサーバやネットワークの構築や保守などを行う、クラウドに精通したエンジニアと定義させていただきます。
クラウド環境にはどのようなものがあるのか?
有名なクラウド環境としては、以下が有名です。
- Amazon が運営している AWS(Amazon Web Services)
- Microsoft が運営している Azure (Microsoft Azure)
- Google が運営している GCP (google cloud platform)
他にも、IBMとか、Oracleとか、いろいろあるのですが、まずは代表的な 3 つを押さえておけばよいでしょう。
クラウドを利用して何をするのか?
サービスを提供する環境を提供するには、サーバ や ネットワーク の環境を構築する必要があります。
サーバ や ネットワーク の環境で構築したものを、「インフラ基盤」と呼び、インフラエンジニアの仕事の範囲となります。
ちょっとイメージしずらいので、もう少し簡単に説明しましょう!
家を建てることをイメージしましょう
- まず、土地を購入します
- 次に、地盤の基礎工事をします
- 家を建てます
- 家の中でいろいろ利用します(電気つけたり、風呂に入ったり)
これをクラウド環境でイメージします
- 土地を購入(クラウド業者と契約して利用を開始する)
- 地盤の基礎工事(サーバやネットワークの環境をつくる)
- 家を建てる(サービスを提供する環境が完成)
- 家のサービスを利用(利用目的別にアプリケーションを使う)
まずは、場所を借りないといけないので、業者に頼みますが、ここがクラウド業者となり、AWSなどに貸してもらうことになります。
「地盤の基礎工事」が「インフラ基盤」ということで、インフラエンジニアの仕事になります。
「家のサービスを利用」が「アプリケーション」を指し、プログラマ や システムエンジニア、WEBデザイナーなどの仕事になるイメージになります。
クラウドを利用すると何が良いの?
家を建てる時は、いろいろな資材が必要になりますよね?
例えば、たくさんの木材とか、重いコンクリートとか、それらを運ぶためのトラックとか、たくさんの人が関わってきます。
これをイメージしてもらうと、通常であれば、システムを構築するのに、サーバを購入して、設置して、インストールして、設定して・・・などと、いくつかのステップを踏んでいかないといけません。
大変ですよね。時間もかかりますし、重労働です。
しかし、現在のクラウド全盛期の時代では、インターネットに接続し、画面からポチポチとするだけで、これらの環境がすべて構築できてしまうのですね。
リアルに家を建てるのと、ゲーム感覚で家を建てるような感じですね。
リアルに家を建てる(たくさん必要)
大人数だね
ゲーム感覚で家を建てる(どこでもできる)
楽勝っす!
建てるのにこれだけ差があるのですが、品質という点でも大きな差が生まれるかもしれません。
こういう家が理想なんだが・・
リアルに家を建てる(たくさん必要)
すばらしい家もあるが・・
突貫工事はいやだ・・
こういうのではない・・
ゲーム感覚で家を建てる(どこでもできる)
安定した一定の品質
昔から、エンジニアをしてきた人にとっては、衝撃的 だったのではないでしょうか?
ともみらは、2015年当時からAWSを利用していますが、初めてAWSを利用した時の衝撃は忘れられません。なんて簡単なんだと思ったのを覚えています。
こんなやつでもできてしまう
今までの重労働から、家で片手間に作業ができるのですから、好き好んで重労働をする人はいないことでしょう。
今からクラウドエンジニアを目指す人にとっては、昔の知識はあまり有益な情報ではありません。
むしろ覚えなくても、大きな問題にはなりません。
それほど、簡単な構成のインフラ基盤を構築するだけならば、誰でもできてしまう時代になってきているのです。
どのクラウドが良いのか?
結論から先に言ってしまうならば、AWS です。
数あるクラウドの中でも AWS というクラウドの名前は聞いたことがあるのではないのでしょうか。
企業がサービスを提供するために必要な基盤として、今やクラウド環境は欠かせないと言っても過言ではありません。
規制が厳しい金融機関でさえもが、AWSのクラウド基盤を採用し始め、今年に入ってからは、政府の各省庁も利用を開始するとの報道がありました。
それだけ高いセキュリティが確保され、 現在のAWSクラウドのシェアは、全体の 3分の1 を占めるほどになったのですね。
だからこそ、結論を先に話してしまえば、賢いクラウドエンジニアになる為にの2つの心構えは、
- AWSを学べ!
- 作らず使うという思考を持つ!
この たった2つの意識を持つことが大事です!
技術的なことはたくさんありますが、これからクラウドエンジニアを目指す方にとっては、古い考えを持つ昔ながらのエンジニアの話は聞かなくても良いです。
むしろ、これからの時代においては無駄な知識です。
無駄は言い過ぎかもしれませんが、利用しない技術であれば、中途半端に理解するより、知らない方が良いのです。
この点については、賛否両論があると思います。
これまで20年のエンジニア経験のある私が言うのも寂しいですが、必ずしも昔の経験が役立つとは限りません。むしろ、そこにこだわるあまり、無駄な固定概念に縛られることになります。
これからのクラウド時代を生き抜く為には、2つの心構えをしっかりと受け止め、そこから幅広く広げていくことが大事になります。
AWSを学べ!
まず、ひとつ目の心構え!
AWSを学べ!
先ほど述べましたが、クラウドの種類はたくさんあります。
勉強する意欲があるなら、いろんなクラウドを勉強するのは素晴らしいことです。
ただし、5年以上のAWS利用経験のある 私から言わせてもらうならば、提供されているサービスを全て使いこなせていませんし、他のクラウドを利用する必要性もありません。
まして、これからクラウドエンジニアになろうと思っている人に、「AmazonのAWS」だ、「MicrosoftのAzure」だ、「GoogleのGCP」だと言ったところで、完璧に中途半端になってしまうことでしょう。
だったらですよ。
シェアが3割もあるAWSを学びましょう。
私も5年以上もAWSを利用していますが、他のクラウドサービスは、ほとんど利用したことがありません。
比較する為に、複数のクラウドを利用したくなりますが、今のところ大きなメリットはありません。
サービスを提供する企業にとって、一見、複数のクラウドを利用する場合、いろいろできそうだし、良さそうって思われるかもしれません。
ただ、問題点もあります。
違うクラウドの環境を利用するということは、各クラウドサービスをつなぐ為に、それぞれ回線の契約をしないといけません。
さらに、回線に障害があったり、メンテナンスがあったりして、回線が切れるとサービスには多大な影響が出ます。
そうなると夜間対応だったり、早朝対応だったりとクタクタになります。
ともみらの経験上、今の段階であれば、複数のクラウドを利用するメリットはほとんどありません。
むしろ、ひとつのクラウドだけを利用して、すべてのサービスをその中で構築した方が回線が切れた場合の影響などもないので、全く考慮しなくてよいのですね。
クラウドをつなぐ回線が切れるというのは、意外と大変なんです。
サービスを提供する場合は、業務を停止してはいけませんので、このような心配事をひとつでも減らした方が良いのですね。
まして、複数の回線費用というのもバカになりません。
だからこそ、AWSを学ぶというより、AWSだけを学べという話になってきます。
AWSを学ぶメリット
- シェアが3割を占める
- AWS基盤を利用した仕事がたくさんある
- 会社で利用するメリットもたくさんある
- 技術は簡単に習得できる
会社で利用するメリットという点で補足しておくと、
- いろんなクラウドを利用すると接続するための回線費用が必要だが、AWS一択にすることでその費用がかからない。
- 最近では大規模災害対策(BCP)の対策も必要だが、AWSなら対応が可能。例えば、東京と大阪の環境に分散ができる。
- 利用すればするほどコストはかかるが、中長期契約(1年とか3年)することで2割から4割程度まで費用を削減できる。
- 保守費用(ハードウェア保守)やライセンス費用(ミドルウェア費用)、サポート費用が月額費用に含まれるので、それぞれ個別に契約更新などの手間がない。
- 運用が楽(バックアップも簡単に取得可能だし、戻すことも簡単)
とまあ、メリットを上げたらたくさんありますが、一言でいうならば、導入が簡単ということと運用が楽だということです。
そして、あえてデメリットを言うならば、便利なAWSをたくさん利用するので、費用がかかるということですが、経験上、うまくコスト管理をすることで回避は可能です。
コスト管理ができるエンジニアも、企業にとっては必要ですし、そこに「価値」があります。具体的な方法は、別のブログで紹介させていただきますね。
作らずに使うという思考を持て!
皆さんは、AWSのサービス がいくつあるかご存じですか?
既に 100以上もサービス があります。すごいですよね。
つまり、大半のことができるということです。
いちいち最初から作らなくても、利用すればよいのです。
過去のブログ記事も参考にしていただけたらうれしいです。
いやいや、自分で作ることが楽しいんだという人もいると思います。
これについては否定しませんし、それこそエンジニアです。
でも、既にある同じようなサービスがあるのに、最初から作ることには、あまり意味がないです。
あるなら、それを利用するべきですし、時間の短縮にもなります。
複数のサービスを組み合わせて、最大化することができるようなエンジニアを目指すことをおススメします。
例えば、メールを送信するプログラムを作成するにしても、既にあるサービスを利用すれば数分で終わりますが、最初から作っても、結果的に同じ機能を提供するわけですから、ユーザとしては早い方が良いと思うわけです。
既にある複数のサービスの中から、顧客が希望する要望を満たせるようなサービスを提供する為に、AWSのサービスを組み合わせて、「早く」「安価」「安全」に提供できるなら、それこそが「価値」になるはずです。
昔ながらの技術にこだわることは時代遅れですし、自動化できることはどんどん「AI」などに任せる時代がやってくるのは明らかでしょう。
だったら、自動化される部分はお任せし、いろんなサービスの組み合わせで最大の効果を提供できるエンジニアを目指しましょう!
まとめ
では、まとめていきましょう!
今日のテーマは、『賢いクラウドエンジニアになる為の2つの心構え!』
クラウドエンジニアになる為に必要な2つの心構えとは?
- AWSを学べ!
- 作らず使うという思考を持つ!
1.AWSを学べということは?
- シェアが3割を占める
- AWS基盤を利用した仕事がたくさんある
- 会社で利用するメリットもたくさんある
- 技術は簡単に習得できる
そして、昔の技術は必要ない。
言い過ぎかもしれませんが、それでもクラウドに特化した技術を身につけるべき!
だからこそ AWS を学ぶべき!
2.作らず使うという思考を持つ!
AWSのサービスは100以上ある。
既にある複数のサービスの中から、顧客が希望する要望を満たせるようなサービスを提供する為に、AWSのサービスを組み合わせて、「早く」「安価」「安全」に提供できるなら、それこそが「価値」になる。
いかがでしたでしょうか?
特にこれからエンジニアを目指す方であれば、AWSは避けては通れません。
多くの利用シェアを持ち、サービスはたくさんあります。
古いエンジニアの知識や経験をすべて知る必要は全くありません。
20年のエンジニア歴をもつ私がそう思うからです。
だったら、AWSを極めましょう!
それが、賢いクラウドエンジニアになる最短距離であり、あなたの専門性を上げる最大の効果になるはずです!
AWSの技術を向上させるのに、とても参考になる書籍を2冊紹介させてください。
いろいろAWS関連の書籍を見てきましたが、分かりやすかったので、是非、購入していだけると、有益となることは間違いありません。
最後に私の専門職である「インフラエンジニア」の話をさせてもらえればと思います
システムエンジニアやプログラマーはとても人気があると思います。フリーランスでの仕事もたくさんあります。
しかしながら、これからは「AI」に強い言語(例えば、Pythonなど)でも、最初から作成するというよりは、既にあるプログラムのモジュール(塊)を組み合わせて利用するという時代になってくると思います。
プログラムのコードが書けなくても、中学生ぐらいの子がブラウザ画面から、「メールプログラム」みたいなアイコンを選択することで、数分でプログラムが完成し、熟年プログラマーと同等レベルのサービスを提供できてしまうかもしれません。
最近では、コーディングが不要になるというものも注目されてきているのですね。
一方、インフラエンジニアというのは、サーバやネットワークを組み合わせて、サービスの基盤を提供する業務を行います。
例えば、システムエンジニアやプログラマーであれば、業務の内容を詳細に把握していなければプログラムを作成することができません。
これは、ある業種のみに精通していれば、その業種の良いシステムエンジニアやプログラマーになれるでしょうし、逆に業務を全く把握していなければ難しい職種であるとも言えます。
逆に、インフラエンジニアは、どの企業のどんな業種でも、大半は同じような仕事をします。つまり、仕事がたくさんあるということですね。
経験を積めば、他の現場に行っても、経験を活かせますし、年収も上がることでしょう。
実際、ともみらも、インフラエンジニアになり、いろんな業種へ転職をしながら、経験を積み上げ、年収をアップさせてきました。
業種も関係ないので、景気の良い業界などのインフラエンジニアを目指すのもひとつの方法ではないでしょうか。給料が高いからですね。
しかし、注意点を話しておくと、システムエンジニアにしろ、プログラマーにしろ、インフラエンジニアにしろ、決まりきった作業はいずれ自動化されてしまいます。
仕事がなくなるということですね。
誰でもできるような仕事をしていては、未来はありません。
だから、いろいろなサービスを組み合わせて、効率化して、パフォーマンスが出せて、コストが最適である提案とシステムが構築できるエンジニアが必要なのです。
プログラムが自動化され、インフラも自動化される時代がやってくると、もはやどちらのエンジニアという垣根がなくなり、どちらもできるような時代がやってくるかもしれませんね。
皆さんも、AWSを使いこなし、サービスを組み合わせて利用できるような思考のエンジニアになっていただけると幸いです。
この考え方を身につけることができたならば最高ですね!
【クラウド時代を生き抜く】賢いクラウドエンジニアになる為の2つの心構え!