連続後日談です。
まずは資料です。200users超えたのが久しぶりなので承認されました。承認橋通りです。
(お断りを書いてるとはいえ)単独でこの資料を見ても「ん?」となる気がするのでもう少し前提の共有をします。
この資料は、フィヨルドブートキャンプの生徒さん、卒業生の皆さんをメインターゲットとして発表しました。
フィヨルドブートキャンプの生徒さんはブートキャンプで、Ruby on Railsをコアに据えて、サーバサイドアプリケーションエンジニアとしての勉強を中心に行っています(ですよね...)。したがって、そういう立場の人から見てよりとっつきやすい「昨今のインフラ」の側面を中心的に取り上げている面はあると思います。
また、僕自身が、Ruby on Railsのアプリケーションエンジニアから技術基盤チームにコンバートし、インフラの整備や、ホスティングプラットフォームの運用開発に従事することになったので、そういう自分のインフラエンジニア観は一番参考になるかと思ってそういう立場を貫いて発表しました。
ハードやネットワークエンジニアから入った方や、最初からクラウドを乗りこなすキャリアを積んできた方などはまた別のインフラ観があると思います(そして、そういう別の観点のインフラエンジニア観はぜひ読んでみたいと思っております)。
ついでに、その後の質問や懇親会で出た質問と回答を、いくつかここに書き残しておきます。
@udzura はどうやってインフラにコンバートしたのか?
アプリケーションエンジニア時代から、人手不足のあまりssh作業をしたり(と言っても東日本大震災が起こる前、AWSが日本上陸する前の時代)、興味をもってchefを触ったりはあったのですが、本格的には現職ペパボに転職してからです。
ペパボに入ってからはこんなキャリアでした。
- minne の初期〜拡大期に携わり、そのタイミングでコード化されていなかったインフラを巻き取ってコード化した(ちなみにPuppet)。
- コード化完了のあたりからTV CMの話があったので、スケーラブルなアーキテクチャにできるよう hsbt さん達といろいろ手を加えた。
- その後 Sqale の終盤期に携わり、まずプラットフォームの移設(AWS→プライベートクラウド)でコストを削減したり、閉め作業をしたりした。
- その過程で mizzy さんや hiboma さんといったスーパーアーキテクトの「仕事」の成果を垣間見た。
- Sqale は2012年の段階でコンテナを全面的に利用したり、git pushベースのデプロイをゼロから実装したりなど、アーキテクチャの実験の宝庫だった。
- Sqale の経験から、コンテナを自作したり、コンテナベースのホスティングサービスのアーキテクチャ設計をしたりした。
そんなこんなの経験で、偶然もあり成長したように思います。
インフラエンジニアの勉強の仕方って?
アプリケーション中心のキャリアの方から見ると、最も難しいのはアーキテクト的な感覚とネットワークなのかな〜と思います。
アーキテクトの素振りとしては、AWSなどのVPCを借りてネットワークを作り、そこにインスタンスをくっつけて、いわゆる3層アーキテクチャ(LB〜アプリケーション〜DB)を作ってみたりするところから始めると良いかと思います。
この辺が掲載された書籍というのが結構難しいんですが、 AWS超入門 とか AWSパターン別構築運用ガイド とかになるんでしょうか。ぼくは公式ドキュメントとにらめっこして覚えましたが...。
また、ネットワークでとりあえず遊ぶには、Twitterで教えていただいたんですがCisco Networking AcademyのPacket Tracerなどで手を動かしてみても良いかもしれません。紹介記事のリンクを置いておきます。
そのほか、業務の延長で修行する場合は、社内基盤の整備や構築は良い素振りになると思います。CIその他自動化の整備であったり、ダッシュボードや監視基盤の構築であったりは、単にアプリケーションを開発するのとは違った頭の使い方をするので、その辺を鍛えるとインフラっぽい考え方に近づいていくのかなあという気がします。「運用を回す感じ」の涵養にもつながるでしょう。
資料にも書いている通り、こんな発表をした背景には、フィヨルドブートキャンプで筋の良いすばらしい方々がRailsアプリケーションエンジニア界隈に入ってきているのを感じているので、そこに乗っかって筋の良いインフラエンジニアの卵を増やせないか、というヨコシマなモチベーションもありますw 私たちは慢性人手不足ですから...。
とはいえ、基盤づくりの面白さに目覚める方が少しでも増えたのなら嬉しいです。
(TODO: ここに所属企業の求人リンクを貼る。)