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
920
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
VSCodeの拡張機能を作っている話
ebarakazuhiro
1
320
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
210
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
190
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
3
12k
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.9k
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.5k
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
220
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
2
840
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
390
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
0
170
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
140
On Your Data を超えていく!
hirotomotaguchi
2
660
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Design by the Numbers
sachag
274
18k
Code Reviewing Like a Champion
maltzj
514
39k
Being A Developer After 40
akosma
57
580k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Producing Creativity
orderedlist
PRO
337
39k
Debugging Ruby Performance
tmm1
70
11k
Designing the Hi-DPI Web
ddemaree
276
33k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
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 • テストの充実 • イケてるデプロイ •
オートスケール 少しずつ進めています
まとめ インフラはやることいっぱい
ご清聴ありがとうございました