pbtech インフラ 登壇レポート

第5回ペパボテックカンファレンス〜インフラエンジニア大特集〜開催レポート

pbtech インフラ 登壇レポート

こんにちは。GMOペパボで広報を担当しているちんさつちゃんです。 先日、ペパボでは「ペパボテックカンファレンス」と題した技術イベントを開催いたしました。

ペパボテックカンファレンスとは

ペパボでは創業以来、長年にわたってホスティングサービスやEC支援サービス、コミュニティサービスやハンドメイドサービスを中心とした多数のサービスを運営してきました。
多くのお客様に安心して快適にご利用いただけるよう、サービスを支えている立役者の一人がエンジニアです。
GMOペパボには、OSSへの貢献により数々の賞を受賞した実績を持つエンジニアや、高い技術力をもとに書籍への寄稿を行っているエンジニアをはじめとした、社内外を問わず評価されているエンジニアが多数在籍しています。

そんなペパボのエンジニアたちが経験の中で蓄積してきた生の声をお届けするのが、ペパボテックカンファレンスです。

5回目のテーマは「インフラエンジニア大特集」

5回目を迎えた今回は 「インフラエンジニア大特集」 と題し、数百万人を越えるお客様が利用するペパボのサービスインフラを支え、快適な環境を提供するために常に進化し続けるインフラエンジニアたちによる発表とトークセッションをお送りしました。

当日どのような発表が行われたのか、写真を交えてレポートします。

(1) 100行あったmod_rewriteをngx_mrubyで書き換えた話

トップバッターはブログサービス「JUGEM」などのインフラを担当するシニアエンジニア@buty4649
社内ではじっぱーと呼ばれています。

buty4649登壇写真

100行ではなく200行だったことのお詫びから入る、新しい形のプレゼンがスタート。
NginxとApache2の同居により複雑化していたWebサーバの構成をNginxに統合しようとした試みについての発表です。 単純にNginxに置き換えただけでは、逆に行数が増えてしまってメンテナンスが困難な設定ファイルになってしまう。その状況をngx_mrubyを使って解決したというお話です。

発表スライド

発表後、参加者から質問が。

Q. 同様のモジュールであるngx_luaではなく、ngx_mrubyを採用したのはなぜですか?

A. ペパボにはngx_mruby開発者の@matsumotoryが在籍しているため、質問などしやすかったのが大きな理由です。Slackで聞けばすぐに答えが返ってくるのでとても良い環境だと思います!

▼発表の内容についてもっと詳しく知りたい方は、buty4649のブログ記事をどうぞ!

100行あったmod_rewirteを ngx_mrubyで書き換えた話というタイトルで発表しました! - ぶていのログでぶログ

(2) ペパボのプライベートクラウド "Nyah" その後

続いては、プリンシパルエンジニア@tnmtによるペパボのプライベートクラウド「Nyah」についてのプレゼン。 OpenStackで構築された仮想インフラ基盤であるコードネーム「Nyah」の利用開始から今日までの約1年間の取り組みと、今後の動きについて発表しました。

tnmt登壇写真

1年前に導入を開始したNyahは、現在ではペパボの全14サービスのうち12サービスに導入されています。 中にはホームページ作成サービス「グーペ」のように、 ビッグバンメンテ というプロジェクトネームの元、一晩でオンプレミス環境からNyahへの切り替えを行ったサービスも。 このように積極的に導入を進めた結果、一部のサービスでは開発メンバーがインスタンス起動やプロビジョニングを行えるようになったり、サーバー費用そのものが下がり、また安定性が高まったことで障害対応などの回数が減ったことなどからコスト削減が実現するなどのメリットが生まれました。

2016年2月からはさらなる飛躍にむけて、新たなNyahプロジェクトが進行しています。いくつかの課題は残されていますが、解決策の一環として、OpenStackのバージョンを3年前のリリースであるHavanaから今年4月にリリースされたばかりの最新版であるMitakaへ、大きく飛躍するアップデートがおこなわれました。

発表スライド

「Nyah」については過去にもペパボエンジニアより言及されていますので、興味のある方はこちらもご参照ください。

OpenStackの話題は関心度も高かったようで、会場から活発に質問が飛び出しました。

Q. プラベートクラウドのバックアップ体制はどうなっていますか?

A. 別のAvailability Zoneのインスタンスに取得したり、別ロケーションにバックアップを取ることでリスク管理をしていますが、サービスごとにやり方がバラバラなので現状の課題でもあります。

Q. バージョンアップ時の切り戻しはどのように行っていますか?

A. 新バージョンは別途構築して移行し、マイグレーションの仕組みを準備しない予定なので実質切り戻しはありません。

Q. ソフトウェアでNeutronを導入するとパフォーマンスが下がるのではという懸念がありますが、どのように検証していますか?

A. 現在のステータスは構築したところ。パフォーマンス自体は実際に運用しながら検証していきます。

▼発表の内容についてもっと詳しく知りたい方は、tnmtのブログ記事をどうぞ!

第5回ペパボテックカンファレンスでOpenStackによるプライベートクラウド運用の話をした - hack in 3 minutes

(3) LT「高集積ホスティングにおけるセキュリティとPHP実行基盤の高速化」

ここからLTが続きます。 一番手は、福岡支社からやってきたホスティング事業部インフラチームサブマネージャーの@tshst!

tshst登壇写真

多くのお客様に高性能と安定性、そして低価格なサービスを提供するため、高集積でも快適な「ロリポップ!レンタルサーバー」のサービスインフラを作り上げているというLTでした。

発表スライド

(4) LT「インフラエンジニアもCIがしたい!」

次は新卒入社2年目エンジニア@alotofwe

alotofwe登壇写真

CIとは継続的インテグレーションとも呼ばれ、自動化ソフトウェアなどを用いて頻繁にテストを行うことで、開発の効率化と品質の担保を行うこと。 一般的にはアプリ開発などに導入されている手法ですが、それをインフラエンジニアリングにも導入したい!という気持ちからCI環境を作り上げ、成果を得たお話でした。

発表スライド

(5) 「時代が求めたSTNSと僕 〜夏の日の1986〜」

続いては福岡支社で「ムームードメイン」を担当しているシニアエンジニア@pyama86によるプレゼン。 思わず司会が「タイトルコールが恥ずかしい」とこぼしてしまうほどのインパクトあるタイトルです…。

pyama86登壇写真

サーバーで必要不可欠なユーザー管理。 LDAP運用や構成管理ツールの利用などが一般的な手法である一方、機能の複雑さが増すことによって管理そのものが難しくなってしまうという悪循環に見舞われてしまうこともあります。 その解決策として今回提示されるのが、pyama86自身が作ったLinuxミドルウェア「STNS」です。 Go言語で実装されており、名前解決・公開鍵取得・sudo認証のみを行う、非常にシンプルな機能を備えています。 インフラエンジニアだけでなく、アプリケーション開発エンジニアやデザイナーでも使えるほどシンプルなため、実際の運用効率化にもつながります。

ペパボではスタッフが開発したプロダクトを実際に導入して運用するケースがいくつかあり、今回のSTNSも現在運用しながら日々ブラッシュアップを行っているとのこと。

ちなみにSTNS検証用のLDAPは、熊本県の黒川温泉を訪れた際にふとスイッチが入ってその場で温泉にも入らず作ったそうです。なにかの啓示があったのでしょうか…。

発表スライド

予定ではここで女性陣から質問が殺到する予定でしたが・・・

pyama86質疑応答写真

静まり返る会場。だ、誰か!という必死の願いが通じたのか、空気を読んだ参加者の方が質問してくださいました…!(ありがとうございます)

Q. 複数のサーバを立てるときは、ユーザを追加した時両系に追加しないといけないのですか?

A. はい。弊社ではデプロイ時に考慮しています。

(6) LT「ベンチマークテストやろうぜ〜なぜ今ハードウェアのベンチマークテストを行うのか〜」

続いては写真共有サービス「30days Album」などを担当している@pbmasakiによるLTです。

pbmasaki登壇写真

普段より髪が長い気がします。気のせいかな?

仮想化技術の進化によって、物理環境にスポットが当たる機会が少なくなってきていることも事実ではありますが、その一方で、手間をかけて自分たちでハードウェアのベンチマークテストを行う意義について改めて解説しました。

発表スライド

好評を博したLTの最後にまさかの事件が…!

LTのオチ

なんと、サラサラの髪の毛だと思っていたのは完全なるヅラだったのです! (あまりの衝撃で脱ヅラ後の写真が行方不明になってしまいましたが、わかりやすくGIFにしてみました) 一瞬の出来事に何が起こったのかわからず、混乱と爆笑が一気に巻き起こった会場でした。

(7) LT「構成管理ツールを用いたインフラ開発フローの改善〜構成管理してるつもりだけにならない方法〜」

トーク枠の最後は、@alotofweと同じく入社2年目のエンジニア@k_hanazukiによるLTです。

hanazuki登壇写真

「テスト環境ではうまくいったのに、本番ではうまくいかない…」 必要とはわかっていても、本番環境をそのまま反映したテスト環境を用意することはとても難しいこと。 エンジニアのみなさまの中には「あるある!!!!」と力強くうなずいてしまう方も多いのではないでしょうか。

構成管理している「つもり」でも起こってしまうこのような課題に対応すべく、グーペのインフラ開発フローでは 差分を可視化 するダッシュボードを用意し、毎朝始業前に結果を通知するようにすることで、パッケージ更新への対応やコード品質の向上につなげています。 今後は、レビューフローやデプロイフローとの統合を目指して改良を続けていくとのことです。

発表スライド

ソロパートはここまで。 次のレポートでは、後半パートのトークセッションについてお伝えします!