自動化をやりたいという意見が採用されて開発業務がメインに

酒井亨氏:本日は参加いただきありがとうございます。私からはネットワークオペレーションチームの紹介と、ネットワークアドミニストレーター(DevOps)というポジションについて説明します。

DevOpsなので、ソフトウェア開発をするポジションではありますが、私はもともとネットワークエンジニアの採用でして、2019年9月に入社してネットワーク運用改善を主な業務としていました。

多少ながら開発の経験があったこともあり、自動化をやりたいですと言っていたら、今年から人も採用して力を入れていくということで、あれよあれよという間に開発業務がメイン担当となりました。

気軽に連絡を取り合えるチーム間の距離感

それでは内容に移りたいと思います。今日はチームの紹介、募集ポジションの紹介、次に実際に開発中のプロジェクトについてお話したいと思います。

まず、配属先となるチームを紹介します。このチームで採用された方はネットワーク室のネットワークオペレーションチームに配属されます。ネットワークオペレーションチームはLINEがもつ全ネットワークの維持管理を主な業務としていて、それらの改善を役割としています。

次にチームの体制ですが、大きく構築と運用と開発の業務を担当しています。今回は開発業務を専任で担当するメンバーを募集しています。現在開発業務を担当するメンバーは、正社員が1名、私ですね。と、協力会社の方3名のメンバー構成になっています。

図にすると役割がきっちり分かれて、縦割り感があるんですけれども、室を含めてチームの距離はすごく近くて、実際にツールを使ってもらうユーザーとは気軽に連絡を取り合える距離で働いています。

業務の流れとしては、こちらから「こういった自動化はどうですか?」と提案したり、チームの中もしくは外からの依頼をきっかけにプロジェクトがスタートします。そのあとに、ヒアリング、開発してユーザーレビューを受けて、また改善をする。そのサイクルを回したあとに、リリースしてメンテナンスフェーズに入っていく流れになります。

すでにチームの内外からたくさんの開発の相談が来て手に余っている状態なので、一緒に開発できる方を募集しています。

開発にまつわる業務の全般が役割

というわけで、こちらから募集ポジションについて紹介します。ネットワークオペレーションチームは、先ほども申し上げたとおり運用の自動化とか、業務効率化を推進する開発者の方を募集しています。

募集の背景としては、まだまだインフラの変更においてはチケットで依頼が来ますが、人手でそれに対応している場面があります。そういったものをAPIなどから自動的に、開発者がAPIを叩いてリソースを自動的に提供できるようにしたいと考えています。

もちろんそういった開発をしてきましたが、一部の開発できるネットワークエンジニアがネットワーク設計と構築の業務の傍らで行なっていました。ネットワーク側の業務が多忙になると開発自体が止まってしまったり、担当者が仮に卒業してしまうと、開発そのものが止まってしまう。メンテナンスが困難になってしまう問題がありました。

よって、これからはチームとして体制を強化して、組織的に開発して安定的にソフトウェアを開発している体制を整えたいと思い、今回のポジションをオープンしました。

業務内容としては、求人票に書いてある通りですが、今回のポジションではソフトウェア開発はもちろん、業務の改善、チームビルディング、品質の向上といった開発にまつわる業務全般が役割になります。

現在の開発手法は、アジャイルを取り入れたりもしていますが、まだ手探りでやっているというのと、テストをまだ完全に整備できていません。CI/CDとか、テストの自動化もしていきたいんですけれども、まだ僕だけがやっているという状態なので、こういったところをリードしてくれるような方が入ってくれるとうれしいです。

国内有数規模のネットワーク自動化の経験が積める

続きましてスキルです。こちらも求人票に書いてあるとおりなのですが、インフラエンジニアの方で開発に強みのある方や、Infrastructure as Codeを推進していましたとか、そういった経歴のある方が、すぐに活躍できるんじゃないかなと考えています。

ネットワークに関する知識とか実務経験に関してはあるに越したことはないですが、今回の募集では必須ではないと考えています。このあと紹介するネットワークインフラとは直接関係のない業務システムなども開発しますし、ネットワーク側の知識としては、私を含めほかのメンバーもバックアップできますので、そういったところは心配せずに入っていただけたらなと思います。

と言いますか、ネットワーク室なので、ネットワークエンジニアで言えば一流どころが取り揃っていますので、そこは追々慣れてもらえればと考えています。

このポジションのやりがいとしては、総トラフィック3Tbps超、稼働中のネットワークノード7000台の国内有数規模のネットワークを対象に自動化、業務改善の経験が積める点だと考えています。この環境でネットワーク自動化ができたら「ネットワークの自動化ができた!」って自信をもって言っていいと思います。

あとはチームとして発足したてですので、このチームをリードして成長させていく経験がやりがいなんじゃないかなと考えています。古いルールとか決まりきったルールはないですし、裁量も非常に大きいです。テックリードとして、そういった役割に興味がある方にとっては恵まれた環境なんじゃないかなと思います。

私自身も約1年前に入社して、最初はネットワークエンジニアをやりながら開発もできればいいかなくらいの感覚でいました。それが今は、想像もしていなかった役割を任せてもらっていて、この採用イベントへの登壇もそうなんですけど、大変ワクワクしながら毎日仕事をしています。

ネットワーク運用自動化や業務の改善といった分野で次世代を切り開いていきたいなと思っていますので、もし共感してもらえる方がいたら、一緒に仕事ができるとうれしいです。

開発プロジェクトの一部を紹介

それでは具体的なイメージをもってもらうために、開発プロジェクトの一部を紹介します。現在、ネットワーク機器のAPI Gatewayを開発しています。リリース自体はしていて、エンドポイントの追加やバグフィックスを行っている状況です。

これはもう繰り返し言われていることなんですが、ネットワーク機器はCLIベースで、テキストで結果が返ってきます。機種によって結果が異なるので、ツールを開発するときにとてもやりづらいという課題がありました。

なので、ネットワーク自動化を進めるうえで、まずはじめにネットワーク機器の情報をツールから扱いやすくするものを作ろうと思いまして、このAPI Gatewayを開発しました。

API Gatewayにhttpでリクエストを投げると、このAPI Gatewayが生成値で各機器への操作を代行し、返ってきた結果をパースしてjsonで返すツールになっています。

次に紹介するのはgenconというACLの自動生成ツール。定型業務の1つにACLの設定があるのですが、これはワークフローからやってくる依頼をもとにオペレーターがconfigを作成してネットワーク機器にACLを設定します。

この業務の課題は、人の判断が入る箇所が多かったところです。どこの機械に設定するのかとか、アドレスによっては追加の手順が必要、といったオペレーターに一定の学習コストが必要な複雑な作業になっていました。開発したのは、それを自動化するツールで、人が行っていた判断の部分をプログラムとして実装したものです。

ワークフローで申請されたパラメーターをgenconに入力すると、裏で先ほど紹介したAPI Gatewayと連携したり外部のデータベースから情報を取ってきて、必要な判断の部分をgenconが行い、手順とconfigを戻す、出力するというプログラムになります。まだ機械への設定はオペレーターの方が人手で行っているので、今後投入についても自動化していきたいなと考えています。

業務システムの開発も行なう

最後に紹介するのは、ネットワークはあまり関係なくて、業務システムの開発です。このシステムは、ネットワークで障害が発生したときに、一次対応者が二次対応者に電話をかけてエスカレーションするのを自動化したツールです。

実際にアラートが発生して一次対応者がこれはエスカレーションが必要だと判断したときに、やっぱり電話を人から人にかけるというのはなかなか……決して仲が悪いわけじゃなく、電話を受けた二次対応者が塩対応していたとかそういうわけでもないのですが(笑)。深夜に電話をかけるのはなかなか心理的な障壁がありそうだというところで、こういったツールを作成しました。

アラートが発生したときに、画面にあるとおり、カウントダウンが始まりまして、このカウントダウンが0になるとTwilioという外部のサービスを使って自動的に二次対応者にエスカレーションします。一次対応者はそのまま対応を開始していただいて、アラートに対応して、これは十分対応可能な範囲だという判断がつけば、カウントダウンを停止するツールです。

以上がネットワークオペレーションチームとネットワークアドミニストレーター(DevOps)ポジション紹介でした。気になることがあった方は、気軽に質問してもらっていいですし、ガッツリ聞きたい方はカジュアル面談など気軽にお申し込みいただければと思います。

本日はありがとうございました。ご応募お待ちしております。