SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

ProductZine Day&オンラインセミナーは、プロダクト開発にフォーカスし、最新情報をお届けしているWebメディア「ProductZine(プロダクトジン)」が主催する読者向けイベントです。現場の最前線で活躍されているゲストの方をお招きし、日々のプロダクト開発のヒントとなるような内容を、講演とディスカッションを通してお伝えしていきます。

ProductZine Dayの第3回。オフラインとしては初開催です。

ProductZine Day 2024 Summer

ProductZine Day 2024 Summer

Developers Summit 2023 レポート(AD)

M&Aによって得たプロダクトとチームを成長させるリファクタリング

【10-E-5】スタートアッププロダクトのエンジニアリング組織をまるっとリファクタリングする方法

サービス拡大に備え、インフラ基盤を新たに構築する

 OurPhotoのインフラはMicrosoft AzureからAWSに引っ越しすることにした。AzureではWebサーバーやDBサーバーを単一インスタンスで運用していたが、AWSではコンテナ技術を利用して複数のWebサーバーの並行稼動や、DBはAuroraを導入し、オートスケールを可能にするなど、システム全体の可用性を向上させた。もともと他の自社サービスではAWSを使っており、社内エンジニアが慣れており、ナレッジを存分に活かせるという利点もあった。

 デプロイフローの自動化では、AWSのコードシリーズを使って実現した。GitHubに新しいコードをマージしたら自動で動く仕組みを実践。これによって基本的には誰でもリリース作業ができるようになる。

 AWS Lambdaなどのサーバーレスアーキテクチャーを採用して画像のリサイズ処理を行い、画像のアップロードなどの処理スピードを向上した。これは登録フォトグラファーによる納品作業スピードが上がり、かなりの好評を得た。セキュリティ面では、AWS Security Hub、Amazon CloudWatchなどを利用して、ログの収集や、セキュリティの穴や危険な設定の検知を実施し、定期的なチェックと改善ができる状態にした。

AWS移行に伴う改善点
AWS移行に伴う改善点

保守性や品質を上げるための改善を実施

 1000行を超える巨大なコントローラーのスリム化を実施。堂上氏は「今回の改善で一番時間を使った部分です」と振り返った。コードは必要な処理が上から順にバーっと書いてある状態だったので、データ処理のロジック、業務ロジック、画面操作のロジックなどを適切に分け、責務の分割を実施。これで可読性が大幅に向上。またコードのリファクタリングの中で、バグが相当数見つかり、併せて修正作業も実施した。

 スリム化の対象はユーザー側に絞った。堂上氏はその理由を「プロダクトをもっと成長させていく時に、ユーザー側で機能の追加、機能の改修などをたくさんやっていきたい。だからユーザー側のコントローラーをスリムにするように優先順位をつけました」と、事業のフェーズに合わせて作業を進めることが大切と述べた。

 属人化の解消では、今までのCTOに手順や運営について明文化してもらう。CTOの時間は、すべてこれに充てた。ただ、しっかりしたドキュメントは時間がかかるので、ヒアリングなどを重ねて適宜判断していった。

 当時OurPhotoにはテストコードがまったくなかったので、Unitテストを導入。CI/CDツールである「CircleCI」を導入して、GitHubにプルリクエストを上げたら同時にテストを実行、テストが通らないと次に進めないフローも確立した。ユーザーがサービスを利用する上での重要な操作において、バグを起こさないという観点で、優先順位をつけながらテストを用意した。

 その他、技術的負債の確認に「Code Climate」、バグの検知に「Bugsnag」、パフォーマンスの監視に「Datadog」などのツールを活用した。

次のページ
より高い生産性を目指したチームを構築する

この記事は参考になりましたか?

Developers Summit 2023 レポート連載記事一覧

もっと読む

この記事の著者

森 英信(モリ ヒデノブ)

就職情報誌やMac雑誌の編集業務、モバイルコンテンツ制作会社勤務を経て、2005年に編集プロダクション業務やWebシステム開発事業を展開する会社・アンジーを創業。編集プロダクション業務においては、IT・HR関連の事例取材に加え、英語での海外スタートアップ取材などを手がける。独自開発のAI文字起こし・...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:株式会社うるる

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

ProductZine(プロダクトジン)
https://productzine.jp/article/detail/1730 2023/04/19 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

ProductZine Day&オンラインセミナーは、プロダクト開発にフォーカスし、最新情報をお届けしているWebメディア「ProductZine(プロダクトジン)」が主催する読者向けイベントです。現場の最前線で活躍されているゲストの方をお招きし、日々のプロダクト開発のヒントとなるような内容を、講演とディスカッションを通してお伝えしていきます。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング