インフラエンジニア不要!DEVOPSやSREがおすすめ

これまでのインフラエンジニアは必要が無くなるでしょう。特にWEBのインフラに関わるエンジニアへ向けの話です。

Infrastructure as Code(IaC)ってご存知ですが?

クラウドが導入されたことにより、インフラもコードで書こう、バージョン管理しようという世の中になっています。

こんにちは、ヨシラバーです。 以前はインフラの構築といえば、サーバにインストールをいれて、バージョンアップして、ミドルウェアをインスト...

2018年度までクラウドの変化

Office365やGoogleAppsへの導入が増え、インフラの構築が縮小することは感じていました。

昨今では、仮想化やブレードサーバーの導入が全く進まず、ここまで早くクラウドが流行るとは5年前には考えられませんでした。

AWSの経験がある方なら理解できると思いますが、構築は大変に簡素化しました。仕事が昔に比べて簡単になったと喜ぶエンジニアもいるでしょうが、仕事が無くなる可能性があるのです

ハードの調達をすることはせず、サイジング、キャパシティプランニング、運用・保守の全てが今までの手法とは異なります。アプリケーションエンジニアでも容易にクラウドを設計・構築・運用ができる時代へとなりつつあります。

運用中のハードウエア障害もなくなり、Amazonに仕事を奪われる可能性があるのです。そんなインフラエンジニアは変化が必要です。 常に勉強・変化しなければならない職業であることをもう一度自覚しなくてはなりません。

今後のインフラエンジニアのキャリア

今後のキャリアの一つとして、Google発のSRE「Site Reliability Engineering」へ変化が必要になるのではないでしょうか。

サーバーやネットワークなどに関わるインフラエンジニアに、従来のアプリケーションエンジニアの役割や保守が求められるようになってきています。高い信頼性と性能を実現するために必要なインフラを実現し、なおかつソースコードに手を加えてサイトパフォーマンスを実現させることがもとめられるようになるでしょう。

SREの定義はなんだろうか?

それではSREとは何なのでしょうか。>・米グーグル発祥の「SRE(Site Reliability Engineering)」と呼ぶITインフラ作りの新手法である。
・コーディングやソフトウエアエンジニアリングによって、ハードウエアを含めたシステム全体の性能や可用性、セキュリティを高める活動全般を指す方法論である。このように、インフラエンジニアもコードを記述することが求められ、システム全体の性能向上や可用性を目指し、より信頼性の高いインフラにしていくことを考えなければなりません。

WEB業界にSREの部署があると

SREは基本的に運用エンジニアが行っていた業務や人手で対応していた業務を自動化に置き換える役割です。開発者とサービスレベルの目標値を共有、協力しながらの開発・テスト、本番稼働に必要なインフラ環境の整備など幅広く関わります。

インフラや運用担当がソースコードを積極的に触ることにより、クラウドや自動化ツールに置換、運用にかかるコストや時間など大幅に削減することが可能となります。また、ソースコードを触りパフォーマンスの向上や改善を狙うのです。

このような部署は、伊藤忠やメルカリ、サイボウズでも作られています。

まさに今流行りであるDevOpsの部署です。

SRE チームと開発チームの融合しよう

サービスの担当変更は、単に責任者を開発者から SRE へと変えることにとどまりません。担当を変更することは、お互いのチームをより深く理解することにつながります。

開発チームは、SRE チームが何をしているのか、なぜそんなことをしているのか、また SRE の各個人についてもよく知ることができますし、SRE がなぜそのようになったのかを把握できるかもしれません。

SRE チームのほうも、開発チームの仕事や心配事などについて、より深く理解できます。共感する点が増えることはそれだけでも良いことですし、うまくいけばアプリケーションを改善するきっかけにもなります。開発チームが新しいアプリケーションやサービスを設計するときには SRE チームも議論に参加してもらうよう招待するべきです。

SRE が新たなツールの計画や設計に携わる際には開発者を巻き込むべきでしょう。開発者は今後のローンチやプロジェクトに関してアドバイスできますし、ツールの操作性やニーズに関するフィードバックを提供することもできます。

SREに求められる人物


・インフラ技術

TCP/IP、HTTPなどのネットワークプロトコルについての知識から、パフォーマンス改善、ミドルウェアの機能知識などが必要になってきます。また、各種クラウドサービスなどの知識もあると良いです。

・アプリケーション技術

バグやコードの修正が出来るプログラミングスキル。何かしらのプログラミング言語知識(Java、PHP、Python、Rubyなど)。ソフトウェアをクラウドや自動化ツールへの置き換え経験や導入経験があると優遇されやすいです。

・セキュリティ知識

最低限のセキュリティ知識は必須になってきます。特に、APIのセキュリティリスクなどはしっかり学んでおきましょう。

・コミュニケーション能力

メンバーや開発チームと目標値の共有や協力しあいながら開発を行うため、最低限のコミュニケーションはどこの現場でも必要になります。


まとめ

インフラといいましても、ActiveDirectoryや社内インフラを構築している方にとってあてはまらないことかもしれません。ただ、その今利用している技術も進歩し、簡略化された技術へと置き換わる可能性はあります。勉強を続けていれば、仕事はなくなることはないと感じています。

(Visited 68 times, 1 visits today)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする