2018 年の振り返り

仕事

2017 年までは組織全体を横断して活動していたが, 2018 年は特定のプロダクトチームに所属して活動していた.社内でもっとも規模の大きい (負荷の大きい) プロダクトで色々と検証を行い,その成果を他のプロダクトに共有する役割を担っていた.

続きを読む →

2017 年の振り返り

仕事

今年はインフラとアプリケーションを絡めた検証作業に取り組む機会が多かった.自社プロダクト (Ruby on Rails) の KVS を Cassandra から別のプロダクトに乗り換えたく, DynamoDB や Cloud Datastore を検証していた.現職に就いてから Rails のコードをもっとも多く読み書きした年だったと思う.言うなればインフラエンジニア兼サーバサイドエンジニアとして立ち回っていた.他にも Redshift を別のプロダクトに置き換えられないかと調査を行っていた.

現職における自身の肩書きはインフラエンジニアだが,色々と手広く業務を行う中で肩書きに意味はないと感じるようになってきた.私の業務内容からすると,組織によっては私は DevOps エンジニアかもしれないし, SRE かもしれないし,情シスかもしれない.時期によって業務の種類や量が流動的な上にグラデーションがかかっているため,ざっくりと「インフラ中心のなんでも屋」と表すことが適当かもしれない.


以下に今年取り組んだことを書ける範囲で記す.

  • Redshift ノードタイプ変更
  • フルマネージド KVS の調査・検証 (Cassandra の移行先探し)
    • DynamoDB, Cloud Datastore
  • Web サイトのインフラ設計・構築・負荷試験・運用
    • CloudFront, S3, ELB, EC2, RDS, ElastiCache
  • ログ基盤の更改に向けた調査 (Redshift の移行先探し)
    • Athena, BigQuery
  • 内向き DNS の再構築 (PowerDNS から dnsmasq に移行)
  • オフィス移転後初の法定停電対応
続きを読む →

2016 年の振り返り

仕事

昨年から引き続き社内のなんでも屋エンジニアとして活動していた.主な変化としてはインフラとして AWS を使用する機会が増えたことが挙げられる.従来はインフラとして主にデータセンターを使用していたが,費用やスケールの敏捷性を考えた際にクラウド移行するメリットが大きいと考えられたため,検証や知見の蓄積を兼ねて少しずつ全インフラにおける AWS の比率を増やしていった.

稼働中の本番環境はともかく,顧客への影響がない開発環境やステージング環境は AWS に移行した.また,新規に開発・公開する Web サイトを AWS 上に構築し,本業であるモバイルゲームのサーバサイドを AWS 上で構築するための事前検証に充てた.

元々 AWS では Route 53, S3, CloudFront など一部のサービスは使用していたが,その他にも EC2, RDS, ElastiCache などの,いわゆる Web サービス開発の文脈で頻出するサービス群の知見を蓄積できたことは重畳だった.

もう一つの大きな出来事としてオフィス移転を経験した.私は社内ネットワークやオンプレサーバ周りの対応を行った.経営陣の意向により,基本的には移転前のオフィスで使用していた機器を移転後に流用する方針だったため,新たな機材を手配したりネットワーク設計を大きく変更したりすることはなかった.大変だったこととしてオンプレサーバのダウンタイム最小化が挙げられる.以下の前提・要望だった.

  • オフィス移転に際してサーバの物理的な移動を伴うためダウンタイムが発生することは避けられない
  • オンプレサーバには本番系の機能はないためダウンしていて困るのは出社中の社内の人員のみ
  • オフィス移転は休日に実施するため本来であればオンプレサーバ群が停止していても問題はない
  • 開発側としては緊急トラブルが発生したときに備えてたとえ休日であってもサーバのダウンタイムは短くしてほしい

というわけでなんとかすることになった.オフィス移転を任せる引っ越し業者の部隊とは別に,社内の人員で別途レンタカーを借りたりタクシーを手配したりしてネットワーク・サーバ機器一式を旧オフィスから新オフィスに運び,数時間のうちに新オフィスでサーバ群を起動させた.

オフィス移転時のオンプレサーバの件は苦労したため,今後なんとかしてオンプレを廃止してクラウドに移行したい気持ちがある.しかし,事業上の理由によりサーバには Xcode が必要であり,つまりは Mac をサーバとして動作させる必要があるため完全にクラウド移行することはできない.うーむ,厳しい.


他には書ける範囲で以下の事柄に取り組んでいた.

  • 負荷試験およびプロファイリング
    • Ruby on Rails および関連ミドルウェアを対象として
  • LDAP の構築
  • オンプレサーバに UPS を導入
    • 停電,復電に合わせて自動でシャットダウン・起動するように設定
  • STF (Smartphone Test Farm) を自社用に構築
  • Zabbix LLD の活用
続きを読む →

2015 年の振り返り

仕事

2014 年は前職を退職してからフリーランスをしたりバイクで旅をしたりしていた.色々と新鮮な経験をして十分に英気を養えたため 2015 年の春に再就職した.具体的にはモバイルゲーム開発会社に一人目のインフラエンジニアとして入社した.

私が入社するまではインフラの専任はおらず,クライアントサイドやサーバサイドの担当者が片手間で諸々の面倒を見ていた状況だった.事業や会社の規模が拡大していく中で「さすがにそろそろ専任のインフラ担当者が必要」となり募集がかかっていたところに私が収まった形である.

こうした経緯もあり,本年は会社の歴史・技術・人の情報に関するキャッチアップから始まり,色々な足回りの整備や調査・検証を中心に活動していた.肩書きはインフラエンジニアであるが,実態は IT 関連の何でも屋と呼んだ方が相応しそうである.以下に本年の取り組みを書ける範囲で記載する.

  • ミドルウェアの調査・アップグレード・チューニング
    • Redis, MySQL, Nginx
    • アプリケーションは Ruby on Rails で開発されている
  • 負荷試験
  • CI パイプライン構築
    • Jenkins, Unity, Xcode, Apple Developer
    • iOS 用にバイナリをビルドする必要があっため,必然的に Xcode が動く環境 (= Mac) を CI 用のサーバとする必要があった
      • Mac をサーバとして動作させる上でのハマりどころが少なくなかった
    • Apple Developer は固有の名詞や概念が少なくなく色々と勉強になった
  • Infrastructure as Code
    • Vagrant, Ansible, Serverspec
    • 従来は手作業で開発環境や本番環境の設定が行われており色々と苦労があったため,業務効率化のために IaC を啓蒙・導入した
  • CDN 冗長化
    • CloudFront, KeyCDN
  • fluentd ログ欠損パターンの調査と対策
  • AWS IAM ポリシー策定
  • 社内ネットワーク更改
    • 論理ネットワーク設計
    • FortiGate, Catalyst, Aruba
  • オンプレサーバ運用
    • Linux, Zabbix, Apache, Samba
  • 社内 PC のキッティング
  • SaaS のアカウント管理
  • 新入社員オンボーディングにおける IT レクチャー
続きを読む →

花見

cherry blossom