読者です 読者をやめる 読者になる 読者になる

LIFULL Creators Blog

「株式会社LIFULL(ライフル)」の社員によるブログです。

新卒入社1年目が技術基盤部に留学してみた

こんにちは、新卒入社1年目の椎橋です。普段の業務ではデータを予測したり、広告費を最適化したりと、データサイエンス業務を行っています。

今回は社内留学制度を利用して技術基盤部に留学してきました。社内留学制度とは、他部署に一定期間所属して業務をこなしながらスキルを磨いたり、新たな挑戦をしたりできる制度です。私は計算用サーバを使って大規模な計算ができるようになりたくて、その勉強のために留学しました。 技術基盤部は主にインフラの構築・監視・運用やレガシーシステムの刷新、他部署への技術支援などの非常に重要な業務を行っており、HOME'Sのサービスやエンジニアを支えている部署です。 留学で行ったタスクは、HOME'Sのウェブアプリケーションをサーバで動かすために必要なミドルウェアを洗い出し、ansibleを使用してサーバを構築することでした。

構成を理解する

まずはHOME'Sが動作するために必要なミドルウェア及び各種設定内容などを調査し、理解する必要がありました。初めは何から進めればよいかもわからず、まさにゼロから始めるlinux生活でした。先輩に聴き、書籍やウェブページなどで調べて、関連するファイルを読みました。例えばhttpdを調べたときは、以下のように記述されていました。ただし、コメントアウト内容は実際のconfファイルには記述されていません。

$ view httpd.conf
...
#サーバの基点ディレクトリ
ServerRoot "/usr/local/apache2"
#ポート番号を指定
Listen 80
...

それぞれの行で何を設定しているのかを調べていくと再び知らない言葉に遭遇し、それを調べて・・・というのを繰り返しました。

構築してHOME'Sを動かす

AWSのインスタンスを新規作成し、調査した各種ミドルウェアのインストールや設定などを行い、HOME'Sのサイトが閲覧できれば一先ずOKなのですが、ここでも問題が起こりました。

下記のように、一つ一つコマンドを調べながらhttpdの設定を行っていきました。

$ sudo yum install httpd #httpdをインストール

$ sudo chkconfig httpd on #httpdの自動起動設定

$ sudo /etc/init.d/httpd start #httpdの起動

この後、モジュールやバーチャルホスト、ドキュメントルートなどの設定を鈍足ながら行いました。しかし、あまり考えていなかったために元々のサーバと異なるバージョンのhttpdをインストールしていました。早く気づいていればNEW GAMEすることもできたのですが、すでに、ファイルの追加や書き換えをした後でしたので、作業済のファイルを残したままバージョンのみを変更しようと試みました。結果的にはバージョンの変更と共に設定すべき事項が多く、私では解決できなかったので、始めからやり直すことにました。バージョン確認は重要であることを痛感しました。

最終的な結果としては、なんとかHOME'Sをブラウザで表示できるようになったところで時間切れとなり、まだ設定すべき事項はあったのですが、完遂できませんでした。ansibleにも辿り着けず、当初の目標は達成できませんでした。

感想

タスクは終わりませんでしたが、コンピュータが苦手な私には良い勉強の機会になりました。独学では理解できなかった概念を身につけられたように感じます。私の本来の業務では、異常検知や最適化のプログラムを作成していますが、留学後にlinuxを触ってみたら、RやPythonの環境構築からcronで定期実行するまでできるようになりました。これで計算可能な問題が広がり、数理モデリングの制約が緩くなったような気がします。

挑戦したい人が挑戦できるような環境が社内に整っていることが伝われば幸いです。