DevOpsプラットフォームエンジニアとは?
最先端を進むDevOpsプラットフォームエンジニアは、ハードウェアとソフトウェア間の橋渡し役を務めます。
ソフトウェア開発という複雑な環境では、単一アプリケーションとしてデプロイできるDevOpsプラットフォームがさまざまな力を結集させます。単一ソリューションは利点だらけですが、性質上誰かがプラットフォームを「所有」しなければなりません。
DevOpsの新しい時代が幕開けした今、最先端の役割としてDevOpsプラットフォームエンジニアが注目を集めています。プラットフォームエンジニアはサイト信頼性エンジニアと変わらないとの主張も聞こえてきますが、Kubernetesのようなクラウドネイティブテクノロジーの台頭は、Kubernates、マイクロサービス、コンテナなどのクラウドネイティブテクノロジーの台頭により、一部の企業はプラットフォームと関連テクノロジーを管理するプラットフォームエンジニアリングチームを設立する必要に迫られています。
組織がDevOpsのプラクティスの採用を続ける中、現代のソフトウェアアーキテクチャの複雑さを理解し、幅広いスキルを備えたプラットフォームエンジニアの需要が高まっています。 プラットフォームエンジニアは、スムーズな移行や継続的インテグレーションとデリバリーの実行など、ソフトウェアチームの常に変わり続けるニーズを満たす効果的なソリューションとなります。
求人情報の職種や資格を見てみると、プラットフォームエンジニアがDevOpsチームでどのような業務を行うことが期待されているかがわかります。 一般的に、プラットフォームエンジニアの役割は開発者がソフトウェアをより早く、セキュリティに配慮しながら出荷できるよう支援することです。そのため、企業は次のようなプラットフォームエンジニアを求めています。
- CI/CDやその他自動化の経験
- Infrastructure as Codeに精通
- Kubernetes、Google Cloud、Dockerなどクラウドネイティブ技術に精通
- クラウドデプロイの豊富な経験
- OWASP、秘密管理、脆弱性修正など、セキュアコーディングの知識
- 高度なプログラミング能力に加えLinux/Unixオペレーティングシステムを深く理解していること
- 優れた対人スキルと[開発者としての経験]https://about.gitlab.com/topics/devops/what-is-developer-experience/)を向上する意欲があること
ただし、プラットフォームエンジニアの役割は組織の種類によって大きく異なる場合があることを覚えておきましょう。レガシーシステムを持たないグリーンフィールド企業は、クラウドに関する専門知識を備えている可能性が高い一方、多くの企業(とそのレガシーシステム)は移行に関してさらに支援を必要としています。
プラットフォームエンジニアが開発と運用の両方で重要な役割を果たしていることは間違いありませんが、とくに重点が置かれているのは運用です。 ある企業のDevOpsプラットフォームのエンジニアリングについての記事では、最終的に焦点が当てられたのは運用とサイトの信頼性でした。他にも、DevOpsプラットフォームエンジニアは、デベロッパーのためのシームレスな「セルフサービス」での本番環境、プラットフォーム自体のモニタリング、アラート、さらにはプラットフォームの啓蒙活動を担当する必要があるとの意見もあります。
より多くのチームがDevOpsプラットフォームを採用し、最大限に活用するようになるにつれて、この役割は今後も進化し続けるでしょう。 2022年グローバルDevSecOps調査では、4分の3の回答者が、チームがDevOpsプラットフォームを使用している、または今年使用する予定であると回答しています。21%は、今後2〜3年間でのDevOpsプラットフォーム導入を検討していると回答しています。