お疲れ様です。キムです。
(日本語がおかしくて少し文章を修正しました。2024-05-24)
今回は自分がインフラエンジニアとして約1年間ほど働きながら感じたことと自分なりに考えたことを投稿します。話題はタイトルの通り、クラウドに関する内容です。
システムエンジニアとクラウドエンジニアの違い
クラウドエンジニアはシステムエンジニアの中に含まれていると思います。
最初はシステムエンジニアとクラウドエンジニアの業務範囲を把握する必要があります。
そもそも、同じエンジニア職だけど一体何が違うんだろう。。と自分も思いましたが、
最近、とあるブログを見てようやく何となく分かるようになりました。
この記事では、「クラウド」という言葉がマーケティング的な言葉だと言っています。
クラウド環境にサーバーを構築したと言え、結局クラウド環境の基盤になるローカルマシンがあり、そのローカルマシンのリソースを借りることに過ぎないと思います。
まとめすぎちゃったのですが、基本的にリソースを販売している概念は変わらず、
誰がリソースを売っているのかがポイントです。
よく使っているクラウド環境は AWS、GCP、Azureがあり、
各ベンダーことに名前が違うので難しいのではないかと思いますが、
簡単にオンプレミスの環境がそのままクラウドに行った。。と思えればいいかと思います。
AWSであればVPC、EKS、EBSなどをオンプレミスだと思えば理解が早いと思います。
(※VPC=社内ネットワーク、EBS=HDD みたいに)
では、難しいことは何でしょうか。
答えは、このクラウド環境をどれだけ上手く使えるのかです。
VPCのデザインをどれだけしなければならないのか、パブリックとプライベートの違いは何か、どうすればよりセキュリティを強化できるのか。どのようなパターンがコスト的にメリットがあるかなど、ベストプラクティスに行くまでの過程が相当難しいです。
これらは IaaS / SaaS / PaaS に分けられますが、
この区分の基準は管理領域が誰にあるかに区分します。
IDC ー> Hosting
OS ー> IaaS
App ー> PaaS
data ー> SaaS
例えば、AWSのEC2にWindowsServerを建てると? これはIaaSです。
PaaSは?ECS、EKS / SaaSはAWSのRDSなどになります。
では、ベンダーが具現して提供しているクラウドサービスをうまく使うのがクラウドエンジニアでしょうか。私が考えているエンジニア像は、提供しているサービスをうまく使えるとしても、もっと良いサービスがあったら乗り換えて新しいサービスにすぐ慣れる能力が最も重要だと思っております。
その為、自分も最近Linux勉強に力を入れているところです。
IaCやKubernetesなど一つのベンダーに従属せずに、オンプレミスが効率であればオンプレミスを、半分はオンプレミス、半分はクラウドのハイブリッド環境、もし既にAD環境があってM365導入も検討している場合はAADなどで十分行けますので、々AWSにこだわる必要がないということです。
まとめ
話が広がったのでまとめます。
- クラウドエンジニアはシステムエンジニアの中に含まれている概念
- クラウドエンジニアでも、Linuxは重要だ。
- クラウドが難しいのは、サービス名が違うからだ。
- 最終的にはオンプレミス・クラウド両方構築できるエンジニアを目標にする。
(自分にとってもエンドユーザーにとっても。。)
以上です。