Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ピクスタのエンジニアリングとCircleCI / Software Engineering w...
Search
Yuichi Goto
January 16, 2020
Technology
500
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ピクスタのエンジニアリングとCircleCI / Software Engineering with CircleCI at PIXTA
CircleCI ユーザーコミュニティミートアップ#8(2020/01/16)
Yuichi Goto
January 16, 2020
More Decks by Yuichi Goto
See All by Yuichi Goto
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
840
[Teaser] Type-Safe Lightweight DDD with Effect Schema
yasaichi
3
640
Google Cloud を用いたソフトウェア開発の内製化組織の早期立ち上げの実現 / Rapid Establishment of In-House Software Development Teams Using Google Cloud
yasaichi
1
1.7k
[EN] Robust and Scalable API Gateway Built on Effect
yasaichi
3
510
Effectで作る堅牢でスケーラブルなAPIゲートウェイ / Robust and Scalable API Gateway Built on Effect
yasaichi
9
2.5k
あるRailsエンジニアがビジネスリーダーに転身するまで
yasaichi
9
3.5k
Active Recordから考える次の10年を見据えた技術選定 / Architecture decision for the next 10 years at PIXTA
yasaichi
50
23k
Active Recordから考える次世代のRuby on Railsの方向性 / Directions for the next generation of Ruby on Rails: From the viewpoint of its Active Record
yasaichi
38
22k
Ruby on Railsの正体と向き合い方 / What is Ruby on Rails and how to deal with it?
yasaichi
147
96k
Other Decks in Technology
See All in Technology
From Developer Experience to Agentic Experience: The Next Evolution of APIs
benjagm
0
120
Steerable Visual Representations
sansantech
PRO
0
320
野良MCPサーバーを排除せよ!MCPサーバーのガバナンス
yukiogawa
1
200
AI駆動開発における開発環境のセキュリティの考え方
yamahiro
2
490
Practical ransomware detection on macOS (via maths, not AI)
patrickwardle
0
110
ガチで放置できるClaude Code実行環境の作り方.pdf
lamaglama39
5
9k
Claude Code をローカルとサーバー上で利用した際の Bedrock 利用料をユーザー単位で一本化してみる
ohorig
0
130
企画を Software Factory-ready にする——開発が高速になったとき、PdMの仕事はどう変わったか
yachibit
1
200
価値について
gree_tech
PRO
0
160
「作れる」と「リリースできる」の間にあったもの── PdMを外して見えた、PdMがやるべき仕事/Buildable ≠ Shippable: What Removing the PM Taught Me About the PM’s Job
yappli_developers
0
110
Microsoft のサポート ライフサイクルを理解する
murachiakira
PRO
0
140
BacklogのRAG 今ならこう作る - S3 Vectorsと自前パイプラインの勘所
revsystem
0
110
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
610
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
790
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Statistics for Hackers
jakevdp
799
230k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
760
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Transcript
ピクスタのエンジニアリングとCircleCI Yuichi Goto (@_yasaichi) January 16, 2020 @ CircleCI ユーザーコミュニティミートアップ#8
self.inspect ! Yuichi Goto ! @_yasaichi " yasaichi " ピクスタ株式会社
執行役員CTO兼開発部長 2
コーポレートサイトトップ: https://pixta.co.jp 3 [PR] ピクスタはクリエイティブプラットフォームを創る会社です
Agenda 4 1. ピクスタにおける技術の位置づけ 2. ピクスタにおけるCircleCI活用事例 3. まとめ
目指すエンジニアリング組織像 • あるべき姿: 経営課題の達成に必要な要求に対して、質の高いアウトプットを速く継続 的に出せている状態 • ギャップを埋めるためのアプローチ: 仮説検証サイクルを高速化し、不確実性を乗りこなせる組織を作る 5
ソフトウェア技術の位置づけ • 位置づけ: 仮説検証サイクルのボトルネックを解消する手段のひとつ • KPI: • サイクルタイム(コードを書き始めてからデプロイ可能になるまで) • 開発者1人あたりの1日のデプロイ件数
• MTTR(Mean Time To Recovery、平均修復時間) 6 こう自分に言い聞かせないと好きに技術を使ってしまう…
CI/CDパイプラインへの期待 • 高速な自動テストの実行によりコードの誤りにすぐ気づけるようにし、手戻り (≒サイクルタイム)を減らしたい • デプロイ作業の自動化・高速化により、気軽にリリースできるようにしたい • 任意時点の本番環境にすぐ切り戻せるようにし、障害を最小限に抑えたい 7 CI/CDパイプラインの構築・改善は広範な問題を解決できる
Agenda 8 1. ピクスタにおける技術の位置づけ 2. ピクスタにおけるCircleCI活用事例 3. まとめ
https://pixta.jp 9 事例1: PIXTA(デジタル素材のマーケットプレイス)の場合
PIXTAにおける課題と解決策 • 課題: 10年近い歴史のある"本体"アプリケーションの自動テストの実行に マシン一台だと数時間かかり、CIの結果を待たずにデプロイされてしまう • 解決策: 1. RRRSpec(by Cookpad)の導入による自動テストの並列分散実行
2. ↑のEOLにより、当時トライアルだったPerformanceプランを採用して CircleCIに移行し、並列実行はそのままに運用負荷の低減を実現 10 明らかにボトルネックだったとわかる
https://fotowa.com 11 事例2:fotowa(出張撮影プラットフォーム)の場合
fotowaにおける課題と解決策 • 課題: Kubernetes導入に伴い、自動テストが通ったらDockerイメージを ビルドしてクラスタにデプロイしたい(もちろん全て自動で) • 解決策: 1. Workflowsを使ってビルドジョブの後に`setup_remote_docker`で Dockerイメージをビルドし、ECRにpush
2. pushをフックにしてCodePipelineが起動し、EKSクラスタにデプロイ 12
補足: その他のマネージドCI/CDサービスの採用事例 • CodeBuild: デプロイ自動化のみ必要な場合(例: CMS)に利用 • GitHub Actions: https://github.com/pixta-dev/repository-
mirroring-action を作り、GitHub → CodeCommitへのミラーに利用 13 CIは基本CircleCI、CD+αは各サービスで行う、という使い分け
Agenda 14 1. ピクスタにおける技術の位置づけ 2. ピクスタにおけるCircleCI活用事例 3. まとめ
まとめ • 速く継続的に経営課題を達成するために、エンジニアリング組織としては 仮説検証サイクルの高速化にフォーカスしている • 技術は仮説検証サイクルのボトルネックを解消する手段のひとつ • CI/CDパイプラインの構築・改善は広範な問題を解決でき、てこが効く • 用途に応じてCircleCIとその他マネージドサービスを使い分けている
15
ご清聴ありがとうございました 16