SHOEISHA iD

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

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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 セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

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

森 英信(モリ ヒデノブ)

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

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

提供:株式会社うるる

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17521 2023/04/17 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング