Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Sansan のインフラ概要
Search
satoshi-iwashita
August 01, 2016
Technology
3
1k
Sansan のインフラ概要
2016/7/28 に開催された Sansan×gloops インフラ合同勉強会で発表したスライドです
compass ->
http://connpass.com/event/33442/
satoshi-iwashita
August 01, 2016
Tweet
Share
Other Decks in Technology
See All in Technology
ハッカソン by 生成AIハッカソンvol.05
1ftseabass
PRO
0
150
CursorによるPMO業務の代替 / Automating PMO Tasks with Cursor
motoyoshi_kakaku
2
820
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
240
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
320
本が全く読めなかった過去の自分へ
genshun9
0
730
解析の定理証明実践@Lean 4
dec9ue
1
210
OPENLOGI Company Profile for engineer
hr01
1
33k
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
260
20250625 Snowflake Summit 2025活用事例 レポート / Nowcast Snowflake Summit 2025 Case Study Report
kkuv
1
370
rubygem開発で鍛える設計力
joker1007
3
290
作曲家がボカロを使うようにPdMはAIを使え
itotaxi
0
400
Flutter向けPDFビューア、pdfrxのpdfium WASM対応について
espresso3389
0
110
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Invisible Side of Design
smashingmag
300
51k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Adopting Sorbet at Scale
ufuk
77
9.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Practical Orchestrator
shlominoach
188
11k
RailsConf 2023
tenderlove
30
1.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Transcript
Sansan インフラの概要
自己紹介 なまえ :岩下訓 (いわしたさとし) しょぞく : Sansan 事業部開発部 弱小ブログ :
http://rriifftt.hatenablog.com/ けいれき : → バーテンダーしたり DJ したり → NW エンジニア(SIer) → Sansan そろそろ 5 年目
Sansan のインフラエンジニア • 法人向けサービス Sansan • 個人向けサービス Eight • 名刺をデータ化するバックエンド
Operation • 社内インフラ それぞれの部門に、それぞれのインフラエンジニア
本日は 法人向けサービス Sansan のお話です
Sansan インフラのお仕事 • サーバの設計、構築 • システム運用、改善 • インシデント対応 • セキュリティへの対応
• 費用のこと > 事業欲求、優先度に応じて柔軟に対応 > インフラとしてやれることはなんでもやる (なんでもやるとは言っていない)
• 日々の運用 ◦ グラフ みたり、ログ見たり、 alert 対応したり、証明書更新したり • インフラのタスク ◦
OS バージョンアップしたり、 WAF 導入したり • プロジェクトへの参画 ◦ ログ運用改善とか、DB スケールアウトとか > 複数並行は日常的 お仕事の進め方
Sansan インフラ構成の超概要 • オンプレ期の構成を改善していくスタイル • 目新しいことは特にやってません
Web / API • IIS 8.5 • .NET Framework 4.5.2
( 4.6.1 に移行中) • chef ◦ powershell (not dsc) ごりごり ◦ chocolatey • NewRelic • fluentd for Windows • AD ドメインへの参加
Batch • IIS 以外は Web / API とほぼ同じ構成 • 70
以上のタスクが稼働 • タスクスケジューラで頑張っている ◦ つらい ◦ dc/os に期待
DB • PostgreSQL 9.3 ◦ 全てのデータをオンメモリで保持 ◦ 自前の水平分散アーキテクチャ ▪ 20
強の DB インスタンスが稼働 ◦ pgpool + heartbeat を用いたクラスタリング ◦ Streaming Replication (非同期) ◦ chef ▪ クラスタ構成までやるので割と複雑 ◦ メンテナンス用途に pg_reorg 活用 ◦ LDAP 認証
Cache • Redis 2.6 ◦ Session や検索結果などをキャッシュ ◦ 永続化を前提としないデータストアとして利用 ◦
自前で冗長化 ▪ shellscript ◦ 絶賛 3.2.1 への移行作業中
monitoring • icinga ◦ 死活監視 / サービス監視 ◦ 自前のプラグインが多数稼働中 ▪
bash / python / node • munin ◦ リソース監視 ◦ そろそろ重たい > mackerel or zabbix への移行を計画中
少しずつ複雑化するインフラ • Windows : 40% / Linux : 60% の混在環境
• shellscript / python / powershell • 機能増加と役割増加 • スケールアウトの必要性 > システムの課題が浮き彫りになっていく
様々な課題 • 使われている技術が散らかる • 手順書の再利用が大変 • 実際の状況を把握することが困難 • Windows のことが好きなインフラエンジニアがいない(当社比)
> インフラの構築、運用改善にスピードがでない
ということで (もはや、やっていないと人間として扱われない風潮にも後押しされ ) Infrastructure as Code を推進 • chef •
serverspec > これらを gitlab で管理
サーバ構築の流れ • 実装 ◦ chef / bash / powershell /
python / 各種 configuration などなど • レビュー • 各環境(develop/staging/production)のブランチにマージ • chef でプロビジョニング • serverspec でテスト
chef • chef-server / chef-client / knife [ssh|winrm] を活用 ◦
構築だけでなく日々の運用でも活躍 ◦ 自動 PULL まではやっていない (事故がこわい) • Windows / Linux 混在に適しているとされているが ◦ OS の違いを吸収させるのがしんどくなったのでリポジトリわけた • 30 role / 200 node を管理 • 基本的に cookbook は自前で書く
serverspec • 構築したインスタンスのテストを実施 • リズム良く書けて、何を気にしているかがわかる • カバー率はそこそこ • テストファーストまではまだまだ •
他ツールとの連携を強化したい ◦ CI だけでなく監視組み込むとか
Infrastructure as Code をがんばってみて 基本的にいいことばかりだった • サーバ構築の時間短縮 • コード化されたことで見通しがよくなった •
高い再利用性 • 引き継ぎコストの減少
Infrastructure as Code で幸せになった とは言い切れず、よくあるようなつらみもあります • ツールそのものとツールの周辺言語の学習コストが高い • 役割が異なるリポジトリの乱立
先輩 Said... 「人間は 2 種類しか存在しない。オシャレか、オシャレじゃないかである」
オシャレになりたい 課題はたくさん • インフラの CI • テストの充実 • イケてるデプロイ •
オートスケール 少しずつ進めています
まとめ インフラはやることいっぱい
ご清聴ありがとうございました