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
20140221_geechs.pdf
Search
wadap
February 26, 2014
0
67
20140221_geechs.pdf
wadap
February 26, 2014
Tweet
Share
More Decks by wadap
See All by wadap
20200311_コネヒト_リモートワークを支える文化
wadap
2
2.5k
副業が難しいと思う理由
wadap
3
590
2016-11-10_chuo_university
wadap
2
3.8k
how_to_survive.pdf
wadap
0
100
how_to_choose_technology
wadap
7
4.2k
nanapiの会社風土と文化づくり
wadap
2
23k
20140826_nanapi_engineer_culture_pub.pdf
wadap
2
130
nanapiの開発現場をどのようにして回しているか
wadap
40
11k
nanapi TechBlog
wadap
1
6.9k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Six Lessons from altMBA
skipperchong
26
3.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Scaling GitHub
holman
458
140k
Rails Girls Zürich Keynote
gr2m
93
13k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
For a Future-Friendly Web
brad_frost
175
9.4k
Fireside Chat
paigeccino
32
3k
Agile that works and the tools we love
rasmusluckow
327
21k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
41
2.1k
Transcript
geechs night 株式会社nanapi Co-Founder 取締役 執行役員 CTO 和田修一
Intruduction
自己紹介 • 和田修一 / @wadap • 1981年生まれ • 株式会社nanapi Co-Founder(共同創業者)
取締役 執行役員 CTO • サーバインフラ〜サーバサイド開発が得意分野 • I love emacs!
αʔϏεհ w ੜ׆ͷܙ͕ू·ΔαΠτ IUUQOBOBQJKQ w ༷ʑͳϋπʔΛఏڙ͢Δα Πτͱͯ͠ϦϦʔε w ݄̍̕ϦϦʔε w
݄ؒສ66 ݄ؒສ7JTJUPS
αʔϏεհ • 即レスQAアプリアンサー 「アンサー」で検索! • 質問してから数分以内に回答 がくるのが特徴 • 2013年12月リリース LineQとリリース被った!
個人的にやってること 6/*9తͳΞϨ IUUQXBEBQIBUFOBCMPHDPN ࿈ࡌˏHJIZPKQ ࠷ۙॻ͍ͯͳ͍ IUUQHJIZPKQBENJOTFSJBMVOJY
• Unixの入門講座 http://schoo.jp/class/286 • スライドだけならすぐに見ら れるので興味あればどうぞ スクーで講義もやりました
略歴 • 2005年 新卒にて楽天株式会社へ入社 システム知識ゼロ、配属されてから技術を学ぶ サーバ・インフラ系の部署に配属される • 2009年 楽天を退職し、弊社代表の古川と起業 ロケットスタートCTO(旧社名)に就任
主にやっていること • テクノロジーの文化を社内に浸透させること • エンジニア・デザイナーの採用活動 • nanapiのプロダクトすべてのインフラまわり • 新規事業の立ち上げのリードエンジニア
• 最近のこの取材で話してます http://itpro.nikkeibp.co.jp/ article/COLUMN/20140212/ 536209/ テクノロジーの文化?
How to manage the infrastructure
従来のインフラ管理 $ ssh server $ wget http://ftp.meisei-u.ac.jp/httpd/httpd-2.2.22.tar.gz $ tar xvfz
httpd-2.2.22.tar.gz $ cd httpd-2.2.22 $ ./configure $ make $ make test $ sudo make install
手順書は運用できない • その手順書はメンテナンスされている? • 手順書通りに開発環境も本番環境もつくられてる? • 個々の開発環境を使いたいときどうするの? • 100台のサーバでも同じことできんの? etc…
Infrastructure as Code
• インフラにおける作業を独自 DSLで記述することができる • Rubyで直接書くことも可能 • OSの違いなども抽象化するこ とで吸収 • 同様のツールでPuppet
Chefを使った管理
以下のrecipeで実現 remote_file "/tmp/httpd-2.2.22.tar.gz" do source "http://ftp.meisei-u.ac.jp/httpd/httpd-2.2.22.tar.gz" owner "root" group "root"
mode "0644" end ! script "install httpd" do interpreter "bash" user "root" cwd Chef::Config[:file_cache_path] ! code <<-EOH tar xf httpd-2.2.22.tar.gz && cd httpd-2.2.22 ./configure make && make test && make install EOH end
Code Review
• Chef用に書かれたコードは Github上で管理 • メインメンテナはインフラ担 当(いまは私) • アプリ担当者からの変更依頼 はPull Requestベースで受け
入れる インフラもコードレビュー
Chefの実行
新規環境構築 $ git clone
[email protected]
:nanapi/cookbooks.git $ cd cookbooks $ vagrant
up nanapi
Infrastructure as Code • コード化しておくことで、開発・本番環境すべてに おいで最新の環境を保つことができる • 開発・本番ともに新規環境構築はすべて自動 • 変更履歴もGit上で追うことができ、PullRequest
ベースで設定ファイルもレビューできる
これからやりたいこと • TDD(Test-driven development)のインフラ導入 • CircleCIなどを使用した、インフラにおける継続的 インテグレーション
• https://github.com/wadap/ emacs-chef • chefをより快適にかくための emacsマイナーモード • まだ実装中。思い出してpush したくらいのレベル 趣味的な活動
ΤϯδχΞɾσβΠφʔืूதʂ