---
title: 70人の開発者体験を支える NewsPicksのAWS アーキテクチャ
tags: 
author: [Yuki Ando](https://convert.docswell.com/user/integrated1453)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/PJR6ZYGL79.jpg?width=480
description: &quot;良い開発者体験&quot;にむけた国内/海外のアーキテクチャLT会 AWS編 での発表資料です https://findy.connpass.com/event/274860/
published: March 09, 23
canonical: https://convert.docswell.com/s/integrated1453/ZGXE8P-newspicks-aws-architecture-for-developer-experience
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/PJR6ZYGL79.jpg)

70人の開発者体験を支える
NewsPicksのAWS アーキテクチャ
株式会社ニューズピックス
安藤 裕紀
&quot;良い開発者体験&quot;にむけた国内/海外のアーキテクチャLT会 AWS編 - 2023.3.09(木)


# Page. 2

![Page Image](https://bcdn.docswell.com/page/PEXM9GQ67X.jpg)

00
自己紹介
安藤裕紀 / Yuki Ando
NewsPicks SRE
SREチームのマネージャー兼テックリード
好きなAWSのサービス：ECS、Cost Explorer 、CDK
©NewsPicks Inc. All Rights Reserved.


# Page. 3

![Page Image](https://bcdn.docswell.com/page/3EKGP49GJD.jpg)

00
目次
1. NewsPicksについて
2. NewsPicksのAWSアーキテクチャ
3. 全面コンテナ化への挑戦とアーキテクチャ選定理由
4. 開発者体験への効果と今後の改善点
©NewsPicks Inc. All Rights Reserved.


# Page. 4

![Page Image](https://bcdn.docswell.com/page/L73NXLW575.jpg)

01
NewsPicksについて
©NewsPicks Inc. All Rights Reserved.


# Page. 5

![Page Image](https://bcdn.docswell.com/page/87DW2NKYJG.jpg)

01
ソーシャル経済メディア NewsPicksについて
タイトルタイトルタイトルタイトルタイトルタイトルタイト
ルタイトルタイトルタイトル
テキストテキストテキストテキストテキストテキストテ
キストテキストテキストテキストテキストテキストテキ
ストテキストテキストテキストテキストテキストテキスト
テキストテキストテキストテキストテキストテキストテ
キストテキストテキストテキストテキストテキストテキ
ストテキストテキストテキストテキストテキストテキスト
テキストテキストテキストテキストテキストテキストテ
キストテキスト
©NewsPicks Inc. All Rights Reserved.


# Page. 6

![Page Image](https://bcdn.docswell.com/page/VJP915K2E8.jpg)

01
サービスのユーザー数・プレミアム会員ともに成長中
©NewsPicks Inc. All Rights Reserved.


# Page. 7

![Page Image](https://bcdn.docswell.com/page/2EVMYPVXEQ.jpg)

01
NewsPicksはエンジニアの開発者体験を重要視しています
NewsPicksエンジニア向け採用サイト※1の
「働く環境/福利厚生」の1stビューに
「最高の開発者体験の追求」を掲げています
「Findy Team+ Award 2022」において、
NewsPicksが「エンジニア組織の生産性指標が高い
企業」として選出されました※2
※1 https://tech.newspicks.com/
※2 https://tech.uzabase.com/entry/2022/10/25/151838
©NewsPicks Inc. All Rights Reserved.


# Page. 8

![Page Image](https://bcdn.docswell.com/page/57GG9PLR7L.jpg)

02
NewsPicksのAWSアーキテクチャ
©NewsPicks Inc. All Rights Reserved.


# Page. 9

![Page Image](https://bcdn.docswell.com/page/4EQXW2YY7P.jpg)

02
NewsPicksはAWSを活用しつつも、サーバー数は多かった
システム概略図
(〜2021)
AWS Cloud
Application Integration,
Management &amp; Governance
Analytics services
EC2インスタンスが100台以上
SQS
SNS Parameter Store
Redshift
Glue Data Pipeline
EC2 instances
スマホアプリ
Auto Scaling group
Database services
社内・法人向けシステム
…
…
Aurora
Web
newspicsks-server
DynamoDB ElastiCache
ECS containers
Lambda functions
feed services
…
…
search
batch
billing services
…
©NewsPicks Inc. All Rights Reserved.
Storage
S3
S3 Glacier


# Page. 10

![Page Image](https://bcdn.docswell.com/page/KJ46KLWZ71.jpg)

02
2年かけて、現在ユーザー向けのサービスはコンテナ化がほぼ完了
システム概略図
(2023〜)
AWS Cloud
ECS containers
Analytics services
web services
…
スマホアプリ
Application Integration,
Management &amp; Governance
bff services
…
SQS
SNS Parameter Store
Database services
Redshift
Glue Data Pipeline
社内・法人向けシステム
(コンテナ化予定)
api services
…
Web
batch services
…
…
Aurora
DynamoDB ElastiCache
ECS containers
Lambda functions
feed services
EC2 instances
search
(ECS&amp;OpenSearch Service化予定)
©NewsPicks Inc. All Rights Reserved.
…
…
billing services
…
Storage
S3
S3 Glacier


# Page. 11

![Page Image](https://bcdn.docswell.com/page/LE1VXLYD7G.jpg)

03
全面コンテナ化への挑戦と
アーキテクチャ選定理由
©NewsPicks Inc. All Rights Reserved.


# Page. 12

![Page Image](https://bcdn.docswell.com/page/GEWLNVG872.jpg)

03
ユーザーに価値を届けることを重視するNewsPicksの文化
開発者は、ユーザーに価値を届けるプロダクト開発に集中したい
開発者はフルサイクルを自走する過程でインフラの問題解決にもオーナーシップを持ちたい
SREは、そんな開発者の体験を高める仕事に集中したい
©NewsPicks Inc. All Rights Reserved.


# Page. 13

![Page Image](https://bcdn.docswell.com/page/47ZM34L9E3.jpg)

03
EC2でレガシーな運用を行っていたことによる課題
分類
課題
内容
開発者にとって
インフラに関する認知負荷、
作業負荷
● サーバーの構成を把握して、SSHして作業する必要がある
● ログの回収・調査など、複数台のサーバーから集めないといけない
インフラの設定変更の
リードタイム
● インフラの設定変更はSREチームに依頼が必要でリードタイムを要する
結果、プロダクト開発のリードタイムにオーナーシップを持ってユー
ザーに価値を届けるということが難しくなる
インフラの運用作業の工数
● 設定のコード管理がされていないため、影響調査に時間がかかる
● AMIの作成と反映は作業の自動化がしづらく、手間がかかるので
作業が億劫になり、頻繁に実施できない
● 開発環境の増設が簡単にはできない。(subnetやSGの設定など…)
● EC2でプロビジョニングしているリソースに無駄があっても、プロセスごとのメモ
リ使用率などがわからないので、削減余地が見えづらい
● EOLやAWSのメンテナンスなど、サービスや開発者の要件とは関係ない作業
にリソースがとられる
セキュリティの問題
● 脆弱性管理はGitHub Dependabotによるライブラリのみが対象
● OS・ミドルウェアの定期的なバージョンアップがされていない
SRE
(インフラ担当)
にとって
©NewsPicks Inc. All Rights Reserved.


# Page. 14

![Page Image](https://bcdn.docswell.com/page/YJ6NX3WDJV.jpg)

03
コンテナ化して、プロダクト開発/運用のコア業務に集中したい
運用の責任範囲のコンテナ化によるBefore/After
アプリケーション
アプリケーション
ライブラリ
ライブラリ
ミドルウェア
ミドルウェア
よりアプリケーションに近い
運用に集中
(コンテナランタイムや
ログ管理・モニタリングに
マネージドサービスを利用)
コンテナ化
OS
OS
ハードウェア
ハードウェア
AWS利用者による運用
一部AWSによる運用
データセンター
©NewsPicks Inc. All Rights Reserved.
データセンター
AWSによる運用


# Page. 15

![Page Image](https://bcdn.docswell.com/page/GJ55XLM8J4.jpg)

03
Infrastructure as Codeによって誰でもインフラを触れるようにしたい
AWS Cloud Development Kit
(AWS CDK)
AWS CDK(TypeScript)の採用
開発者がインフラを自分で開発して、プロダクト
開発に大きな裁量を持って自走できるようにする
ために、NewsPicksではAWS CDKを全面採用
[AWS Black Belt Online Seminar] AWS Cloud Development
Kit (CDK)
https://d1.awsstatic.com/webinars/jp/pdf/services/2020
0303_BlackBelt_CDK.pdf
©NewsPicks Inc. All Rights Reserved.
NewsPicksの開発者は普段からDynamoDBやSQS
をアプリケーションから利用していて、AWSの
SDKやサービスの開発知識を持っているので、
TerraformなどのDSLよりも、プログラミング言
語からSDKを使う感覚で利用できるCDK with
TypeScriptの方が読みやすく書きやすいと判断


# Page. 16

![Page Image](https://bcdn.docswell.com/page/LE3NXLWGE5.jpg)

03
EC2インスタンスからコンテナ化することで、やりたかったこと
AWSのマネージドサービスを利用して、運用コストを削減できること
○
ログはサーバー外で一元管理・参照できる（ CloudWatch Logs,S3)
○
EC2インスタンスのメンテナンスや EOLに対応する必要がなくなる
○
アプリケーションに必要な最低限のリソースで運用できるようになる
○
セキュリティ対応の範囲を限定し、バージョンアップも楽になる
インフラの設定がすべてコードで管理できるようになること
○
インフラの影響調査が楽になり、変更反映のリードタイムが短くなる
○
開発環境の増設など、開発者のニーズに合わせた横展開も容易になる
○
CI/CDやプッシュ通知の AutoScalingなどサービス運用に適した自動化ができる
○
開発者もインフラにコントリビュートできるようになる
©NewsPicks Inc. All Rights Reserved.


# Page. 17

![Page Image](https://bcdn.docswell.com/page/8EDW2NKN7G.jpg)

03
もっとも多くの開発者が開発し、コードベースの大きい
newspicks-serverとbatchを対象にコンテナ化
システム概略図
(〜2021)
AWS Cloud
Application Integration,
Management &amp; Governance
SQS
SNS Parameter Store
Analytics services
Redshift
Glue Data Pipeline
EC2 instances
スマホアプリ
Auto Scaling group
Database services
社内・法人向けシステム
…
…
Aurora
Web
newspicsks-server
DynamoDB ElastiCache
ECS containers
Lambda functions
feed services
…
…
search
batch
billing services
…
©NewsPicks Inc. All Rights Reserved.
Storage
S3
S3 Glacier


# Page. 18

![Page Image](https://bcdn.docswell.com/page/V7P915KNJ8.jpg)

03
CDKを利用したAWSインフラストラクチャのIaC化
AWS CDK(TypeScript)で
Infrastructure as Code(IaC)を実現
Constructという概念がありインフラの構成を部
品化して再利用できるので、
開発環境や開発者サービスを横展開しやすい
TypeScriptの型を利用したインフラ設定における
型制約の利用や、単体テストが書けることで、
開発者体験とインフラ品質が両立できる
©NewsPicks Inc. All Rights Reserved.


# Page. 19

![Page Image](https://bcdn.docswell.com/page/2JVMYPVYJQ.jpg)

03
ChatOps + Step Functionsによる安全なリリースの自動化
ChatOpsでリリースの心理的安全性を向上
ECSサービスを本番/Canaryで用意し、ALBの
Target Groupで数%をCanaryにルーティング
Canaryで事前E2Eテスト・リリース判断ができる
上に、ロールバックもボタン一つで自動化
詳細は
「NewsPicks ChatOps」
で検索して
ブログ記事をどうぞ
©NewsPicks Inc. All Rights Reserved.


# Page. 20

![Page Image](https://bcdn.docswell.com/page/5EGG9PLWEL.jpg)

02
コンテナ化の中で、最も中核となるバックエンドAPIだけはonEC2
システム概略図
(2023〜)
AWS Cloud
ECS containers
Analytics services
web services
…
スマホアプリ
Application Integration,
Management &amp; Governance
services
ECS onbffEC2
…
SQS
SNS Parameter Store
Database services
Redshift
Glue Data Pipeline
社内・法人向けシステム
(コンテナ化予定)
api services
…
Web
batch services
…
…
Aurora
DynamoDB ElastiCache
ECS containers
Lambda functions
feed services
EC2 instances
search
(ECS&amp;OpenSearch Service化予定)
©NewsPicks Inc. All Rights Reserved.
…
…
billing services
…
Storage
S3
S3 Glacier


# Page. 21

![Page Image](https://bcdn.docswell.com/page/4JQXW2YQEP.jpg)

02
既存ワークロードを移行すると、Fargateでは料金が上がったため
EC2からECSに移行した際、コンピューティング
にFargateを選択すると同等のパフォーマンスを
出すのにコストが +40% かかった
NewsPicksではコンテナ化で +40%のコスト増は
許容できなかったためECS on EC2にした
メリットや実際の運用など、詳細はブログと発表
資料がありますのでご覧ください
https://tech.uzabase.com/entry/2022/12/01/175423
https://www.docswell.com/s/integrated1453/K6Q8X
K-operation-of-ecs-on-ec2
©NewsPicks Inc. All Rights Reserved.


# Page. 22

![Page Image](https://bcdn.docswell.com/page/K746KLWYE1.jpg)

04
開発者体験への効果と今後の改善点
©NewsPicks Inc. All Rights Reserved.


# Page. 23

![Page Image](https://bcdn.docswell.com/page/LJ1VXLYNEG.jpg)

03
諸々の課題の改善・解決
分類
課題
コンテナ化後
開発者にとって
インフラに関する認知負荷、
作業負荷
✅サービスの構成をAWSマネジメントコンソールで把握できるようになった
✅開発者はログ回収・調査のためにSSHしなくて良くなった。CloudWatch Logs
でログ調査できるようになり、サーバーの構成を意識する必要がなくなった
インフラの設定変更の
リードタイム
✅インフラの設定変更がコード化されたので、開発者自身がリポジトリのコード
を読んで、インフラ設定変更のPRが出せるようになった。開発者のプロダクト
開発の自走力が向上し、問題解決の幅が広がった
インフラの運用作業の工数
✅すべての設定がコード化されているため、サーバーに
SSHして設定調査しなくても本番
環境の設定を信じられる。変更をする際の工数が大幅に減った
✅AMIの管理から開放されたので、nginxやfluentdなどミドルウェアの設定変更を気軽に
できるようになった。開発者の要望に対応するリードタイムも短縮した
✅開発環境の増設が簡単にできるようになり、開発規模の変化に柔軟になった
✅ECSタスク・コンテナ単位のリソースモニタリングができるようになり、リソース効率の最
適化・コスト削減の判断がしやすくなった
✅EC2インスタンスのEOLやAWSのメンテナンスなどにほぼ対応不要になった
セキュリティの問題
✅ECRの脆弱性スキャンにより、OSやミドルウェアに対しても継続的な脆弱性管理を行
えるようになった(運用面には課題があるため別製品を検討中)
✅ミドルウェアやライブラリのバージョンアップを実施する作業負荷が減った
コードを修正しデプロイするだけなので、定期的に実施できるようになった
SRE
(インフラ担当)
にとって
©NewsPicks Inc. All Rights Reserved.


# Page. 24

![Page Image](https://bcdn.docswell.com/page/GJWLNV1ME2.jpg)

03
開発者によるインフラへのコントリビュートが、次々と😊
SREチームへのCDK/インフラのPRレビュー依頼のSlack
©NewsPicks Inc. All Rights Reserved.


# Page. 25

![Page Image](https://bcdn.docswell.com/page/4EZM34PMJ3.jpg)

03
コンテナ化後のNewsPicks開発者の声🥰
CloudWatch Logsやコンテナ環境のリモートデバッグをできるようにした反応
©NewsPicks Inc. All Rights Reserved.


# Page. 26

![Page Image](https://bcdn.docswell.com/page/Y76NX3M57V.jpg)

04
●
まとめ
よかったこと
○
コンテナ化・IaC化によって、SREチームの生産性や開発効率が上がり、
よりサービスやプロダクト開発のためになるテーマに注力できるようになった
○
CDKによるIaC化で開発者自身でのインフラへのコントリビュートが容易になり、
「ユーザーのためにできることはなんでもやる」文化のNewsPicksで、
開発者がプロダクト開発のフルサイクルを自走して活躍できる幅が広がった
●
今後やっていきたいこと
○
インフラのモニタリング精度を上げてリソース効率とコストの最適化を進めたい(円安なので)
○
まだ他にEC2で動いているサービスをすべてコンテナ化・IaC化したい
○
より開発者体験を高めて、SLOモニタリングの啓蒙やセルフサービス化など
信頼性を高める活動への支援も提供していきたい
©NewsPicks Inc. All Rights Reserved.


# Page. 27

![Page Image](https://bcdn.docswell.com/page/G755XLZG74.jpg)

ご清聴ありがとうございました！
NewsPicksではエンジニアを積極採用中です！
https://tech.newspicks.com
©NewsPicks Inc. All Rights Reserved.


